Брандмаулд - Утиліта управління BrandMauer, доступна майже у всіх розподілах Linux. Працює як інтерфейс для iptables. У цій статті ми розглянемо, як налаштувати порти портів у Linux за допомогою Firewalld.
Технологія Переадресація порту Він широко використовується для прозорого перенаправлення вхідного трафіку з певного порту до іншого порту та/або IP -адреси. Найчастіше він використовується, коли вам потрібно отримати доступ до зовнішньої мережі для NAT (порт порту з білої IP -адреси до сірого). Зовнішній клієнт підключений до певного порту на маршрутизаторі, і він перенаправляє його на правий хост всередині локальної мережі. Або, наприклад, коли ви хочете закрити порти серверів, потенційно небезпечних для нападу, але не втратити зв’язок з ними.Статус служби брандмаулд перевіряється командою:
# Статус брандмауму
У моєму випадку сервіс запущений, але в ньому налаштувань, оскільки сервер тестується. На сервері від Active Services лише SSH працює зі стандартним портом 22. Давайте спробуємо налаштувати переадресацію з нового порту TCP 6666 на 22, щоб ще більше закрити доступ до стандартного порту SSH із зовнішнього світу (своєрідний захист SSH від типових атак автоматичними сканерами; ви можете додатково використовувати fail2ban):
# Firewall-CMD --zone = public-Add-Masquarade-Permanent
# Firewall-cmd --zone = public -add -forward-port = port = 6666: proto = tcp: toport = 22: toaddr = ip-permanent
# Брандмауер-CMD-РЕЛОД
Де IP - Це ваша адреса сервера. Після зміни правил брандмауму, його потрібно перезавантажити. Оскільки IP -адреса може вказувати на адресу будь -якого іншого хоста в мережі, де ви хочете перенаправити всі запити.
Зверніть увагу, що Firewalld дозволяє кинути як порти TCP, так і UDP. У Windows вбудовані інструменти дозволяють перенаправляти лише порти TCP.
Тепер ви можете спробувати підключитися з комп'ютера Windows у локальній мережі на порту 6666 Linux Server. Ви можете використовувати вбудований клієнт SSH:
Ssh root@server2 -p 6666
Під час підключення Firewalld повинен автоматично перенаправити трафік з порту 666 на порт 22, і ви бачите банер SSH.
SSH має свої можливості для проходження портів через тунель.Так само ви можете кинути трафік з інших послуг. Наприклад, киньте порт 3333 до порту MySQL (TCP/3306). Такий сценарій може замаскувати вашу послугу MySQL, опубліковану.
# Firewall-cmd --zone = public -add -forward-port = 3333: proto = tcp: toport = 3306: toaddr = ip-перманент
# Брандмауер-CMD-РЕЛОД
Ви можете перенаправити вхідний трафік з певних підмереж або IP -індивідуальних адрес на необхідний порт. Наприклад:
# Firewall-CMD --перманент-Zone = public-Add-rich-crule = 'Правила родини = ipv4 джерела адреса = ip-client porter-port port = 2222 protocol = tcp to-port = 22 to-dentddr = ip -Server '
Де:
- IP-клієнт - Це адреса клієнта або окрема підмережа, для якої повинен працювати трафік трафіку трафіку;
- IP-сервер - Це адреса вашого сервера або віддаленого, де трафік буде надіслано через порти переадресації.
Усі запити із вказаної адреси або підмережі будуть відфільтровані через створене вами правило. Якщо IP -адреса джерела не відповідає правилу в загальнодоступній зоні, то вона не отримає доступу до цільового хоста.
Ви можете перевірити створені правила Firewald за допомогою команди:
# Брандмауер-CMD-Permanent-list -ll -zone = public
Зверніть увагу, пишучи статтю, ми працювали з громадською зоною. Ви можете використовувати будь -який інший і в цьому випадку, коли встановлюється, вам потрібно буде вказати.
Щоб очистити всі правила, налаштовані на Firewalld, вам потрібно виконати кілька команд:
# Cp -pr/etc/firewald/zones/etc/firewalld/зони.Бак
# rm -f/etc/firewalld/зони/*
# SystemCtl перезавантажте брандмаулл
Як бачите, всі правила були очищені.
Firewalld має потужні можливості для налаштування різних правил не лише для відкриття/закриття портів серверів або фільтрації, але й знає, як тонко і досить просто налаштувати порти переадресації.