Як виправити ці iptables?


0

Я намагаюся налаштувати мережевий брандмауер, і у мене виникають проблеми, тому що я постійно виганяю з SSH через помилки. Ось що я зараз маю:

# Custom Rules
iptables -F
iptables -X
iptables -P FORWARD DROP
iptables -N mc
iptables -A mc --src 123.456.789.1 -j ACCEPT
iptables -A mc --src 123.456.789.2 -j ACCEPT
iptables -A mc --src 50.50.50.50 -j ACCEPT
iptables -A mc -i lo -j ACCEPT
iptables -A mc -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A mc -m state --state INVALID -j DROP
iptables -A mc -j DROP

# Server Rules (Main Server)
iptables -A INPUT -p tcp --match multiport --dports 64000:64321 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --sport 53 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp -m udp --sport 53 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p icmp --source proxy.ovh.net -j ACCEPT
iptables -A INPUT -i eth0 -p icmp --source proxy.p19.ovh.net -j ACCEPT
iptables -A INPUT -i eth0 -p icmp --source proxy.rbx.ovh.net -j ACCEPT
iptables -A INPUT -i eth0 -p icmp --source proxy.rbx2.ovh.net -j ACCEPT
iptables -A INPUT -i eth0 -p icmp --source ping.ovh.net -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 22 --source cache.ovh.net -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -j mc
iptables -A INPUT -p tcp -m multiport ! --dports 20,21,22,80,443,9987,20117,25565 -j mc
iptables -A INPUT -j DROP

В основному:

  • Дозволити доступ до портів 64000: 64321
  • Дозволити доступ через TCP (від спорту 53) до портів 1024: 65535
  • Дозволити доступ через UDP (від спорту 53) до портів 1024: 65535
  • Дозволити доступ із запитів ICMP ping із перерахованих вище джерел
  • Дозволити доступ до порту 3306 за допомогою mcправил
  • Фільтруйте доступ з портів за 20,21,22,80,443,9987,20117,25565допомогою mcправил
  • Заборонити всі інші дані

1
Ви можете заглянути в iptables - застосовувати, щоб уникнути вигнання кожного разу, коли ви помиляєтесь.
user2313067

Відповіді:


0

Перш за все, "Фільтрувати доступ з портів 20,21,22,80,443,9987,20117,25565 через правила mc" з цим правилом:
iptables -A INPUT -p tcp -m multiport ! --dports 20,21,22,80,443,9987,20117,25565 -j mc
не працюватиме через знак оклику. Ваше правило працює для кожного порту, крім 20,21,22,80,443,9987,20117,25565. Якщо ви хочете "фільтрувати доступ з портів 20,21,22,80,443,9987,20117,25565 через правила mc", ви повинні використовувати:
iptables -A INPUT -p tcp -m multiport --dports 20,21,22,80,443,9987,20117,25565 -j mc

Наразі у вашій конфігурації ви дозволяєте доступ до ssh лише для однієї адреси джерела cache.ovh.net- у ваших основних INPUTправилах. Для з'єднань з іншими портами ви маєте правило:
iptables -A mc -m state --state RELATED,ESTABLISHED -j ACCEPT це дозволяє пов'язаним і встановленим з'єднанням працювати. Я думаю, що зв’язки з адресами джерела від ваших персональних правил mc повинні спрацьовувати, але для вашого головного INPUTправила слід додати щось подібне:
iptables -A INPUT -i eth0 -p tcp --dport 22 --source cache.ovh.net -m state --state RELATED,ESTABLISHED -j ACCEPT
відразу після цього рядка:
iptables -A INPUT -i eth0 -p tcp --dport 22 --source cache.ovh.net -j ACCEPT

Також слід перевірити настройки DNS. Чи ping.ovh.netвирішує правильну IP-адресу?

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.