一种防御通过自动软件对服务器进行攻击的方法和设备的制作方法

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

发明内容
为了解决现有技术中不能有效防御对Web服务器的攻击的问题,本发明实施例提供了一种防御通过自动软件对服务器进行攻击的方法和设备。所述技术方案如下一种防御通过自动软件对服务器进行攻击的方法,所述方法包括在服务器端设置中间设备;所述中间设备收到用户发送的连接请求后,将所述连接请求定向到计算机不能自动完成的认证机制中,所述认证机制验证所述用户是否合法,如果合法,将所述用户的连接请求传输给所述服务器;否则,拒绝所述用户的连接请求。
本发明实施例还提供了一种防御通过自动软件对服务器进行攻击的设备,所述设备包括接收与通知模块,用于接收用户发送的连接请求,并将所述连接请求定向到计算机不能自动完成的认证机制中;验证模块,用于所述接收与通知模块将所述连接请求定向到所述认证机制后,通过所述认证机制验证所述用户是否合法;连接请求处理模块,用于当所述验证模块验证所述用户合法时,将所述用户的连接请求传输给所述服务器;当所述用户不合法时,拒绝所述用户的连接请求。
本发明实施例的技术方案带来的有益效果是通过在Web服务器端设置中间设备,将连接请求重定向到计算机不能自动完成的认证机制中,通过该机制的认证,能够有效地防御通过计算机自动软件对Web服务器发起的攻击,减轻Web服务器的负担,使正常用户能够连接到Web服务器。


