linux – iptables速率限制模块问题

前端之家收集整理的这篇文章主要介绍了linux – iptables速率限制模块问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用iptables的速率限制模块来防止DoS攻击(我知道它不能阻止全面的DDoS,但至少它可以帮助减少攻击).

根据我的规则,我有类似的东西:

/sbin/iptables -A INPUT -p TCP -m state --state NEW -d xx.xxx.xxx.xx --dport 80 -m limit --limit 20/minute --limit-burst 20 -j ACCEPT

它工作得很好,直到昨晚有人正在不停地打我的80号码头.根据规则正在删除连接(如日志中所示).但是,它也使服务器对其他合法用户也不可用.

我不明白为什么会这样.我认为除了充斥服务器的用户之外,它不会影响任何其他用户.

是因为iptables不堪重负吗?

任何反馈将不胜感激.

谢谢!

解决方法

您的规则似乎没有指定任何特定来源.在一分钟内接受20个新连接后,它将停止接受新连接.

您需要使用最近的模块,以便iptables记住连接的来源,并阻止从同一地址连接太快的人.这需要两个规则:一个用于iptables以“学习”地址,另一个用于iptables以查看该地址在指定时间内到达服务器的次数

/sbin/iptables -A INPUT -p TCP -m state --state NEW -d xx.xxx.xxx.xx --dport 80 -m recent --set
/sbin/iptables -A INPUT -p TCP -m state --state NEW -d xx.xxx.xxx.xx --dport 80 -m recent --update --seconds 60 --hitcount 20 -j DROP

This article进入更多细节.

猜你在找的Linux相关文章