防止不间断拒绝服务


8

我以为我的服务器使用http-guardian是安全的,但显然不是。一些聪明的驴子不断用“ Keep-Dead”命中我的服务器,并使其崩溃。

我已经浏览了日志,但是除了普通的访问者之外,看不到任何能告诉请求的人,谁的浏览器正在快速将所有组件加载到繁忙的页面上。

任何意见,将不胜感激。


1
哦,对不起,我应该说。到目前为止,我设法在Keep-Dead上找到的唯一信息是在esrun.co.uk/blog/keep-alive-dos-script上。但是它没有有关如何阻止它的提示!

2
Pedantic注意:您永远都不安全。如果有人想让自己受够了,他们总是可以进入的。
ircmaxell 2011年

Answers:


6

禁用HTTP保持活动状态,或在Apache前面安装不受此影响的服务器作为代理。Nginx将是一个不错的选择。

该攻击似乎与Slowloris攻击相似,因为它利用了Apache的特定功能。防御起来很琐碎。

注意:如果您安装nginx,请在apache上禁用keep-alive,并在nginx上启用它。


3
保持生命不是很重要的功能吗?我可以暂时停用它,但可以永久禁用吗?
TheLQ

1
这可能会导致加载时间稍长,但这并不会导致您的网站无法为人们加载。在前面安装nginx是更好的解决方案。
devicenull

1
@devicenull这是否意味着尽管apache(或上游应用程序服务器)禁用了keepalive,客户端仍将从Keepalive连接中受益?那么,基本上不需要应用服务器和代理服务器都启用Keepalive吗?谢谢!
haxpor

@haxpor这是一个有趣的问题,希望有人能回答。
曼努埃尔

1

Keep-Dead通过发送HEAD请求同时保持TCP连接处于活动状态(保持活动状态,即脚本名称)来工作。这可能与对您的Web服务器的合法请求(可能主要是POST / GET)截然不同。要求您的IDS / IPS在短时间内检测到大量HEAD请求,并采取适当的措施。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.