注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

老和山小和尚

敬天爱人

 
 
 

日志

 
 
 
 

一种HTTP应用层的DOS攻击  

2009-06-23 14:42:14|  分类: 系统管理 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
一种HTTP应用层的DOS攻击

一、攻击情况介绍
最近HTTP上的DOS(Deny Of Service:拒绝服务攻击)攻击方式被提出来(http://isc.sans.org/diary.html?storyid=6601)。虽然这种攻击不算新颖,据说以前也被提出过(http: //www.securityfocus.com/archive/1/456339/30/0/threaded),但是没有得到重视。

这种针对HTTP服务器的攻击很简单,就是不断发送没有完成的HTTP头,直到你的服务器耗尽所有的资源。攻击的方式如下:
1、首先向服务器发出如下HTTP头部:
GET / HTTP/1.1\r\n
Host: host\r\n
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.503l3; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; MSOffice 12)\r\n
Content-Length: 42\r\n
2、然后每隔一定时间继续发出一个自定义的头部:
X-a: b\r\n

须知根据HTTP协议,HTTP请求头部与请求主体的分隔是多一个\r\n。也就是说上述的HTTP头部一直没有发送完成,HTTP服务器会等在那里准备 接受余下的内容,一直到接受超时,然后关闭连接。默认的apache读取头部的超时据说是3000秒。

Apache的情况是,每接受一个连接新开一个进程或线程,这样新接受一个连接的资源消耗很大,我测试的过结果是,一般apache只需在超时时间内,持 续发送500个以上的包,apache就不会再接收新的连接了。

二、攻击工具介绍及结果

工具下载:http://ha.ckers.org/slowloris/
该工具就是根据上面的原理写出的一个测试工具。推荐在Linux或Unix下使用,具体的使用方法可以看下载文件后面的注释。它不像一般分布式DOS攻 击,就如它声称的一样,只需少量的资源和负载就可以让一台web server拒绝服务。

该网站的测试结果是:
1、攻击有效
Apache 1.x
Apache 2.x
dhttpd
GoAhead WebServer
Squid
2、攻击无效
IIS6.0
IIS7.0
lighttpd
nginx
Cherokee

根据我的测试结果,实际上对Nginx之类的服务器也有影响,需要耗尽Nginx所有的连接才能让其拒绝服务。可以肯定对所有web服务器软件都有影响,但是不像apache那么明显。至少,不会像攻击软件作者声称的那样,动用少量资源就可以成功攻击一台web服务器。
可以说,这是由于协议本身设计就是这样的,没有办法避免,就如Syn flood攻击一样。此类攻击比一般TCP层DOS攻击要好对付的是,由于HTTP协议一般是TCP连接,需要建立连接以后才能发动攻击,所以攻击者的定 位可以很快确定。


三、采取的对策
这里是我想到的一些应对方法:
1、减少HTTP头部连接超时的时间,尤其是HTTP请求中GET、HEAD方法的超时时间。注意一般POST方法的头部包含了上传的内容,所以传输时间 会很长,要避免将合法的请求提前关闭。
2、限定单个IP的连接数。缺点是,有些学校、大公司都通过NAT方式连接互联网,所以同一个IP的连接数会很多。
3、特别针对Apache,将Nginx此类反向服务器放在apache前面,用来撑连接,代理合法的请求。

采取这些方法以后,我想攻击者至少需要花相当多的力气才能让一台web服务器拒绝服务。


  评论这张
 
阅读(966)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018