Код: Выделить всё
-A INPUT -p tcp -m tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m set --set blacklist src -j DROP
-A INPUT -p tcp -m tcp --dport 80 -m recent --rcheck --seconds 600 --name BLOCK1 --rsource -j DROP
-A INPUT -p tcp -m tcp --dport 80 -m recent --rcheck --seconds 180 --name BLOCK2 --rsource -j DROP
-A INPUT -p tcp -m tcp --dport 8080 -m recent --rcheck --seconds 180 --name BLOCK2 --rsource -j DROP
-A INPUT -p tcp -m tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 40 --connlimit-mask 32 -j DROP
-A INPUT -p tcp -m tcp --dport 80 -m string --string "GET / HTTP" --algo kmp --to 1024 -m hashlimit --hashlimit-above 3/min --hashlimit-burst 6 --hashlimit-mode srcip --hashlimit-name BLOCK1 -m recent --set --name BLOCK1 --rsource -j DROP
-A INPUT -s ip1/32 -p tcp -m tcp --dport 8080 -j ACCEPT
-A INPUT -s ip2/32 -p tcp -m tcp --dport 8080 -j ACCEPT
-A INPUT -s 127.0.0.0/24 -p tcp -m tcp --dport 8080 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8080 -m recent --set --name BLOCK2 --rsource -j DROP