如何最好地防御针对 Apache Web 服务器的“slowloris”DOS 攻击?

KPW*_*INC 33 web-server denial-of-service apache-2.2

最近,一个名为“slowloris”的脚本引起了人们的关注。slowloris 所做的基本概念并不是一种新的攻击,但鉴于最近的关注,我看到针对我们的某些 Apache 网站的攻击略有增加。

目前似乎没有任何 100% 的防御措施。

我们确定的最佳解决方案(到目前为止)是增加 MaxClients。

这当然无非是增加了对攻击者计算机的要求,实际上并不能100%保护服务器。

另一份报告表明,在 Apache 服务器前使用反向代理(例如 Perlbal)可以帮助防止攻击。

使用 mod_evasive 限制来自一台主机的连接数并使用 mod_security 拒绝看起来像是由 slowloris 发出的请求似乎是迄今为止最好的防御。

ServerFault 上有人遇到过这样的攻击吗?如果是,您采取了哪些措施来防御/预防?

注意:这个问题是针对 Apache 服务器的,因为我认为 Windows IIS 服务器不受影响。

Kri*_*aps 23

我经历过这样的袭击......在仲夏(6 月 23 日),你应该在乡下喝啤酒 :>

我把我的 Apache 放在了Varnish后面,它不仅可以防止slowloris,而且还大大加速了网络请求。

另外,iptables帮助了我:

iptables -I INPUT -p tcp --dport 80 \
         -m connlimit --connlimit-above 20 --connlimit-mask 40 -j DROP
Run Code Online (Sandbox Code Playgroud)

此规则将一台主机与端口 80 的连接限制为 20 个,这不应影响非恶意用户,但会导致无法从一台主机使用 slowloris。

  • +1 为 iptables 规则。 (4认同)

Max*_*ell 0

现在看来没有什么可以做的来限制服务器上每个 ip 的最大并发连接数了。