Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1202788
  • 博文数量: 272
  • 博客积分: 3899
  • 博客等级: 中校
  • 技术积分: 4734
  • 用 户 组: 普通用户
  • 注册时间: 2012-06-15 14:53
文章分类

全部博文(272)

文章存档

2012年(272)

分类: 网络与安全

2012-06-26 16:14:00

这几天圈内关于 Slowloris 的讨论比较多,原因是 RSnake 的一篇文章 

http://ha.ckers.org/blog/20090617/slowloris-http-dos/

Sowhat 也写了点评论

http://hi.baidu.com/secway/blog/item/c7aca3a28f9521a4cbefd0e2.html

这种攻击是很古老的攻击了,apache的连接数有限(并发),配置文件里可以更改,如果这个连接数到达了上限,就不能接收新的请求了,所以就被dos了。

发起攻击的时候一般是攻击者占住一个连接不让apache释放,就可以累计占用连接数。

Harry同学说,他有更好的方式来达成这个效果,而不是用Slowloris 里的方式
1.- send a content-length header without sending enough data
2.- use the keep-alive header and an incomplete request
3.- send a lot of small headers very slow


应该还有更多的方式。


而apache的人则不认为这个是他们的问题,认为这个是feature,因为这项是可配置的。

http://httpd.apache.org/docs/trunk/misc/security_tips.html#dos

Apache的很多配置选项比如 Timeout, KeepAliveTimeOut, MaxClients 等都可以用于缓解这种dos的。

而我们认为这种攻击容易防御的原因,是在于
1. 攻击者没有abuse IP,所以源IP可查,如果abuse了,就变成DDOS了,就该辅助用防DDOS的手段

2. 这种攻击特征明显,容易block



所以很明显,解决方案有以下几种
1、修改apache的配置文件以缓解

2、写一个apache mod专门处理这种攻击,或者使用现有的比如 mod_evasive, 或者是 mod_security 再辅助其他手段进行block

3、配置 Iptables, 对于连接最多的IP进行block


4、使用WAF,或者其他前置的网络设备,自己配置条规则

其中关于3还是harry告诉我的,以前没用过iptables的这个功能,有兴趣的倒不妨研究研究。

而这些天听说有很多小网站被dos,apache的受害最大。应该是很多人拿了slowloris这个工具在滥用。而 Apache 的 default 配置对此类攻击并没有防御效果,导致了攻击的猖獗。Default Insecure, 也是 RSnake 坚持认为这是 Apache 漏洞的原因。


Resource Limit Attack
在我看来,这属于典型的 Resource Limit Attack的一种。与之前的 Server Limit Dos 类似。

现在的很多应用中,都会有各种各样的 Limit , 如果这些 Limit 的值被恶意填满,就会造成一种DOS。设计者在设计时如果没有考虑到这种情况,随意设置 Limit,就容易造成安全隐患。

RSnake 最新的一篇blog也表明了另一种附带的Resource Limit。

http://ha.ckers.org/blog/20090620/http-longevity-during-dos/

他提到在测试 Slowloris 的时候,不全是返回服务器错误,有时候还返回DB错误,猜测可能是因为DB也限制了连接数,先达到了这个限制导致问题发生。

类似的 Limit 还有 PHP 的 Memory Limit 等等,所以一个 Memory Leak 才会这么可怕,Limit达到后,应用也就被DOS了。
阅读(1323) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~