CN104811420A - 一种防止分布式拒绝服务攻击的方法和装置 - Google Patents
一种防止分布式拒绝服务攻击的方法和装置 Download PDFInfo
- Publication number
- CN104811420A CN104811420A CN201410033911.4A CN201410033911A CN104811420A CN 104811420 A CN104811420 A CN 104811420A CN 201410033911 A CN201410033911 A CN 201410033911A CN 104811420 A CN104811420 A CN 104811420A
- Authority
- CN
- China
- Prior art keywords
- client
- tcp
- request
- syncookie
- syn
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种防止分布式拒绝服务攻击的方法和装置,以大幅提高服务器防护DDoS攻击的能力。该方法包括:在网络协议低层对请求建立TCP连接的客户端的合法性进行初步验证;若初步验证请求建立TCP连接的客户端是合法客户端,则将请求建立TCP连接的客户端返回的ACK包传递至网络协议高层处理,否则,拒绝请求建立TCP连接的客户端的连接请求;在网络协议高层进行syncookie处理,以与初步验证为合法客户端的请求建立TCP连接的客户端建立TCP连接。本发明实施例提供的防止DDoS攻击的方法可以提前拒绝非法的连接请求,有效防止在最后才识别出攻击包时该攻击包对资源的持续消耗,从而增强了抵御DDoS攻击的能力,提升了对正常数据包的处理速度。
Description
技术领域
本发明涉及计算机网络领域,具体涉及一种防止分布式拒绝服务攻击的方法和装置。
背景技术
分布式拒绝服务(Distributed Denial of Service,DDoS)攻击指借助于客户端/装置(Client/Server,C/S)技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。通常,攻击者使用一个偷窃帐号将DDoS主控程序安装在一个计算机上,在一个设定的时间内,DDoS主控程序将与大量代理程序通讯,代理程序已经被安装在Internet上的许多计算机上。代理程序收到指令时就发动攻击。利用C/S技术,DDoS主控程序能够在几秒钟内激活成百上千次代理程序的运行。简言之,DDoS攻击的核心思想就是使得被攻击的装置一直忙于处理大量的攻击包,从而导致正常业务不能正常运行,甚至出现死机。
现有技术提供的一种防止DDoS攻击的方法是由linux内核本身的syncookies模块来处理,其基本原理包括:装置(server)端在收到SYN包时,直接在TCP层根据syncookies算法生成新的ISN序列号,然后再以这个ISN作为server的SYN包回送给客户端(client)。在上述过程中,装置端建立TCP连接分为两段,即server端接收client的SYN包为第一段,server端向client反馈SYN+ACK包为第二段,其中,第二段不需要为第一段保存任何数据,两段之间没有明显的关联,即,装置端在收到第一个SYN包时,不用为它存储任何数据,包括建立socket和TCP选项等。如此,装置端经过syncookies处理后,其收到SYN包时所做的主要事情就减少了很重要的一步,即减少了进入TCP层建立新的socket并储存,从而可以减少内存的使用,提高系统的抗DDoS攻击能力。
然而,从开放式系统互联(OSI,Open System Interconnection)参考模型来看,在接收数据包的方向,syncookies模块对数据包的处理是在TCP层对数据包的处理(在接收数据包的方向,TCP层数据处理位于IP层数据处理之后)之后进行。因此,基本上每一个攻击包都要经过前面相当长的流程处理后才会进入syncookies模块,这对于DDoS这种本来就是以耗尽装置的中央处理器(Central Processing Unit,CPU)资源为目的的攻击方式而言,就成为致命的弱点。
发明内容
本发明实施例提供一种防止分布式拒绝服务攻击的方法和装置,以大幅提高装置防护DDoS攻击的能力。
本发明实施例提供一种防止分布式拒绝服务攻击的方法,所述方法包括:
在网络协议低层对请求建立传输控制协议TCP连接的客户端的合法性进行初步验证;
若初步验证所述请求建立TCP连接的客户端是合法客户端,则将所述请求建立TCP连接的客户端返回的确认ACK包传递至网络协议高层处理,否则,拒绝所述请求建立传输控制协议TCP连接的客户端的连接请求;
在所述网络协议高层进行syncookie处理,以与所述初步验证为合法客户端的所述请求建立TCP连接的客户端建立TCP连接。
本发明另一实施例提供一种防止分布式拒绝服务攻击的装置,所述装置包括:
第一syncookie处理模块,用于在网络协议低层对请求建立传输控制协议TCP连接的客户端的合法性进行初步验证;
请求处理模块,用于若初步验证所述请求建立TCP连接的客户端是合法客户端,则将所述请求建立TCP连接的客户端返回的确认ACK包传递至网络协议高层处理,否则,拒绝所述请求建立传输控制协议TCP连接的客户端的连接请求;
第二syncookie处理模块,用于在所述网络协议高层进行syncookie处理,以与所述初步验证为合法客户端的所述请求建立TCP连接的客户端建立TCP连接。
从上述本发明实施例可知,由于对请求建立TCP连接的客户端的合法性的初步验证已经在网络协议低层进行,经验证不是合法客户端后直接拒绝所述请求建立TCP连接的客户端的连接请求,只有经验证是合法客户端后才让后续网络协议高层进行处理。因此,与现有技术提供的防止DDoS攻击的方法相比,本发明实施例提供的防止DDoS攻击的方法可以在网络协议低层就可以识别非法攻击,提前拒绝非法的连接请求,有效防止在最后才识别出攻击包时该攻击包对资源的持续消耗,从而增强了抵御DDoS攻击的能力,提升了对正常数据包的处理速度。
附图说明
图1是本发明实施例提供的防止分布式拒绝服务攻击的方法的基本流程示意图;
图2是本发明实施例提供的防止分布式拒绝服务攻击的装置逻辑结构示意图;
图3是本发明另一实施例提供的防止分布式拒绝服务攻击的装置逻辑结构示意图;
图4-a是本发明另一实施例提供的防止分布式拒绝服务攻击的装置逻辑结构示意图;
图4-b是本发明另一实施例提供的防止分布式拒绝服务攻击的装置逻辑结构示意图。
具体实施方式
本发明实施例提供一种防止分布式拒绝服务攻击的方法,所述方法包括:在网络协议低层对请求建立传输控制协议TCP连接的客户端的合法性进行初步验证;若初步验证所述请求建立TCP连接的客户端是合法客户端,则将所述请求建立TCP连接的客户端返回的确认ACK包传递至网络协议高层处理,否则,拒绝所述请求建立传输控制协议TCP连接的客户端的连接请求;在所述网络协议高层进行syncookie处理,以与所述初步验证为合法客户端的所述请求建立TCP连接的客户端建立TCP连接。本发明实施例还提供相应的防止分布式拒绝服务攻击的装置。以下分别进行详细说明。
本发明实施例的防止分布式拒绝服务攻击的方法可应用于任何采用客户端/服务器(Client/Server,C/S)架构的系统中的服务器,其执行主体可以是服务器或者其中的功能模块。本发明实施例提供的防止分布式拒绝服务攻击的方法的基本流程可参考图1,主要包括步骤S101至步骤S103,详细说明如下:
S101,在网络协议低层对请求建立传输控制协议TCP连接的客户端的合法性进行初步验证。
在syncookie技术中,syncookie模块主要用于防止SYN包泛洪造成的攻击,具体地,syncookie模块就是使用一个cookie来响应tcp syn请求的tcp实现。在正常的tcp实现中,当服务器端收到一个SYN包,它会向客户端返回一个syn-ack包(即SYN+ACK报文)作为应答,然后进入连接的某种状态,并保存在服务器端的内存中,而服务器端的内存空间是有限的,这就为攻击者提供了契机,因为攻击者会使得服务器端不断地收到非正常的SYN+ACK报文,将服务器端的内存塞满。
现有技术提供的防止DDoS方法中,从客户端(有可能是非法客户端,例如,傀儡机或肉机等)发送过来的连接请求,一路经过IP层、TCP层的处理后,才使用syncookie模块对该连接请求进行处理。若该连接请求是非法客户端发送的攻击包,则即使最后被syncookie模块识别出来,也因为IP层和TCP层的处理,消耗了大量资源。与现有技术不同的是,本发明实施例提供的方法并不是在IP层和TCP层之后才开始对连接请求进行处理,而是在网络协议低层对请求建立传输控制协议(Transmission Control Protocol,TCP)连接的客户端的合法性进行初步验证。
考虑到在OSI参考模型中,数据链路(Data Link,DL)层位于低层,且数据链路层包括媒体访问控制(Media Access Control,MAC)层,作为本发明一个实施例,所述在网络协议低层对请求建立TCP连接的客户端的合法性进行初步验证可以是在MAC层对请求建立TCP连接的客户端的合法性进行初步验证。具体地,在MAC层对请求建立TCP连接的客户端的合法性进行初步验证可以包括如下步骤S1011至步骤S1014:
S1011,接收请求建立TCP连接的客户端发送的同步SYN包。
在本发明实施例中,SYN包是包含SYN标志的TCP同步(Synchronize)报文。一个SYN包携带了发送该SYN包的客户端使用的端口号和TCP包初始序列号等信息。
S1012,根据请求建立TCP连接的客户端发送的SYN包,计算所述SYN包对应的syncookie值。服务器在收到请求建立TCP连接的客户端发送的SYN包后,可以采用某种算法计算得到一个该SYN包对应的syncookie值,该syncookie值可以视为服务器发送的数据包的初始序列号,即该syncookie值等于步骤S1011中,SYN包携带的TCP包初始序列号加1。
S1013,向请求建立TCP连接的客户端发送syncookie值。
服务器向请求建立TCP连接的客户端发送的syncookie值实际上携带在一个称为“SYN+ACK(即Acknowledgement)”的报文里,该SYN+ACK报文表示客户端的连接请求被服务器接受。
S1014,若所述请求建立TCP连接的客户端返回ACK包,则初步确认所述请求建立TCP连接的客户端是合法客户端。如前所述,对于syncookie技术,在正常的正常的tcp实现中,当服务器端收到一个SYN包,它会向客户端返回一个SYN+ACK报文作为应答,但这个SYN+ACK报文的ack序列号是经过加密的,并且数据包发完后服务器端将释放所有的状态,不保存任何数据。如果一个ACK包从从客户端返回了,服务器端将重新计算来判断它是不是针对上个SYN+ACK报文返回的ACK包,如果是,服务器端就可以直接建立连接。正是由于发动DDoS攻击的非法客户端不会回复ACK包,因此,在本发明实施例中,当服务器向请求建立TCP连接的客户端发送syncookie值后,若所述请求建立TCP连接的客户端返回ACK包,则可以初步确认所述请求建立TCP连接的客户端是合法客户端,否则,确认所述请求建立TCP连接的客户端不是合法客户端,可以拒绝其连接请求。
S102,若初步验证所述请求建立TCP连接的客户端是合法客户端,则将所述请求建立TCP连接的客户端返回的确认ACK包传递至网络协议高层处理,否则,拒绝所述请求建立传输控制协议TCP连接的客户端的连接请求。
在本发明实施例中,网络协议高层可以是OSI参考模型中的传输层,该传输层使用TCP作为通信协议,鉴于此,也可以简单称为TCP层。实际上,上述实施例步骤S1014中,请求建立TCP连接的客户端返回的ACK包是经过IP层的解析,才逐步传递至TCP层处理的。
S103,在所述网络协议高层进行syncookie处理,以与所述初步验证为合法客户端的所述请求建立TCP连接的客户端建立TCP连接。
具体地,在所述网络协议高层进行syncookie处理,以与所述初步验证为合法客户端的所述请求建立TCP连接的客户端建立TCP连接包括如下步骤S1031和步骤S1032:
S1031,根据所述初步验证为合法客户端的所述请求建立TCP连接的客户端返回的ACK包,验证与所述SYN包对应的syncookie值的正确性。
如前所述,服务器向请求建立TCP连接的客户端发送syncookie值,该syncookie值在所述请求建立TCP连接的客户端返回ACK包时回传至服务器。由于客户端又返回了一个ACK包,因此,此时的syncookie值应当等于此时TCP包初始序列号(即所返回的ACK包的序列号)减1,据此验证与所述syn包对应的syncookie值的正确性,即,若syncookie值不等于所返回的ACK包的序列号减1,则syncookie值错误。
S1032,若验证与所述SYN包对应的syncookie值正确,则与所述初步验证为合法客户端的所述请求建立TCP连接的客户端建立TCP连接。
从上述本发明实施例提供的防止分布式拒绝服务攻击的方法可知,由于对请求建立TCP连接的客户端的合法性的初步验证已经在网络协议低层进行,经验证不是合法客户端后直接拒绝所述请求建立TCP连接的客户端的连接请求,只有经验证是合法客户端后才让后续网络协议高层进行处理。因此,与现有技术提供的防止DDoS攻击的方法相比,本发明实施例提供的防止DDoS攻击的方法可以在网络协议低层就可以识别非法攻击,提前拒绝非法的连接请求,有效防止在最后才识别出攻击包时该攻击包对资源的持续消耗,从而增强了抵御DDoS攻击的能力,提升了对正常数据包的处理速度。
下面对用于执行上述防止分布式拒绝服务攻击的方法的本发明实施例的防止分布式拒绝服务攻击的装置进行说明,其基本逻辑结构参考图2。为了便于说明,仅仅示出了与本发明实施例相关的部分。附图2示例的防止分布式拒绝服务攻击的装置,该装置可以是一种防止分布式拒绝服务攻击的装置,主要包括第一syncookie处理模块201、请求处理模块202和第二syncookie处理模块203,各模块详细说明如下:
第一syncookie处理模块201,用于在网络协议低层对请求建立传输控制协议TCP连接的客户端的合法性进行初步验证。
现有技术提供的防止DDoS方法中,从客户端(有可能是非法客户端,例如,傀儡机或肉机等)发送过来的连接请求,一路经过IP层、TCP层的处理后,才使用syncookie模块对该连接请求进行处理。若该连接请求是非法客户端发送的攻击包,则即使最后被syncookie模块识别出来,也因为IP层和TCP层的处理,消耗了大量资源。与现有技术不同的是,本发明实施例提供的装置并不是在IP层和TCP层之后才开始对连接请求进行处理,而是第一syncookie处理模块201在网络协议低层对请求建立传输控制协议(Transmission Control Protocol,TCP)连接的客户端的合法性进行初步验证。
请求处理模块202,用于若初步验证所述请求建立TCP连接的客户端是合法客户端,则将所述请求建立TCP连接的客户端返回的确认ACK包传递至网络协议高层处理,否则,拒绝所述请求建立传输控制协议TCP连接的客户端的连接请求。
在本实施例中,网络协议高层可以是OSI参考模型中的传输层,该传输层使用TCP作为通信协议,鉴于此,也可以简单称为TCP层。实际上,上述实施例中,请求建立TCP连接的客户端返回的ACK包是经过IP层的解析,才逐步传递至TCP层处理的。
第二syncookie处理模块203,用于在所述网络协议高层进行syncookie处理,以与所述初步验证为合法客户端的所述请求建立TCP连接的客户端建立TCP连接。
需要说明的是,以上附图2示例的防止分布式拒绝服务攻击的装置的实施方式中,各功能模块的划分仅是举例说明,实际应用中可以根据需要,例如相应硬件的配置要求或者软件的实现的便利考虑,而将上述功能分配由不同的功能模块完成,即将所述防止分布式拒绝服务攻击的装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。而且,实际应用中,本实施例中的相应的功能模块可以是由相应的硬件实现,也可以由相应的硬件执行相应的软件完成,例如,前述的第一syncookie处理模块,可以是具有执行前述在网络协议低层对请求建立传输控制协议TCP连接的客户端的合法性进行初步验证的硬件,例如第一syncookie处理器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备;再如前述的请求处理模块,可以是若初步验证所述请求建立TCP连接的客户端是合法客户端,则将所述请求建立TCP连接的客户端返回的确认ACK包传递至网络协议高层处理,否则,拒绝所述请求建立传输控制协议TCP连接的客户端的连接请求功能的硬件,例如请求处理器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备(本说明书提供的各个实施例都可应用上述描述原则)。
附图2示例的防止分布式拒绝服务攻击的装置中,网络协议高层可以为传输层,该传输层使用TCP作为通信协议。
考虑到在OSI参考模型中,数据链路(Data Link,DL)层位于低层,且数据链路层包括媒体访问控制(Media Access Control,MAC),附图2示例的防止分布式拒绝服务攻击的装置中,第一syncookie处理模块201具体用于在媒体访问控制MAC层对请求建立TCP连接的客户端的合法性进行初步验证。
附图2示例的第一syncookie处理模块201可以包括接收单元301、计算单元302、发送单元303和确认单元304,如附图3所示本发明另一实施例提供的防止分布式拒绝服务攻击的装置,其中:
接收单元301,用于接收所述请求建立TCP连接的客户端发送的同步SYN包。
在本实施例中,SYN包是包含SYN标志的TCP同步(Synchronize)报文。一个SYN包携带了发送该SYN包的客户端使用的端口号和TCP包初始序列号等信息。
计算单元302,用于根据所述请求建立TCP连接的客户端发送的SYN包,计算所述SYN包对应的syncookie值。
接收单元301在收到请求建立TCP连接的客户端发送的SYN包后,计算单元302可以采用某种算法计算得到一个该SYN包对应的syncookie值,该syncookie值可以视为装置发送的数据包的初始序列号,即该syncookie值等于步骤S1011中,SYN包携带的TCP包初始序列号加1。
发送单元303,用于向所述请求建立TCP连接的客户端发送所述syncookie值。
发送单元303向请求建立TCP连接的客户端发送的syncookie值实际上携带在一个称为“SYN+ACK(即Acknowledgement)”的报文里,该SYN+ACK报文表示客户端的连接请求被装置接受。
确认单元304,用于若所述请求建立TCP连接的客户端返回ACK包,则初步确认所述请求建立TCP连接的客户端是合法客户端。
由于发动DDoS攻击的非法客户端是不会回复ACK包的,因此,在本实施例中,当发送单元303向请求建立TCP连接的客户端发送syncookie值后,若所述请求建立TCP连接的客户端返回ACK包,则确认单元304可以初步确认所述请求建立TCP连接的客户端是合法客户端,否则,确认单元304确认所述请求建立TCP连接的客户端不是合法客户端,可以拒绝其连接请求。
附图2或附图3任一示例的第二syncookie处理模块203可以包括验证单元401和连接建立单元402,如附图4-a至附图4-b所示本发明另一实施例提供的防止分布式拒绝服务攻击的装置,其中:
验证单元401,用于根据所述返回的ACK包,验证与所述SYN包对应的syncookie值的正确性。
如前所述,发送单元303向请求建立TCP连接的客户端发送syncookie值,该syncookie值在所述请求建立TCP连接的客户端返回ACK包时回传至装置。由于客户端又返回了一个ACK包,因此,此时的syncookie值应当等于此时TCP包初始序列号(即所返回的ACK包的序列号)减1,验证单元401据此验证与所述SYN包对应的syncookie值的正确性,即,若syncookie值不等于所返回的ACK包的序列号减1,则验证单元401验证syncookie值错误。
连接建立单元402,用于若验证所述与所述SYN包对应的syncookie值正确,则与所述初步验证为合法客户端的所述请求建立TCP连接的客户端建立TCP连接。
本发明实施例还给出一种防止分布式拒绝服务攻击的服务器,该防止分布式拒绝服务攻击的服务器可以用于实施上述实施例中提供的防止分布式拒绝服务攻击的方法。具体来讲:防止分布式拒绝服务攻击的服务器可以包括有一个或一个以上计算机可读存储介质的存储器、一个或者一个以上处理核心的处理器等部件。本领域技术人员可以理解,上述存储器结构并不构成对防止分布式拒绝服务攻击的服务器的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据防止分布式拒绝服务攻击的服务器的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
尽管未示出,防止分布式拒绝服务攻击的服务器还还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行述一个或者一个以上程序包含用于进行以下操作的指令:
在网络协议低层对请求建立传输控制协议TCP连接的客户端的合法性进行初步验证;
若初步验证所述请求建立TCP连接的客户端是合法客户端,则将所述请求建立TCP连接的客户端返回的确认ACK包传递至网络协议高层处理,否则,拒绝所述请求建立传输控制协议TCP连接的客户端的连接请求;
在所述网络协议高层进行syncookie处理,以与所述初步验证为合法客户端的所述请求建立TCP连接的客户端建立TCP连接。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,所述缓冲区为环状缓冲区。
假设上述为第二种可能的实施方式,则在第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,所述防止分布式拒绝服务攻击服务器的存储器中,还包含用于执行以下操作的指令:
在媒体访问控制MAC层对请求建立TCP连接的客户端的合法性进行初步验证。
假设上述为第三种可能的实施方式,则在第三种可能的实施方式作为基础而提供的第四种可能的实施方式中,所述防止分布式拒绝服务攻击的服务器的存储器中,还包含以下指令:
接收所述请求建立TCP连接的客户端发送的同步SYN包;
根据所述请求建立TCP连接的客户端发送的SYN包,计算所述SYN包对应的syncookie值;
向所述请求建立TCP连接的客户端发送所述syncookie值;
若所述请求建立TCP连接的客户端返回ACK包,则初步确认所述请求建立TCP连接的客户端是合法客户端。
假设上述为第四种可能的实施方式,则在第一种至第四种任意一种可能的实施方式作为基础而提供的第五种可能的实施方式中,所述防止分布式拒绝服务攻击的服务器的存储器中,还包含以下指令:
根据所述返回的ACK包,验证与所述SYN包对应的syncookie值的正确性;
若验证所述与所述SYN包对应的syncookie值正确,则与所述初步验证为合法客户端的所述请求建立TCP连接的客户端建立TCP连接。
作为另一方面,本发明再一实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入防止分布式拒绝服务攻击的服务器中的计算机可读存储介质。所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序被一个或者一个以上的处理器用来执行一个防止分布式拒绝服务攻击的方法,所述方法包括:
在网络协议低层对请求建立传输控制协议TCP连接的客户端的合法性进行初步验证;
若初步验证所述请求建立TCP连接的客户端是合法客户端,则将所述请求建立TCP连接的客户端返回的确认ACK包传递至网络协议高层处理,否则,拒绝所述请求建立传输控制协议TCP连接的客户端的连接请求;
在所述网络协议高层进行syncookie处理,以与所述初步验证为合法客户端的所述请求建立TCP连接的客户端建立TCP连接。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,所述网络高层为传输层,所述传输层使用TCP。
假设上述为第二种可能的实施方式,则在第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,所述在网络协议低层对请求建立传输控制协议TCP连接的客户端的合法性进行初步验证,包括:在媒体访问控制MAC层对请求建立TCP连接的客户端的合法性进行初步验证。
假设上述为第三种可能的实施方式,则在第三种可能的实施方式作为基础而提供的第四种可能的实施方式中,所述在媒体访问控制MAC层对请求建立TCP连接的客户端的合法性进行初步验证,包括:
接收所述请求建立TCP连接的客户端发送的同步SYN包;
根据所述请求建立TCP连接的客户端发送的SYN包,计算所述SYN包对应的syncookie值;
向所述请求建立TCP连接的客户端发送所述syncookie值;
若所述请求建立TCP连接的客户端返回ACK包,则初步确认所述请求建立TCP连接的客户端是合法客户端。
假设上述为第四种可能的实施方式,则在第一种至第四种任意一种可能的实施方式作为基础而提供的第五种可能的实施方式中,所述在所述网络协议高层进行syncookie处理,以与所述初步验证为合法客户端的所述请求建立TCP连接的客户端建立TCP连接,包括:
根据所述返回的ACK包,验证与所述SYN包对应的syncookie值的正确性;
若验证所述与所述SYN包对应的syncookie值正确,则与所述初步验证为合法客户端的所述请求建立TCP连接的客户端建立TCP连接。
需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,其带来的技术效果与本发明方法实施例相同,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
以上对本发明实施例所提供的防止分布式拒绝服务攻击的方法和服务器进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种防止分布式拒绝服务攻击的方法,其特征在于,所述方法包括:
在网络协议低层对请求建立传输控制协议TCP连接的客户端的合法性进行初步验证;
若初步验证所述请求建立TCP连接的客户端是合法客户端,则将所述请求建立TCP连接的客户端返回的确认ACK包传递至网络协议高层处理,否则,拒绝所述请求建立传输控制协议TCP连接的客户端的连接请求;
在所述网络协议高层进行syncookie处理,以与所述初步验证为合法客户端的所述请求建立TCP连接的客户端建立TCP连接。
2.根据权利要求1所述的方法,其特征在于,所述网络协议高层为传输层,所述传输层使用TCP。
3.根据权利要求2所述的方法,其特征在于,所述在网络协议低层对请求建立传输控制协议TCP连接的客户端的合法性进行初步验证,包括:在媒体访问控制MAC层对请求建立TCP连接的客户端的合法性进行初步验证。
4.根据权利要求3所述的方法,其特征在于,所述在媒体访问控制MAC层对请求建立TCP连接的客户端的合法性进行初步验证,包括:
接收所述请求建立TCP连接的客户端发送的同步SYN包;
根据所述请求建立TCP连接的客户端发送的SYN包,计算所述SYN包对应的syncookie值;
向所述请求建立TCP连接的客户端发送所述syncookie值;
若所述请求建立TCP连接的客户端返回ACK包,则初步确认所述请求建立TCP连接的客户端是合法客户端。
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述在所述网络协议高层进行syncookie处理,以与所述初步验证为合法客户端的所述请求建立TCP连接的客户端建立TCP连接,包括:
根据所述返回的ACK包,验证与所述SYN包对应的syncookie值的正确性;
若验证所述与所述SYN包对应的syncookie值正确,则与所述初步验证为合法客户端的所述请求建立TCP连接的客户端建立TCP连接。
6.一种防止分布式拒绝服务攻击的装置,其特征在于,所述装置包括:
第一syncookie处理模块,用于在网络协议低层对请求建立传输控制协议TCP连接的客户端的合法性进行初步验证;
请求处理模块,用于若初步验证所述请求建立TCP连接的客户端是合法客户端,则将所述请求建立TCP连接的客户端返回的确认ACK包传递至网络协议高层处理,否则,拒绝所述请求建立传输控制协议TCP连接的客户端的连接请求;
第二syncookie处理模块,用于在所述网络协议高层进行syncookie处理,以与所述初步验证为合法客户端的所述请求建立TCP连接的客户端建立TCP连接。
7.根据权利要求6所述的装置,其特征在于,所述网络协议高层为传输层,所述传输层使用TCP。
8.根据权利要求7所述的装置,其特征在于,所述第一syncookie处理模块具体用于在媒体访问控制MAC层对请求建立TCP连接的客户端的合法性进行初步验证。
9.根据权利要求8所述的装置,其特征在于,所述第一syncookie处理模块包括:
接收单元,用于接收所述请求建立TCP连接的客户端发送的同步SYN包;
计算单元,用于根据所述请求建立TCP连接的客户端发送的SYN包,计算所述SYN包对应的syncookie值;
发送单元,用于向所述请求建立TCP连接的客户端发送所述syncookie值;
确认单元,用于若所述请求建立TCP连接的客户端返回ACK包,则初步确认所述请求建立TCP连接的客户端是合法客户端。
10.根据权利要求6至9任意一项所述的装置,其特征在于,所述第二syncookie处理模块包括:
验证单元,用于根据所述返回的ACK包,验证与所述SYN包对应的syncookie值的正确性;
连接建立单元,用于若验证所述与所述SYN包对应的syncookie值正确,则与所述初步验证为合法客户端的所述请求建立TCP连接的客户端建立TCP连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410033911.4A CN104811420A (zh) | 2014-01-23 | 2014-01-23 | 一种防止分布式拒绝服务攻击的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410033911.4A CN104811420A (zh) | 2014-01-23 | 2014-01-23 | 一种防止分布式拒绝服务攻击的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104811420A true CN104811420A (zh) | 2015-07-29 |
Family
ID=53695921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410033911.4A Pending CN104811420A (zh) | 2014-01-23 | 2014-01-23 | 一种防止分布式拒绝服务攻击的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104811420A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105119942A (zh) * | 2015-09-16 | 2015-12-02 | 广东睿江科技有限公司 | 一种洪水攻击检测方法 |
CN109391600A (zh) * | 2017-08-10 | 2019-02-26 | 东软集团股份有限公司 | 分布式拒绝服务攻击防护方法、装置、系统、介质及设备 |
CN111064565A (zh) * | 2019-12-31 | 2020-04-24 | 北京握奇智能科技有限公司 | 缓解DDoS攻击的方法 |
CN113037873A (zh) * | 2021-05-24 | 2021-06-25 | 广东睿江云计算股份有限公司 | 一种优化tcp传输的方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101247261A (zh) * | 2007-07-18 | 2008-08-20 | 北京高信达网络科技有限公司 | 一种防止DDos攻击的方法及设备 |
-
2014
- 2014-01-23 CN CN201410033911.4A patent/CN104811420A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101247261A (zh) * | 2007-07-18 | 2008-08-20 | 北京高信达网络科技有限公司 | 一种防止DDos攻击的方法及设备 |
Non-Patent Citations (6)
Title |
---|
唐锐: "抵御SYN Flood的防护系统的研究与设计", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
彭笛,王文胜: "基于SYN Cookie的DDoS防御技术研究", 《学术研究》 * |
樊勇,鲜明: "基于SYN Cookie防御DDoS的技术研究", 《电脑知识与技术》 * |
潘磊, 金秋: "一种改进的TCP分布式拒绝服务攻击防御方法", 《中原工学院学报》 * |
黄晗辉,陈蜀宇,石晶翔: "Linux下基于SYNCookie的防SYNFlood攻击的实现与改进", 《计算机系统应用》 * |
龙恒: "SYN 代理防御syn-flood 攻击的原理及实现", 《计算机系统应用》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105119942A (zh) * | 2015-09-16 | 2015-12-02 | 广东睿江科技有限公司 | 一种洪水攻击检测方法 |
CN105119942B (zh) * | 2015-09-16 | 2018-11-06 | 广东睿江云计算股份有限公司 | 一种洪水攻击检测方法 |
CN109391600A (zh) * | 2017-08-10 | 2019-02-26 | 东软集团股份有限公司 | 分布式拒绝服务攻击防护方法、装置、系统、介质及设备 |
CN111064565A (zh) * | 2019-12-31 | 2020-04-24 | 北京握奇智能科技有限公司 | 缓解DDoS攻击的方法 |
CN111064565B (zh) * | 2019-12-31 | 2024-01-23 | 北京握奇智能科技有限公司 | 缓解DDoS攻击的方法 |
CN113037873A (zh) * | 2021-05-24 | 2021-06-25 | 广东睿江云计算股份有限公司 | 一种优化tcp传输的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9300733B2 (en) | System and/or method for client-driven server load distribution | |
JP6858749B2 (ja) | 負荷平衡システムにおいて接続を確立するデバイス及び方法 | |
US9749354B1 (en) | Establishing and transferring connections | |
US8843639B2 (en) | System and method for creating a transparent data tunnel | |
CN106790221B (zh) | 一种英特网协议安全IPSec协议加密方法和网络设备 | |
US20170118022A1 (en) | Mainstream connection establishment method and device based on multipath transmission control protocol (mptcp) | |
US20100088763A1 (en) | Method for Preventing Denial of Service Attacks Using Transmission Control Protocol State Transition | |
CN109450766B (zh) | 一种工作区级vpn的访问处理方法及装置 | |
CN104811420A (zh) | 一种防止分布式拒绝服务攻击的方法和装置 | |
CN107995233B (zh) | 建立连接的方法及相应的设备 | |
CN110830516B (zh) | 一种网络访问方法、装置、网络控制设备及存储介质 | |
CN107800723A (zh) | Cc攻击防护方法及设备 | |
CN107071034A (zh) | 一种数据包传输方法和系统 | |
EP3322148B1 (en) | Apparatus, system, and method for protecting against denial of service attacks using one-time cookies | |
EP2916522A1 (en) | File transmission method and system thereof | |
JP2024525557A (ja) | アクセス制御方法、アクセス制御システム、および関連デバイス | |
CN109286498A (zh) | 核电站dcs通信用网络校验方法和装置、电子装置 | |
CN109361639A (zh) | 动态共享https请求鉴权方法、存储介质及移动终端 | |
JP6146829B2 (ja) | ネットワークデバイスを制御するための方法と装置 | |
CN114500021B (zh) | 一种攻击检测方法、装置、电子设备及存储介质 | |
US8595477B1 (en) | Systems and methods for reducing handshake delay in streaming protocol web requests | |
CN109818912B (zh) | 防范泛洪攻击的方法、装置、负载均衡设备和存储介质 | |
US9560173B2 (en) | Techniques for improving SYN cache performance | |
CN111769910B (zh) | 一种数据传输方法及装置 | |
KR102027434B1 (ko) | 보안 장치 및 이의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150729 |
|
RJ01 | Rejection of invention patent application after publication |