В общем:
Правила брандмауэра обрабатываются в том порядке, в котором они установлены и отображаются (в выходных данных iptables -L -v -n --номера строк
, iptables -L -v -n -t nat --номера строк
, iptables-сохранить
и/или аналогичные команды).
Создание новых правил в неправильных цепочках и/или неправильном порядке приведет к нежелательным последствиям, нарушению функциональности, безопасности и/или блокировке действительного трафика.
Имейте в виду, что низкий уровень iptables
команды для управления вашим брандмауэром не всегда могут быть лучшим решением. Насколько я знаю, в Ubuntu предпочтительнее использовать инструментарий UFW, и он будет надежно работать вместе с fail2ban.
Fail2ban создает одну или несколько пользовательских цепочек (которые берут на себя большую часть тяжелой работы по блокировке определенных IP-адресов, которые ведут себя неправильно), например f2b-sshd
цепь. Обычно вы позволяете fail2ban управлять записями в этих цепочках.
Кроме того, fail2ban создает правила для пользовательских цепочек, которые он создает в ВХОД
цепь. Обычно эти правила должны прийти первый в ВХОД
chain перед любыми другими созданными вами правилами.
В вашей текущей конфигурации брандмауэра, когда вы используете iptables с -А
переключитесь на добавление новых правил в цепочку INPUT, все должно работать.
Выполнение следующих команд добавит обычные правила для создания брандмауэра, который разрешает ssh, http и https и блокирует весь другой входящий трафик.
iptables -A ВХОД -m состояние --state СВЯЗАННО, УСТАНОВЛЕНО -j ПРИНЯТЬ
iptables -A ВВОД -i lo -j ПРИНЯТЬ
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ПРИНЯТЬ
iptables -A INPUT -p tcp -m tcp --dport 80 -j ПРИНЯТЬ
iptables -A INPUT -p tcp -m tcp --dport 443 -j ПРИНЯТЬ
iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited