针对web服务器进行DDOS攻击的防御方法和设备的制作方法

文档序号:7954944阅读:460来源:国知局
专利名称:针对web服务器进行DDOS攻击的防御方法和设备的制作方法
技术领域
本发明涉及web服务器,具体的说涉及为针对web服务器的DDOS攻击提供防御的方法和设备。
背景技术
用户网络浏览器获取互联网(Internet)站点网络信息时,在一般情况下,必须直接连接其Web服务器,对网页发送读取请求。Web服务器对用户进行响应,将信息传送回来。很多情况下,用户也可以通过代理服务器连接web服务器。
代理服务器是介于浏览器和Web服务器之间的一台服务器。使用代理服务器时,浏览器并不直接到Web服务器请求读取网页,而是向代理服务器发出请求。请求会先送到代理服务器。由代理服务器发起对Web服务器的请求,并将Web服务器回应的网页传送给用户浏览器。而且,大部分代理服务器都具有高速缓存的功能,它有很大的存储空间,不断将新取得数据储存到代理服务器的存储器上。如果用户浏览器所请求的数据在它本机的存储器上已经存在而且是最新的,那么它就不重新从Web服务器取数据,而直接将存储器上的数据传送给用户的浏览器。这样就能显著提高浏览速度和效率。
利用代理服务器的这一特性,针对Web服务器,网络上出现了一种新型的分布式拒绝服务(DDoS)攻击方式其原理是利用众多代理服务器模拟大量用户访问,向服务器动态页面(asp,php.aspx,jsp等)发送大量请求。这些页面可以是并不存在的页面。攻击者通过代理服务器隐藏其真实的互联网协议(IP)地址,因此很难对真正的攻击者进行防御。并且,由于网页并不存在,代理服务器无法直接将本机缓存的数据直接发给攻击者,只能将攻击者的请求发给web服务器处理。而web服务器处理这些请求的开销较大,通常会进行数据库查询等非常耗时的操作。由于这些操作不能立刻完成,web服务器会将未能处理完成的请求入队列缓存,从而很快占满web服务器应用层服务的连接数,达到拒绝正常用户访问的目的。例如,很多apache服务器能够处理的并发连接数不过是512或者1024,通过这种攻击,很容易造成拒绝服务(DoS)。甚至造成web服务器处理负荷过于繁重导致web服务器瘫痪。
图1是利用传输控制协议(tcp)连接交互信息进行DDoS攻击的典型过程的示意图。攻击者通过代理服务器在同一条tcp连接中,不断地向web服务器请求一个不存在的页面。如果攻击者同时启动多个攻击连接,会使得web服务器忙于处理攻击者发起的请求,从而达到抢占并占用web服务器应用层服务的连接数,最终导致DoS的目的。
由于此类攻击模拟正常用户的正常访问行为,当前的防火墙设备不能有效的防御此类攻击。
由于此类攻击模拟正常用户的正常访问行为,所以常用的SynFlood防御技术tcp代理不能对其进行有效防范。在一种现有技术中,针对这种攻击通常会在每个代理服务器上发起一定数目连接请求的特征,可以在防火墙类设备上对用户的流量进行管理,限定某个IP的带宽,或者针对每个IP地址进行连接数目的限制。在一定程度上可以防御此类攻击。
然而,通过对用户的流量进行管理,限定某个IP的带宽或者限定每个IP地址发起连接数目有以下局限性1.此类攻击是通过大量代理服务器发起的,每个代理服务器发起的攻击连接可能很少。如果限制每个IP的连接数,需要将连接数限制在很小的范围内才可能有效。但是,如果攻击者使用的代理服务器数量很多,那么攻击服务器的连接仍然很多。流量进行管理的方法就达不到防御的目的。
2.此类攻击主要针对服务器在处理动态网页时的性能瓶颈,而不是消耗服务器的带宽。因此较小的攻击流量仍然可以消耗大量的服务器资源,从而达到攻击的目的。
3.对用户的流量进行管理可能会影响正常用户对服务器的正常访问,导致上网速度慢等问题,影响用户体验。
在另一种现有技术中,由于此类攻击模拟正常用户的正常访问都需要通过代理服务器来完成,检测超文本传输协议(http)的请求(request)报文中是否存在某些特殊的能表示通过代理访问的信息,并以此确定这是一次代理访问并作相应的过滤。
该方案具备一定的防攻击能力,但是也存在一些问题1、这对真正在内部网络通过代理访问外部网络的请求会形成误判;2、http代理服务器的行为不可预测,对于那些不携带特殊信息的请求无法进行识别和过滤。

发明内容
本发明的目的是提供能够解决以上问题从而对DDoS攻击进行有效防御的方法。
防火墙通常放在服务器前面对服务器进行保护。本发明将通过在防火墙等中间设备上检测诸如http的tcp连接状态,强制断开攻击者与服务器的tcp连接的机制来保护服务器免受拒绝服务攻击的方法。
根据第一方面,本发明提供一种防火墙防御针对web服务器DDOS攻击的方法,所述防火墙设置在web服务器之前,所述方法包括步骤接收用户向web服务器发起的tcp连接请求;将所述请求转发给web服务器;接收并且检查web服务器的回应报文;当回应报文中包括差错码时,断开与所述tcp连接请求对应的tcp连接。
根据第二方面,提供一种设置在web服务器之前的防火墙,用于防御针对所述web服务器的DDOS攻击,所述防火墙包括接收用户向web服务器发起的tcp连接请求的装置;将所述请求转发给web服务器的装置;接收并且检查web服务器的回应报文的装置;当回应报文中包括差错码时,断开tcp连接的装置。
本发明的技术方案能够防御攻击者对http服务器发起的无效网页攻击,减轻服务器的负担,使正常用户能够连接到服务器。