图1是本发明实施例1提供的防御通过自动软件对服务器进行攻击的方法流程图;图2是本发明实施例2提供的防御通过自动软件对服务器进行攻击的设备示意图。
具体实施例方式
下面结合附图和具体实施例对本发明作进一步说明,但本发明不局限于以下实施例。
本发明实施例采用在Web服务器端设置中间设备对服务器进行保护,防御通过计算机自动软件对服务器进行的攻击。
自动软件对Web服务器发起的全连接攻击,可以是通过Proxy发起的,也可以是计算机自身发起的,都有一个共同的特征接受软件自动处理,针对这个特征,本发明实施例提供了一种防御通过计算机自动软件对服务器进行攻击的方法和设备。
实施例1参见图1,是本发明实施例1提供的防御通过自动软件对服务器进行攻击的方法流程图,本实施例提供了一种防御通过自动软件对服务器进行攻击的方法,具体如下步骤101在Web服务器端设置中间设备;此设备可以是实际的物理设备,比如防火墙设备,也可以是虚拟的设备,比如安装于服务器的一套具有重定向、验证或连接功能的软件。如果是软件,该软件可以存储在计算机可读取的物理介质中,如硬盘或光盘等。
本实施例以防火墙设备为例进行说明,所有连接服务器的请求先到达防火墙设备;步骤102防火墙设备收到用户发送的连接请求后,将所述连接请求定向到计算机不能自动完成的认证机制中。
步骤103认证机制验证该用户是否合法,如果合法,执行步骤104,否则执行步骤105。
步骤104将该用户的连接请求传输给Web服务器,使该用户与Web服务器建立连接。
步骤105拒绝该用户的连接请求,使该用户不能与Web服务器建立连接。
其中,认证机制可以是计算机无法参与的人工界面,比如图形显示界面,通知用户输入认证信息,验证用户输入的认证信息;也可以是一个认证确认窗口,通过该窗口,通知用户选择是否确认上述连接请求,如果该用户选择是,则该用户通过验证,如果该用户不选择或者选择否,则该用户不合法,因为自动软件不具有信息交互的能力,对认证机制提供的通知不会做任何响应,所以通过该认证机制可以有效地防御通过自动软件对Web服务器进行攻击。
实施例2参见图2,是本发明实施例提供的防御通过自动软件对服务器进行攻击的设备示意图。本发明实施例还提供了一种防御通过计算机自动软件对服务器进行攻击的设备,该设备可以是实际存在的物理设备,也可以是虚拟的设备。包括以下几部分接收与通知模块,用于接收用户发送的连接请求,并将该连接请求定向到计算机不能自动完成的认证机制中;验证模块,用于接收与通知模块将连接请求定向到认证机制后,通过该认证机制验证该用户是否合法;连接请求处理模块,用于当验证模块的验证该用户合法时,将该用户的连接请求传送给服务器;当该用户不合法时,拒绝该用户的连接请求。
其中,认证机制可以是计算机无法参与的人工界面,比如可以是图形显示界面。验证模块通过此图形显示界面要求用户输入认证信息,验证用户输入的认证信息;也可以是一个认证窗口,验证模块通过用户点击认证窗口中的确认或取消对话框的操作,验证用户的身份。
采用图形显示界面进行验证时,验证模块可以包括信息通知单元,用于通知用户输入认证信息;验证单元,用于用户输入认证信息后,验证认证信息是否正确,如果正确,该用户合法,否则,该用户不合法。
采用认证窗口进行认证时,验证模块可以包括确认信息通知单元,用于通知用户选择是否确认连接请求;用户响应处理单元,用于当用户确认所述连接请求时,该用户通过验证,当用户不选择或者取消连接请求时,该用户不合法。
通过以上实施例,在Web服务器端设置中间设备,将连接请求重定向到计算机不能自动完成的认证机制中。通过该机制的认证,能够有效地防御通过计算机自动软件对Web服务器发起的攻击,减轻Web服务器的负担,使正常用户能够连接到Web服务器。
以上所述的实施例,只是本发明的一种较优选的具体实施方式
,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
权利要求
1.一种防御通过自动软件对服务器进行攻击的方法,其特征在于,所述方法包括在服务器端设置中间设备;所述中间设备收到用户发送的连接请求后,将所述连接请求定向到计算机不能自动完成的认证机制中,所述认证机制验证所述用户是否合法,如果合法,将所述用户的连接请求传输给所述服务器;否则,拒绝所述用户的连接请求。
2.如权利要求1所述的防御通过自动软件对服务器进行攻击的方法,其特征在于,所述验证所述用户是否合法具体包括通知所述用户输入认证信息;所述用户输入认证信息后,所述中间设备验证所述认证信息是否正确,如果正确,所述用户合法,否则,所述用户不合法。
3.如权利要求1所述的防御通过自动软件对服务器进行攻击的方法,其特征在于,所述验证所述用户是否合法具体包括通知所述用户选择是否确认所述连接请求,如果所述用户选择是,则所述用户通过验证,如果所述用户不选择或者选择否,则所述用户不合法。
4.如权利要求1所述的防御通过自动软件对服务器进行攻击的方法,其特征在于,所述中间设备具体为防火墙设备。
5.如权利要求1所述的防御通过自动软件对服务器进行攻击的方法,其特征在于,所述中间设备具体为具有重定向、验证或连接功能的虚拟设备。
6.如权利要求1所述的防御通过自动软件对服务器进行攻击的方法,其特征在于,所述计算机不能自动完成的认证机制具体为计算机无法参与的界面。
7.如权利要求6所述的防御通过自动软件对服务器进行攻击的方法,其特征在于,所述界面具体为图形显示界面。
8.一种防御通过自动软件对服务器进行攻击的设备,其特征在于,所述设备包括接收与通知模块,用于接收用户发送的连接请求,并将所述连接请求定向到计算机不能自动完成的认证机制中;验证模块,用于所述接收与通知模块将所述连接请求定向到所述认证机制后,通过所述认证机制验证所述用户是否合法;连接请求处理模块,用于当所述验证模块验证所述用户合法时,将所述用户的连接请求传送给服务器;当所述用户不合法时,拒绝所述用户的连接请求。
9.如权利要求8所述的防御通过自动软件对服务器进行攻击的设备,其特征在于,所述验证模块具体包括信息通知单元,用于通知所述用户输入认证信息;验证单元,用于所述用户输入认证信息后,验证所述认证信息是否正确,如果正确,所述用户合法,否则,所述用户不合法。
10.如权利要求8所述的防御通过自动软件对服务器进行攻击的设备,其特征在于,所述验证模块具体包括确认信息通知单元,用于通知所述用户选择是否确认所述连接请求;用户响应处理单元,用于当所述用户确认所述连接请求时,所述用户通过验证,当所述用户不选择或者取消所述连接请求时,所述用户不合法。
全文摘要
本发明提供了一种防御通过自动软件对服务器进行攻击的方法和设备,属于网络通信领域。为了解决现有技术中不能有效防御对Web服务器的攻击的问题,本发明提供了一种防御通过自动软件对服务器进行攻击的方法,包括在服务器端设置中间设备,收到用户发送的连接请求后,定向到计算机不能自动完成的认证机制中,验证用户是否合法,如果合法,所述用户与所述服务器建立连接;否则,拒绝所述用户的连接请求。本发明还提供了一种防御自动软件对服务器进行攻击的设备,包括接收与通知模块、验证模块和连接请求处理模块。本发明所述方案能够有效地防御通过计算机自动软件对Web服务器发起的攻击,使正常用户能够连接到Web服务器。
文档编号H04L29/06GK101030860SQ20071007931
公开日2007年9月5日 申请日期2007年2月15日 优先权日2007年2月15日
发明者雷奕康, 楚丽娜 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1