你可以阻止多个连接的IP? (Apache ddos​​攻击)

我的服务器现在正在进行Apache ddos​​攻击。 有大量的单个IP地址与30多个连接。

当我使用这个SSH命令时:

netstat -n | grep ':80' | awk -F' ' '{print $5}' | awk -F':' '{print $1}' | sort | uniq -c | sort -n 

我得到这个:

  30 69.144.146.74 31 190.216.242.195 31 92.20.224.127 34 24.127.224.73 37 197.34.29.122 37 85.225.133.82 38 108.29.62.196 38 86.95.44.115 40 66.62.146.84 40 94.123.91.147 46 24.117.238.91 48 70.112.112.127 48 71.58.158.150 48 75.65.172.192 51 99.127.238.167 52 99.98.74.66 53 107.7.34.66 54 95.238.27.3 

我已经黑了100多个IP已经上市,但在5分钟内。 有50多个连接的所有新的IP。

我不知道该怎么做。 有没有办法只允许一个IP地址一次有1个连接? 或者,有防火墙可以防止这件事情? 我在这里吓坏了,这怎么解决? 谢谢。

有硬件/防火墙可以做到这一点。 您在apache级别的选项是一个称为“节stream”的function。 曾经有一个模块,但它似乎已被删除。

https://stackoverflow.com/questions/7467183/throttling-requests-by-ip-address-on-apache

这取决于严重性,但您始终可以尝试使用mod_evasive或mod_security 。 那些是软件防火墙,每个人在攻击的情况下做不同的事情。 如果你现在正在被攻击,我会build议使用mod_evasive ,因为它比mod_security更容易理解,并且可以很好的configuration。 mod_security是一个更好的长期解决scheme,但是您可能需要花费大量的时间进行适当的configuration,所以它不会妨碍您的服务器的预期行为。

检查fail2ban,也许检查你的iptables规则。

fail2ban是一个传统的,广泛使用和支持的工具,以解决您的情况和类似的。 它会将攻击你的IP列入黑名单(取决于你如何设置),为iptables添加一个特殊的链,并为攻击IP地址自动填充丢弃规则。