如何防止来自前端的“GET斜杠”http DDoS攻击

昨天我们运行Apache2.2的networking服务器从僵尸networking获得了DDoSed,造成九(9)小时的停机时间 。 攻击者只是创build了太多的“GET /”连接,导致我们的服务器到达CPU负载100,最终拒绝进一步的连接。 在这些web服务器的前面,有一个带有haproxy的pfsense机器,负载均衡连接到web服务器。

我们试图阻止来自pfsense的ips,但是这些连接仍然在通过。 当DDoS已经停止,当我们意识到由于已经build立的连接仍然通过, 当我们创build规则时,我们没有指定它也应该适用于已build立的连接。 我们还不知道,自从附件完成后,这样做是否会奏效。

我们在Apache上实现了modsecure,但是由于X-Forwarded-For的原因,我们意识到它没有像预期的那样工作。 Modsecure正确地识别了IPS,但是当遇到阻塞的时候,它拒绝了负载均衡器的IP(需要安装mod_remoteip)。 当我们在web服务器上使用mod_evase时,攻击完成了。

我在DDoS对策上做了一些功课,但是我仍然有一些问题,我没有设法回答自己。

1)你可以阻止来自pfsense /前端在层4级的“GET /”请求,所以连接不会到达后端?

我看到有可能限制一个IP的连接,但是当攻击者创build一个单独的连接(保持活动状态),然后通过这个连接发送所有的“GET”请求时,这会有帮助吗?

2)阻止对前端(比如防火墙 – 负载均衡)或后端的攻击是否更好?

您将无法看到第4层的“GET /”。仅在第7层可用。

尽可能远离后端阻止攻击是最好的。 越早缓解,效果越好。 你希望它消耗尽可能less的资源。 如果你可以在负载平衡器上阻止它,太棒了! 在防火墙,甚至更好! 最好防止它们一起进入你的networking。

僵尸networking可以很容易地压倒你的互联网链接。 如果有人真的打算让你失望,你需要外部缓解。