昨晚我的论坛遭受了 DDOS 攻击。我确认这是一次 HTTP 洪水攻击。 我做的第一件事就是启用 CloudFlare 检查您的浏览器。它阻止了大量请求,Apache 又开始响应了。
接下来,我在 MyBB 上收到一条消息,说打开了太多 MySQL 连接。所以我停止了 apache 和 MySQL。
我继续将连接限制提升到 10,000,我的网络服务器是否能够处理则是另一个问题,但限制不再会导致错误。
接下来我启动了 MySQL,然后是 Apache。由于要检查浏览器,此时攻击只有 200 个连接。
之后,我调整了 AWS 的防火墙设置,只允许来自 CloudFlare IP 范围的连接。然后保存了设置
此时网站已恢复。我是否遗漏了任何步骤。我如何才能阻止将来的 HTTP 洪水攻击?
答案1
您可以尝试使用 iptables 来防止 DDoS 的一些方法如下:
致残SYN Flood
攻击
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
限制来自同一 IP 地址的并发连接数
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m limit --limit 100/minute --limit-burst 500 -j ACCEPT
这里,允许 500 个新连接,但每分钟不能超过 100 个新连接的限制。
更多规则,你可以在这里找到 iptables 规则如何对抗最常见的 DoS 攻击?