你能阻止具有多个连接的 IP 吗?(Apache DDoS 攻击)

你能阻止具有多个连接的 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 分钟内,所有新 IP 都建立了 50 多个连接。

我现在不知道该怎么办。有没有办法只允许一个 IP 地址一次有一个连接?或者,有没有防火墙可以防止这种情况?我快疯了,这怎么解决?谢谢。

答案1

有硬件/防火墙可以做到这一点。您在 Apache 级别的选项是名为“节流”的功能。以前有一个模块可以实现这一点,但似乎已被删除。

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

答案2

这取决于严重程度,但你总是可以尝试使用mod_evasive或者mod_security。这些是软件防火墙,它们各自在受到攻击时采取不同的反应。如果您现在受到攻击,我建议您mod_evasive立即使用,因为它比 更容易理解,mod_security并且从一开始就非常易于配置。mod_security是一个更好的长期解决方案,但您可能需要花费大量时间正确配置它,以免妨碍服务器上的预期行为。

答案3

检查fail2ban并可能检查你的iptables规则。

失败2ban是一款传统的、广泛使用和支持的工具,可解决您的情况和类似情况。它会将攻击您的 IP 列入黑名单,方法是(取决于您的设置方式)向 iptables 添加特殊链并自动填充攻击 IP 地址的丢弃规则。

相关内容