我们正在使用Suse Linux Enterprise Server 12.我们需要阻止并发IP地址,这些地址每秒触发我们的Web服务器超过50次并阻止该IP地址10分钟。此外,它应该区分攻击者和真正的流量,并永远阻止攻击者的IP。我们目前阻止使用iptables,下面是规则。
iptables -I INPUT -p tcp --dport 443 -i eth0 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 443 -i eth0 -m state --state NEW -m recent --update --seconds 1 --hitcount 50 -j DROP
它只会阻止超过50个连接的IPAddress,但不会将IPAddress列入黑名单。如果我们的脚本符合上述所有方案,请告诉我们。请帮助。
答案 0 :(得分:0)
我对此进行了测试,效果非常好。如果检测到该行为,则将IP置于保持状态10分钟并记录。您可以通过观察这些文件来验证它的操作。 / proc / net / xt_recent / NICE,/ proc / net / xt_recent / NAUGHTY。如果要永久黑名单,则需要构建一个脚本来解析日志中的坏IP并将它们提交到启动时加载到iptables的文件中。这个概念已经很清楚,所以我不需要包含它。
#flush and clear
iptables -F -t nat
iptables -F
iptables -X
#this is where naughty kids go
iptables -N GETCAUGHT
#you got added to the naughty list
iptables -A GETCAUGHT -m recent --name NAUGHTY --set #everyone here is bad
iptables -A GETCAUGHT -j LOG --log-prefix "iwasbad: " --log-level 4 #and it goes on your permanent record
#if you are on the NAUGHTY list you get a lump of coal
iptables -A INPUT -i eth0 -m recent --name NAUGHTY --rcheck --seconds 600 -j DROP #check everyone at the door
#though everyone starts out on the NICE list
iptables -A INPUT -i eth0 -p tcp --dport 443 -m conntrack --ctstate NEW -m recent --name NICE --set #you seem nice
#but if you GETCAUGHT doing this you are naughty
iptables -A INPUT -i eth0 -p tcp --dport 443 -m conntrack --ctstate NEW -m recent --name NICE --seconds 1 --hitcount 50 --update -j GETCAUGHT #that wasn't nice