IP表,可以限制每分钟的请求和超时IP吗?

我试图build立一个防火墙,限制每个IP 3个连接,并且如果在一分钟内> 30次连接尝试,也禁止IP一小时。 这仅适用于端口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本身非常适合pipe理INPUT,OUTPUT,MASQ等,但是它仅限于pipe理器服务,协议和超时源。

您必须安装Fail2ban并为您要pipe理的各种服务创build链。

检查这个链接,并完成它。

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/