Я пытаюсь настроить брандмауэр, который ограничивает до 3 подключений на IP, а также запрещает IP на час, если> 30 попыток подключения за одну минуту. Это только для порта 80. Все это возможно с помощью iptables? Я также использую fail2ban.
До сих пор я ограничивал только соединения по IP, используя следующие
iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 15 --connlimit-mask 32 -j REJECT --reject-with tcp-reset
Есть идеи, какой модуль мне понадобится для этого?
Вот мои текущие правила
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-N fail2ban-ssh
-A INPUT -p tcp -m multiport --dports 22 -j fail2ban-ssh
-A INPUT -p tcp -m multiport --dports 22 -j fail2ban-ssh
-A INPUT -p tcp -m tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 3 --connlimit-mask 32 --connlimit-saddr -j REJECT --reject-with tcp-reset
-A fail2ban-ssh -j RETURN
-A fail2ban-ssh -j RETURN
Сам IPtables отлично работает для управления INPUT, OUTPUT, MASQ и т. Д., Однако он ограничен службами управления, протоколами и источниками для тайм-аута.
Вы должны установить Fail2ban и создать цепочки для различных видов сервисов, которыми вы хотите управлять.
Проверьте эту ссылку и сделайте это.
https://www.digitalocean.com/community/tutorials/how-to-protect-ssh-with-fail2ban-on-ubuntu-14-04
Проверить iptables недавний модуль
Вот хороший пример - http://thiemonagel.de/2006/02/preventing-brute-force-attacks-using-iptables-recent-matching/