下面将通过举例参照附图对本发明进行更详细的说明,在附图中图1是利用tcp连接交互信息进行DDoS攻击的典型过程的示意图;图2是根据本发明的利用防火墙防御DDoS攻击的实施方案的示意图。
具体实施例方式
本发明通过防火墙等中间设备,对web服务器进行保护。下文将具体说明本发明的实施方案。
图2是根据本发明的利用防火墙防御DDoS攻击的实施方案的示意图。
防火墙监控用户与web服务器之间的tcp连接。当用户向web服务器发起tcp连接时,防火墙为该tcp连接建立会话表。会话表例如可以采用五元组(源IP、源端口、协议类型、目的IP、目的端口)表示。经过防火墙的tcp报文都将被检测。如果报文的目的端口是http报文端口80,则防火墙判断该报文是http报文,并且因此设置对应会话信息的协议类型为http。需要说明的是,用户发起的网页请求也可以通过代理服务器发送给防火墙。
然后,防火墙将报文转发给Web服务器。
对于用户请求,web服务器做出相应的响应。响应的第一行是状态行,以HTTP版本号开始,后面跟着3位数字表示响应代码,最后是易读的响应短语。下表是HTTP的3位响应码及其说明。


如果回应的报文命中会话表,说明它是http报文。防火墙对web服务器回应的http报文进行深度检测,搜索web服务器回应报文中的用户差错码等信息。如果web服务器返回的是用户差错码报文,则防火墙直接拆除用户与web服务器之间的tcp连接,终止针对web服务器的连接。通过防火墙上保留的http会话信息,可以在防火墙上以用户的名义向web服务器发出复位RST或终止FIN报文通知web服务器关闭连接。
如果攻击者使用大量代理服务器向同一个web服务器发起攻击,那么,即使拆除了web服务器与某一个代理之间的连接,也还会有大量的攻击报文,一样可以消耗web服务器资源。因此,在一个优选实施方案中,可以同时采用限制访问的方法,即对同一源IP发起的http连接数进行统计,如果在一定时间内,web服务器向用户返回差错码的次数大于某一指定的值,则将这一IP加入黑名单,限制此源IP发起的对web服务器的访问。
上文以http连接为例,对本发明的实施方案做了具体说明。需要指出,本发明不限于此,还可应用于诸如ftp的其它tcp连接。
显而易见,在此描述的本发明可以有许多变化,这种变化不能认为偏离本发明的精神和范围。因此,所有对本领域技术人员显而易见的改变,都包括在本权利要求书的涵盖范围之内。
权利要求
1.一种防火墙防御针对web服务器DDOS攻击的方法,所述防火墙设置在web服务器之前,所述方法包括步骤接收用户向web服务器发起的tcp连接请求;将所述请求转发给web服务器;接收并且检查web服务器的回应报文;当回应报文中包括差错码时,断开与所述tcp连接请求对应的tcp连接。
2.如权利要求1所述的方法,其特征在于所述用户发起的tcp连接请求通过代理服务器发送给防火墙。
3.如权利要求1所述的方法,其特征在于所述断开tcp连接的步骤包括防火墙以用户的名义向web服务器发出复位或终止报文。
4.如权利要求1所述的方法,其特征在于包括为tcp连接设立会话表的步骤,所述会话表包括源IP地址、源端口、协议类型、目的IP地址和目的端口。
5.如权利要求1所述的方法,其特征在于所述tcp连接是http连接。
6.如权利要求1所述的方法,其特征在于包括对一定时间内web服务器向一个源IP地址返回差错码的次数进行统计,如果该次数大于某一阈值,则限制该源IP地址发起的对web服务器的访问。
7.一种设置在web服务器之前的防火墙,用于防御针对所述web服务器的DDOS攻击,所述防火墙包括接收用户向web服务器发起的tcp连接请求的装置;将所述请求转发给web服务器的装置;接收并且检查web服务器的回应报文的装置;当回应报文中包括差错码时,断开tcp连接的装置。
8.如权利要求7所述的防火墙,其特征在于包括对一定时间内web服务器向一个源IP地址返回差错码的次数进行统计的装置,和如果该次数大于某一阈值,则限制该源IP地址发起的对web服务器的访问的装置。
全文摘要
本发明提供一种防火墙防御针对web服务器DDOS攻击的方法和设备。所述防火墙设置在web服务器之前,所述方法包括步骤接收用户向web服务器发起的tcp连接请求;将所述请求转发给web服务器;接收并且检查web服务器的回应报文;当回应报文中包括差错码时,断开与所述tcp连接请求对应的tcp连接。
文档编号H04L29/06GK101047697SQ20061003479
公开日2007年10月3日 申请日期2006年3月29日 优先权日2006年3月29日
发明者雷奕康, 王宁, 张日华, 齐志, 朱志强 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1