一种网络攻击的防御方法、相关设备及系统转让专利

申请号 : CN201710379453.3

文献号 : CN107087007A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈国

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本发明实施例公开了一种网络攻击的防御方法,包括:接收客户端发送的第一传输控制协议TCP连接请求,其中,第一TCP连接请求中携带客户端的网际互联协议IP地址;根据业务报文的接收情况判断客户端所对应的IP地址是否为非法IP地址;若IP地址为非法IP地址,则根据第一TCP连接请求与客户端建立通信连接,并拒绝向服务器发送第一TCP连接请求。本发明实施例还提供一种网络攻击防御装置、客户端以及网络攻击防御系统。本发明网络攻击防御装置可代替服务器先与客户端建立通信连接,并根据业务报文的接收情况检测客户端IP地址的合法性,检测IP地址合法性之前无需对每个IP地址都配置连接总量阈值或者连接并发速率阈值,从而提升了配置效率。

权利要求 :

1.一种网络攻击的防御方法,其特征在于,所述方法应用于网络攻击防御系统,所述网络攻击防御系统包括客户端、服务器以及网络攻击防御装置,所述方法包括:接收客户端发送的第一传输控制协议TCP连接请求,其中,所述第一TCP连接请求中携带所述客户端的网际互联协议IP地址;

根据业务报文的接收情况判断所述客户端所对应的所述IP地址是否为非法IP地址;

若所述IP地址为所述非法IP地址,则根据所述第一TCP连接请求与所述客户端建立通信连接,并拒绝向服务器发送所述第一TCP连接请求。

2.根据权利要求1所述的方法,其特征在于,所述判断所述客户端所对应的所述IP地址是否为非法IP地址之后,所述方法还包括:若所述IP地址为合法IP地址,则接收所述客户端发送的第二TCP连接请求;

向所述服务器发送所述第二TCP连接请求,以使所述服务器根据所述第二TCP连接请求与所述客户端建立通信连接。

3.根据权利要求1或2所述的方法,其特征在于,所述根据业务报文的接收情况判断所述客户端所对应的所述IP地址是否为非法IP地址,包括:判断在预置时间内是否接收到所述客户端发送的所述业务报文;

若在所述预置时间内未接收到所述客户端发送的所述业务报文,则确定所述IP地址为所述非法IP地址;

若在所述预置时间内接收到所述客户端发送的所述业务报文,则确定所述IP地址为所述合法IP地址,并将所述合法IP地址加入至合法IP地址列表。

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:接收所述客户端发送的第三TCP连接请求,其中,所述第三TCP连接请求携带所述客户端的待检测IP地址;

判断所述待检测IP地址是否位于所述合法IP地址列表中,若是,则向所述服务器发送所述第三TCP连接请求,以使所述服务器根据所述第三TCP连接请求与所述客户端建立通信连接。

5.根据权利要求2所述的方法,其特征在于,所述接收所述客户端发送的第二TCP连接请求之前,所述方法还包括:向所述客户端发送重置连接请求,其中,所述重置连接请求用于指示所述客户端发送所述第二TCP连接请求。

6.根据权利要求1所述的方法,其特征在于,所述接收客户端发送的第一传输控制协议TCP连接请求之前,所述方法还包括:获取目标IP地址的连接并发量;

所述接收客户端发送的第一传输控制协议TCP连接请求,包括:若所述目标IP地址的连接并发量大于或等于连接并发量阈值,则接收客户端发送的所述第一TCP连接请求。

7.一种网络攻击防御装置,其特征在于,所述网络攻击防御装置应用于网络攻击防御系统,所述网络攻击防御系统还包括客户端以及服务器,所述网络攻击防御装置包括:第一接收模块,用于接收客户端发送的第一传输控制协议TCP连接请求,其中,所述第一TCP连接请求中携带所述客户端的网际互联协议IP地址;

第一判断模块,用于根据业务报文的接收情况判断所述客户端所对应的所述IP地址是否为非法IP地址;

处理模块,用于若所述第一判断模块判断得到所述IP地址为所述非法IP地址,则根据所述第一接收模块接收的所述第一TCP连接请求与所述客户端建立通信连接,并拒绝向服务器发送所述第一TCP连接请求。

8.根据权利要求7所述的网络攻击防御装置,其特征在于,所述网络攻击防御装置还包括:第二接收模块,用于若所述第一判断模块判断得到所述客户端所对应的所述IP地址为合法IP地址,则接收所述客户端发送的第二TCP连接请求;

第一发送模块,用于向所述服务器发送所述第二接收模块接收的所述第二TCP连接请求,以使所述服务器根据所述第二TCP连接请求与所述客户端建立通信连接。

9.根据权利要求7或8所述的网络攻击防御装置,其特征在于,所述第一判断模块包括:判断单元,用于判断在预置时间内是否接收到所述客户端发送的所述业务报文;

第一确定单元,用于若所述判断单元判断得到在所述预置时间内未接收到所述客户端发送的所述业务报文,则确定所述IP地址为所述非法IP地址;

第二确定单元,用于若所述判断单元判断得到在所述预置时间内接收到所述客户端发送的所述业务报文,则确定所述IP地址为所述合法IP地址,并将所述合法IP地址加入至合法IP地址列表。

10.一种网络攻击防御装置,其特征在于,包括:存储器、处理器以及总线系统;

其中,所述存储器用于存储程序;

所述处理器用于执行所述存储器中的程序,包括如下步骤:接收客户端发送的第一传输控制协议TCP连接请求,其中,所述第一TCP连接请求中携带所述客户端的网际互联协议IP地址;

根据业务报文的接收情况判断所述客户端所对应的所述IP地址是否为非法IP地址;

若所述IP地址为所述非法IP地址,则根据所述第一TCP连接请求与所述客户端建立通信连接,并拒绝向服务器发送所述第一TCP连接请求;

所述总线系统用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。

11.根据权利要求10所述的网络攻击防御装置,其特征在于,所述处理器还用于执行如下步骤:若所述IP地址为合法IP地址,则接收所述客户端发送的第二TCP连接请求;

向所述服务器发送所述第二TCP连接请求,以使所述服务器根据所述第二TCP连接请求与所述客户端建立通信连接。

12.根据权利要求10或11所述的网络攻击防御装置,其特征在于,所述处理器还用于执行如下步骤:判断在预置时间内是否接收到所述客户端发送的所述业务报文;

若在所述预置时间内未接收到所述客户端发送的所述业务报文,则确定所述IP地址为所述非法IP地址;

若在所述预置时间内接收到所述客户端发送的所述业务报文,则确定所述IP地址为所述合法IP地址,并将所述合法IP地址加入至合法IP地址列表。

13.一种网络攻击防御系统,其特征在于,所述网络攻击防御系统包括客户端、服务器以及网络攻击防御装置;

所述客户端向所述网络攻击防御装置发送第一传输控制协议TCP连接请求,其中,所述第一TCP连接请求中携带所述客户端的网际互联协议IP地址;

所述网络攻击防御装置判断所述客户端所对应的所述IP地址是否为非法IP地址;

若所述IP地址为所述非法IP地址,则所述网络攻击防御装置根据所述第一TCP连接请求与所述客户端建立通信连接,并拒绝向所述服务器发送所述第一TCP连接请求。

14.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-6所述的方法。

说明书 :

一种网络攻击的防御方法、相关设备及系统

技术领域

[0001] 本发明涉及互联网技术领域,尤其涉及一种网络攻击的防御方法、相关设备及系统。

背景技术

[0002] 分布式拒绝服务(英文全称:Distributed Denial of Service,英文缩写:DDOS)攻击是一种被黑客广泛使用的网络攻击方式,它以破坏计算机系统或者网络可用性为目标,危害性极大。其中,连接耗尽攻击为常见的DDOS攻击手法之一,顾名思义,连接耗尽攻击就是将服务器上可用的连接数占满,直到无法正常响应。
[0003] 目前,针对连接耗尽攻击已提出一种连接耗尽防护方法,具体过程为,先根据业务情况配置单个源网际互联协议(Internet Protocol,IP)地址的连接总量阈值和连接并发速率阈值。部署与服务器前端的防护系统可以实时检测业务流量,当检测到连接耗尽攻击后进入防护流程。在攻击发生后,防护系统会统计每个源IP地址的连接总数和连接并发率,如果某个源IP地址的连接总数超过阈值,或者连接并发率超过预置,则防护系统判断该IP地址存在异常,并将该IP地址拉入黑名单。从而达到防护连接耗尽攻击的目的。
[0004] 然而,采用上述方式对连接耗尽攻击进行防护还需要考虑到不同业务的实际情况,比如在一些业务中可能存在较多的IP地址,这样就要在防护系统中预先对每个源IP地址的连接总量阈值和连接并发速率阈值都分别进行配置,由此导致配置的效率降低,且不利于配置的灵活性。

发明内容

[0005] 本发明实施例提供了一种网络攻击的防御方法、相关设备及系统,网络攻击防御装置可代替服务器先与客户端建立通信连接,并根据业务报文的接收情况检测客户端IP地址的合法性,检测IP地址合法性之前无需对每个IP地址都配置连接总量阈值或者连接并发速率阈值,从而提升了配置效率。
[0006] 有鉴于此,本发明第一方面提供了一种网络攻击的防御方法,所述方法应用于网络攻击防御系统,所述网络攻击防御系统包括客户端、服务器以及网络攻击防御装置,所述方法包括:
[0007] 接收客户端发送的第一传输控制协议TCP连接请求,其中,所述第一TCP连接请求中携带所述客户端的网际互联协议IP地址;
[0008] 根据业务报文的接收情况判断所述客户端所对应的所述IP地址是否为非法IP地址;
[0009] 若所述IP地址为所述非法IP地址,则根据所述第一TCP连接请求与所述客户端建立通信连接,并拒绝向服务器发送所述第一TCP连接请求。
[0010] 本发明第二方面提供了一种网络攻击的防御方法,包括:
[0011] 向网络攻击防御装置发送第一传输控制协议TCP连接请求,其中,所述第一TCP连接请求中携带客户端的网际互联协议IP地址;
[0012] 若所述客户端所对应的所述IP地址为非法IP地址,则拒绝向服务器发送第二TCP连接请求。
[0013] 本发明第三方面提供了一种网络攻击防御装置,所述网络攻击防御装置应用于网络攻击防御系统,所述网络攻击防御系统还包括客户端以及服务器,所述网络攻击防御装置包括:
[0014] 第一接收模块,用于接收客户端发送的第一传输控制协议TCP连接请求,其中,所述第一TCP连接请求中携带所述客户端的网际互联协议IP地址;
[0015] 第一判断模块,用于判断所述客户端所对应的所述IP地址是否为非法IP地址;
[0016] 处理模块,用于若所述第一判断模块判断得到所述IP地址为所述非法IP地址,则根据所述第一接收模块接收的所述第一TCP连接请求与所述客户端建立通信连接,并拒绝向服务器发送所述第一TCP连接请求。
[0017] 本发明第四方面提供了一种客户端,所述客户端应用于网络攻击防御系统,所述网络攻击防御系统还包括网络攻击防御装置以及服务器,所述客户端包括:
[0018] 第一发送模块,用于向网络攻击防御装置发送第一传输控制协议TCP连接请求,其中,所述第一TCP连接请求中携带客户端的网际互联协议IP地址;
[0019] 拒绝模块,用于若所述客户端所对应的所述IP地址为非法IP地址,则拒绝向服务器发送第二TCP连接请求。
[0020] 本发明第五方面提供了一种网络攻击防御装置,包括:存储器、处理器以及总线系统;
[0021] 其中,所述存储器用于存储程序;
[0022] 所述处理器用于执行所述存储器中的程序,包括如下步骤:
[0023] 接收客户端发送的第一传输控制协议TCP连接请求,其中,所述第一TCP连接请求中携带所述客户端的网际互联协议IP地址;
[0024] 根据业务报文的接收情况判断所述客户端所对应的所述IP地址是否为非法IP地址;
[0025] 若所述IP地址为所述非法IP地址,则根据所述第一TCP连接请求与所述客户端建立通信连接,并拒绝向服务器发送所述第一TCP连接请求;
[0026] 所述总线系统用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
[0027] 本发明第六方面提供了一种网络攻击防御系统,所述网络攻击防御系统包括客户端、服务器以及网络攻击防御装置;
[0028] 所述客户端向所述网络攻击的防御装置发送第一传输控制协议TCP连接请求,其中,所述第一TCP连接请求中携带所述客户端的网际互联协议IP地址;
[0029] 所述网络攻击的防御装置判断所述客户端所对应的所述IP地址是否为非法IP地址;
[0030] 若所述IP地址为所述非法IP地址,则所述网络攻击的防御装置根据所述第一TCP连接请求与所述客户端建立通信连接,并拒绝向服务器发送所述第一TCP连接请求。
[0031] 本发明的第七方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
[0032] 从以上技术方案可以看出,本发明实施例具有以下优点:
[0033] 本发明实施例中,提供了一种网络攻击的防御方法,具体为网络攻击防御装置首先接收客户端发送的第一传输控制协议TCP连接请求,其中,第一TCP连接请求中携带了客户端的网际互联协议IP地址,然后该网络攻击防御装置根据业务报文的接收情况判断客户端所对应的IP地址是否为非法IP地址,如果IP地址为非法IP地址,那么可以根据第一TCP连接请求与客户端建立通信连接,并拒绝向服务器发送第一TCP连接请求。通过上述方式,网络攻击防御装置作为防护系统,可代替服务器先与客户端建立通信连接,并根据业务报文的接收情况检测客户端IP地址的合法性,检测IP地址合法性之前无需对每个IP地址都配置连接总量阈值或者连接并发速率阈值,从而提升了配置效率,提升方案的灵活性。

附图说明

[0034] 图1为本发明实施例中网络攻击防御系统的架构图;
[0035] 图2为本发明实施例中网络攻击的防御方法一个交互实施例示意图;
[0036] 图3为本发明实施例中网络攻击的防御方法一个实施例示意图;
[0037] 图4为本发明实施例中处理攻击型客户端的一个流程示意图;
[0038] 图5为本发明实施例中处理安全型客户端的一个流程示意图;
[0039] 图6为本发明实施例中网络攻击的防御方法另一个实施例示意图;
[0040] 图7为本发明应用场景中针对连接耗尽攻击的防御流程示意图;
[0041] 图8为本发明实施例中网络攻击防御装置一个实施例示意图;
[0042] 图9为本发明实施例中网络攻击防御装置另一个实施例示意图;
[0043] 图10为本发明实施例中网络攻击防御装置另一个实施例示意图;
[0044] 图11为本发明实施例中网络攻击防御装置另一个实施例示意图;
[0045] 图12为本发明实施例中网络攻击防御装置另一个实施例示意图;
[0046] 图13为本发明实施例中网络攻击防御装置另一个实施例示意图;
[0047] 图14为本发明实施例中客户端一个实施例示意图;
[0048] 图15为本发明实施例中客户端另一个实施例示意图;
[0049] 图16为本发明实施例中客户端另一个实施例示意图;
[0050] 图17为本发明实施例中网络攻击防御装置一个结构示意图;
[0051] 图18为本发明实施例中客户端一个结构示意图;
[0052] 图19为本发明实施例中网络攻击防御系统一个实施例示意图。

具体实施方式

[0053] 本发明实施例提供了一种网络攻击的防御方法、相关设备及系统,网络攻击防御装置可代替服务器先与客户端建立通信连接,并根据业务报文的接收情况检测客户端IP地址的合法性,检测IP地址合法性之前无需对每个IP地址都配置连接总量阈值或者连接并发速率阈值,从而提升了配置效率。
[0054] 本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0055] 应理解,本发明实施例主要应用于网络攻击中的DDOS攻击,而DDOS的攻击方式有很多种,其中,一种常见的攻击方式为连接耗尽攻击,连接耗尽攻击是指攻击者通过僵尸网络,向服务器发起大量的传输控制协议(Transmission Control Protocol,TCP)连接,耗尽服务器的TCP连接资源。连接耗尽一般有以下几种攻击类型:
[0056] 第一种为攻击者与服务器完成三次握手后,不发送任何报文,一直维持这些TCP连接;
[0057] 第二种为攻击者与服务器完成三次握手后,立刻发送终结(Finish,FIN)报文或重置((Reset,RST)报文,释放本端连接,同时快速发起新的连接;
[0058] 第三种为攻击者连接过程中呈现给服务器端很小的TCP窗口大小,导致服务器TCP协议栈资源耗尽;
[0059] 第四种为攻击者发送大量TCP重传请求,以很小的流量即可导致被攻击网络上行链路拥塞。
[0060] 而本发明可以通过在服务器前端加入防护系统来抵御攻击者的连接耗尽攻击,防护系统只会放行安全的客户端,使得这些客户端与服务器能够建立TCP连接。请参阅图1,图1为本发明实施例中网络攻击防御系统的架构图,如图所示,在服务器前端部署有网络攻击防御装置,可以理解的是,该网络攻击防御装置可以部署于前端服务器中,或者以防火墙的形式部署在服务器的前端。图1中的四台客户端仅为一个示意,在实际应用中,网络攻击防御装置还可以针对更多或者更少的客户端进行防御。
[0061] 网络攻击防御装置可以由软件和硬件设备组合而成、在客户端和服务器之间构造保护屏障,从而服务器免受非法客户端的侵入,网络攻击防御装置可以由服务访问规则、验证工具、包过滤和应用网关4个部分组成,客户端流入流出的所有网络通信和数据包均要经过此网络攻击防御装置。
[0062] 为了便于理解,请参阅图2,图2为本发明实施例中网络攻击的防御方法一个交互实施例示意图,如图所示,具体为:
[0063] 步骤101中,客户端向网络攻击防御装置发送TCP连接请求,其中,该TCP连接请求中携带了客户端的IP地址,TCP连接请求主要用于指示客户端与网络攻击防御装置进行三次握手,以建立TCP连接;
[0064] 步骤102中,网络攻击防御装置根据TCP连接请求与客户端建立起TCP连接,然后进一步判断该客户端的IP地址是否为非法的IP地址,如果是非法IP地址,则执行步骤103,反之,如果是合法IP地址,则进入步骤104;
[0065] 步骤103中,如果客户端的IP地址属于非法IP地址,则该客户端无法连接到服务器,而是只跟网络攻击防御装置建立连接,由网络攻击防御装置消耗掉客户端的TCP连接请求;
[0066] 步骤104中,如果客户端的IP地址属于合法IP地址,则网络攻击防御装置将会放行该客户端,从而使得该客户端能够进而与服务器建立TCP连接。
[0067] 下面将从网络攻击防御装置的角度,对本发明中网络攻击的防御方法进行介绍,请参阅图3,本发明实施例中网络攻击的防御方法一个实施例包括:
[0068] 201、接收客户端发送的第一传输控制协议TCP连接请求,其中,第一TCP连接请求中携带客户端的网际互联协议IP地址;
[0069] 本实施例中,网络攻击防御装置首先接收客户端发送的第一TCP连接请求,其中,第一TCP连接请求中携带了客户端的IP地址。网络攻击防御装置可以根据第一TCP连接请求与客户端进行TCP的三次握手,握手成功后建立TCP连接。
[0070] 202、根据业务报文的接收情况判断客户端所对应的IP地址是否为非法IP地址;
[0071] 本实施例中,网络攻击防御装置在与客户端建立TCP连接之后,进一步根据业务报文的接收情况判断该客户端对应的IP地址是否属于合法的IP地址。其中,合法IP地址是指没有攻击性的IP地址,攻击者的IP地址或者傀儡机的IP地址就是非法的IP地址。
[0072] 业务报文包含了将要发送的完整的业务信息,业务报文的报文长短可以不一致,长度不限且可变。报文也是网络传输的单位,传输过程中会不断的封装成分组、包或帧来传输,封装的方式就是添加一些信息段,那些就是报文头以一定格式组织起来的数据。业务报文中的业务信息也可以有多种,比如语音业务信息以及查询业务信息等。
[0073] 203、若IP地址为非法IP地址,则根据第一TCP连接请求与客户端建立通信连接,并拒绝向服务器发送第一TCP连接请求。
[0074] 本实施例中,如果客户端的IP地址是非法IP地址,则网络攻击防御装置与客户端建立TCP连接,而不会对该客户端放行。从而使得具有非法IP地址的客户端不能与服务器建立TCP连接。
[0075] 为了便于介绍,请参阅图4,图4为本发明实施例中处理攻击型客户端的一个流程示意图,如图所示,具体为:
[0076] 步骤301中,攻击型客户端先向网络攻击防御装置发送握手信号(synchronous,SYN),从而进入SYN_SEND状态;
[0077] 步骤302中,网络攻击防御装置收到SYN,回应一个SYN握手确认信号,从而进入SYN_RECV状态;
[0078] 步骤303中,客户端收到网络攻击防御装置发送的SYN之后,回应一个确认信号(Acknowledgement,ACK),以此进入TCP连接状态。
[0079] 至此,执行完步骤301至步骤303后,客户端和网络攻击防御装置成功地建立连接,可以开始传输数据了,但由于攻击型客户端是不会发送真正的业务数据,因此,在客户端和网络攻击防御装置建立了TCP连接后,将执行步骤304,即网络攻击防御装置防止攻击型客户端与服务器建立TCP连接。
[0080] 需要说明的是,在本方案中网络攻击防御装置采用TCP协议与客户端以及服务器建立通信连接,在实际应用中,还可以采用其他通信协议建立与客户端以及服务器的连接,而不同的协议可能会出现不同的交互方式,例如,本发明中的TCP协议采用“三次握手”的通信方式。
[0081] 本发明实施例中,提供了一种网络攻击的防御方法,具体为网络攻击防御装置首先接收客户端发送的第一传输控制协议TCP连接请求,其中,第一TCP连接请求中携带了客户端的网际互联协议IP地址,然后该网络攻击防御装置根据业务报文的接收情况判断客户端所对应的IP地址是否为非法IP地址,如果IP地址为非法IP地址,那么可以根据第一TCP连接请求与客户端建立通信连接,并拒绝向服务器发送第一TCP连接请求。通过上述方式,网络攻击防御装置作为防护系统,可代替服务器先与客户端建立通信连接,并根据业务报文的接收情况检测客户端IP地址的合法性,检测IP地址合法性之前无需对每个IP地址都配置连接总量阈值或者连接并发速率阈值,从而提升了配置效率,提升方案的灵活性。
[0082] 可选地,在上述图3对应的实施例的基础上,本发明实施例提供的网络攻击的防御方法第一个可选实施例中,判断客户端所对应的IP地址是否为非法IP地址之后,还可以包括:
[0083] 若IP地址为合法IP地址,则接收客户端发送的第二TCP连接请求;
[0084] 向服务器发送第二TCP连接请求,以使服务器根据第二TCP连接请求与客户端建立通信连接。
[0085] 本实施例中,如果网络攻击防御装置检测到客户端的IP地址为合法IP地址,那么可以进一步接收客户端发送的第二TCP连接请求,再将第二TCP连接请求转发至服务器,其中,第二TCP连接请求用于指示客户端与服务器建立TCP连接。
[0086] 可以理解的是,网络攻击防御装置主要是透传第二TCP连接请求,不需要对第二TCP连接请求进行任何处理。为了便于介绍,请参阅图5,图5为本发明实施例中处理安全型客户端的一个流程示意图,具体地:
[0087] 步骤401中,安全型客户端先向网络攻击防御装置发送第一SYN,从而进入SYN_SEND状态;
[0088] 步骤402中,网络攻击防御装置收到第一SYN之后,回应一个第一SYN握手确认信号,从而进入SYN_RECV状态;
[0089] 步骤403中,客户端收到网络攻击防御装置发送的第一SYN之后,回应一个第一ACK,以此进入TCP连接状态;
[0090] 步骤404中,网络攻击防御装置检测是否收到客户端发送的业务数据,如果收到业务数据,那就可以确定该客户端就是安全型客户端;
[0091] 步骤405中,网络攻击防御装置在得到客户端属于安全型客户端之后,会向安全型客户端发送重置连接请求;
[0092] 步骤406中,安全型客户端可以根据重置连接请求直接与服务器连接TCP连接,即安全型客户端向服务器发送第二SYN,从而进入SYN_SEND状态;
[0093] 步骤407中,服务器收到第二SYN之后,回应一个第二SYN握手确认信号,从而进入SYN_RECV状态;
[0094] 步骤408中,客户端收到服务器发送的第二SYN之后,回应一个第二ACK,以此建立起服务器与客户端之间的TCP连接。
[0095] 其次,本发明实施例中,对于合法的IP地址,网络攻击防御装置可以直接接收客户端发送的第二TCP连接请求,然后向服务器转发该第二TCP连接请求,以使得服务器根据第二TCP连接请求与客户端建立通信连接。通过上述方式,如果客户端具有合法的IP地址,那么网络攻击防御装置就会认为该客户端为正常客户端,从而不会误杀正常客户端,而是将正常客户端发送的TCP连接请求转发至服务器,以此也保护了服务器的可用性以及业务的连续性。
[0096] 可选地,在上述图3或图3对应的第一个实施例的基础上,本发明实施例提供的网络攻击的防御方法第二个可选实施例中,根据业务报文的接收情况判断客户端所对应的IP地址是否为非法IP地址,可以包括:
[0097] 判断在预置时间内是否接收到客户端发送的业务报文;
[0098] 若在预置时间内未接收到客户端发送的业务报文,则确定IP地址为非法IP地址;
[0099] 若在预置时间内接收到客户端发送的业务报文,则确定IP地址为合法IP地址,并将合法IP地址加入至合法IP地址列表。
[0100] 本实施例中,将具体介绍网络攻击防御装置如何确定客户端IP地址的合法性。具体地,首先网络攻击防御装置先判断在预置时间内是否接收到客户端发送的业务报文,通常情况下,在客户端与网络攻击防御装置完成三次握手之后,可以开始发送与业务相关的业务数据,如果在预置时间都没有收到该客户端发送的业务数据,就可以认为该客户端只建立TCP连接,而不传输有用的数据,此时,该客户端的IP地址属于非法IP地址。
[0101] 相反地,如果在预置时间内收到了客户端发送的业务数据,则认为该客户端为安全型客户端,且该客户端的IP地址属于合法IP地址。需要说明的是,预置时间可以是15分钟,也可以是其他合理的时间,此处不作限定。
[0102] 在网络攻击防御装置中可以维护一个合法IP地址列表,合法IP地址列表中存储有至少一个合法的IP地址,请参阅表1,表1为合法IP地址列表。
[0103] 表1
[0104]合法IP地址
119.137.92.133
11.111.45.25
172.16.0.0
218.24.166.12
58.34.188.0
[0105] 再次,本发明实施例中,提出了如何判断客户端的IP地址是否合法的方法,即网络攻击防御装置判断在预置时间内是否接收到客户端发到的业务报文,如果没有,则认为该客户端的IP地址就是非法IP地址,反之,如果在预置时间内接收到了客户端的业务报文,则认为该客户端的IP地址为合法IP地址,从而还可以将合法IP地址添加至合法IP地址列表中。通过上述方式,能够合理地确定客户端IP地址是否合法,通过分析客户端的行为区分正常客户端和攻击客户端,从而有效且准确地防护连续攻击。
[0106] 可选地,在上述图3对应的第二个实施例的基础上,本发明实施例提供的网络攻击的防御方法第三个可选实施例中,还可以包括:
[0107] 接收客户端发送的第三TCP连接请求,其中,第三TCP连接请求携带客户端的待检测IP地址;
[0108] 判断待检测IP地址是否位于合法IP地址列表中,若是,则向服务器发送第三TCP连接请求,以使服务器根据第三TCP连接请求与客户端建立通信连接。
[0109] 本实施例中,在网络攻击防御装置中维护一个合法IP地址列表,当收到客户端发送的第三TCP连接请求,首先可以判断第三TCP连接请求所携带的待检测IP地址是否在合法IP地址列表,如果在合法IP地址列表中,则网络攻击防御装置直接对该客户端放行,即网络攻击防御装置或者客户端能够直接向服务器发送第三TCP连接请求,以使服务器根据第三TCP连接请求与客户端建立通信连接。
[0110] 进一步地,本发明实施例中,网络攻击防御装置还可以接收客户端发送的第三TCP连接请求,其中,第三TCP连接请求携带客户端的待检测IP地址,若待检测IP地址是否位于合法IP地址列表中,则网络攻击防御装置可以向服务器转发送第三TCP连接请求,以使服务器根据第三TCP连接请求与客户端建立通信连接。通过上述方式,可以利用合法IP地址列表直接对待检测IP地址是否合法进行判断,从而节省了客户端与网络攻击防御装置三次握手的时间,提升了防御效率。
[0111] 可选地,在上述图3对应的第一个实施例的基础上,本发明实施例提供的网络攻击的防御方法第四个可选实施例中,接收客户端发送的第二TCP连接请求之前,还可以包括:
[0112] 向客户端发送重置连接请求,其中,重置连接请求用于指示客户端发送第二TCP连接请求。
[0113] 本实施例中,如果客户端的IP地址为合法IP地址,那么可以认为该客户端为安全型客户端,在安全型客户端与网络攻击防御装置三次握手之后,主动向网络攻击防御装置发送TCP报文,其中,该TCP报文的tcp flag字段没有FIN和RST置位。于是网络攻击防御装置根据TCP报文与安全型客户端断开TCP连接。
[0114] 在安全型客户端与服务器建立TCP连接之前,由网络攻击防御装置主动向安全型客户端发送重置连接请求,以此通知安全型客户端可以向服务器发送第二TCP连接请求,即网络攻击防御装置对安全型客户端直接放行。
[0115] 其中,重置连接请求具体可以指RST报文,RST是TCP首部中6个标志比特之一,用于表示重置连接或复位连接。
[0116] 再次,本发明实施例中,网络攻击防御装置在接收客户端发送的第二TCP连接请求之前,还可以先向客户端发送重置连接请求,其中,重置连接请求用于指示客户端发送第二TCP连接请求。通过上述方式,可以增强方案的实用性和可操作性。
[0117] 可选地,在上述图3对应的实施例的基础上,本发明实施例提供的网络攻击的防御方法第五个可选实施例中,接收客户端发送的第一传输控制协议TCP连接请求之前,还可以包括:
[0118] 获取目标IP地址的连接并发量;
[0119] 接收客户端发送的第一传输控制协议TCP连接请求,可以包括:
[0120] 若目标IP地址的连接并发量大于或等于连接并发量阈值,则接收客户端发送的第一TCP连接请求。
[0121] 本实施例中,网络攻击防御装置通常会在一定条件下触发防护流程。首先网络攻击防御装置获取至少一个目标IP地址的连接并发量,目标IP地址是网络攻击防御装置能够检测到的IP地址,一旦目标IP地址的连接并发量大于或等于连接并发量阈值,说明当前存在恶意攻击的潜在危险,于是网络攻击防御装置需要开启防护流程,并接收客户端发送的第一TCP连接请求。
[0122] 其中,连接并发量是指网络攻击防御装置对其业务信息流的处理能力,是网络攻击防御装置能够同时处理的点对点连接的最大数目,它反映出网络攻击防御装置网络攻击防御装置对多个连接的访问控制能力和连接状态跟踪能力。连接并发量的增大意味着对系统内存资源的消耗,连接并发量的增大应当充分考虑中央处理器的处理能力。
[0123] 其次,本发明实施例中,网络攻击防御装置需要先获取目标IP地址的连接并发量,若目标IP地址的连接并发量大于或等于连接并发量阈值,则接收客户端发送的第一TCP连接请求。通过上述方式,可以在接收客户端发送的第一TCP连接请求之前,根据当前检测目标IP地址的连接并发量触发连接耗尽攻击防护机制,从而提升方案的实用性和可行性。
[0124] 上述实施例是从网络攻击防御装置的角度对本发明中网络攻击的防御方法进行介绍,下面将以客户端的角度对本发明中网络攻击的防御方法进行介绍,请参阅图6,本发明实施例中网络攻击的防御方法一个实施例包括:
[0125] 501、向网络攻击防御装置发送第一TCP连接请求,其中,第一TCP连接请求中携带客户端的IP地址;
[0126] 本实施例中,客户端首先向网络攻击防御装置发送第一TCP连接请求,其中,第一TCP连接请求中携带了客户端的IP地址。网络攻击防御装置可以根据第一TCP连接请求与客户端进行TCP的三次握手,握手成功后即建立TCP连接。
[0127] 502、接收网络攻击防御装置发送的第一反馈请求,并根据第一反馈请求拒绝向服务器发送第二TCP连接请求,其中,第一反馈请求用于指示IP地址为非法IP地址。
[0128] 本实施例中,网络攻击防御装置在与客户端建立TCP连接之后,进一步判断该客户端对应的IP地址是否属于非法IP地址。如果确定客户端所对应的IP地址为非法IP地址,则客户端仅仅与网络攻击防御装置建立TCP连接,而不会与服务器建立TCP连接,即拒绝向服务器发送第二TCP连接请求。
[0129] 本发明实施例中,提供了一种网络攻击的防御方法,具体为客户端先向网络攻击防御装置发送第一TCP连接请求,其中,第一TCP连接请求中携带客户端的IP地址,如果客户端对应的IP地址为非法IP地址,则拒绝向服务器发送第二TCP连接请求。通过上述方式,用户无需对非法性IP地址进行一一配置,而是由网络攻击防御装置代替服务器与具有非法性IP地址的客户端建立通信连接,以此消耗这些具有攻击性的连接请求,从而有效地对连接耗尽攻击进行拦截,并且可以灵活地应用于不同的业务场景。
[0130] 可选地,在上述图6对应的实施例的基础上,本发明实施例提供的网络攻击的防御方法第一个可选实施例中,向网络攻击防御装置发送第一TCP连接请求之后,还可以包括:
[0131] 根据第二反馈请求向服务器发送第二TCP连接请求,其中,第二TCP连接请求用于指示客户端与服务器建立通信连接,第二反馈请求用于指示IP地址为合法IP地址。
[0132] 本实施例中,如果网络攻击防御装置检测到客户端的IP地址为合法IP地址,那么客户端将直接向服务器发送第二TCP连接请求,服务器根据第二TCP连接请求与客户端建立TCP连接。可以理解的是,在实际应用中,客户端也可以向将第二TCP连接请求发送给网络攻击防御装置,由网络攻击防御装置将第二TCP连接请求转发给服务器。
[0133] 其次,本发明实施例中,对于合法的IP地址,客户端可以直接向网络攻击防御装置发送第二TCP连接请求,以使网络攻击防御装置向服务器转发第二TCP连接请求,其中,第二TCP连接请求用于指示客户端与服务器建立通信连接。通过上述方式,如果客户端具有合法的IP地址,那么网络攻击防御装置就会认为该客户端为正常客户端,从而不会误杀正常客户端,而是将正常客户端发送的TCP连接请求转发至服务器,以此也保护了服务器的可用性以及业务的连续性。
[0134] 可选地,在上述图6对应的第一个实施例的基础上,本发明实施例提供的网络攻击的防御方法第二个可选实施例中,向服务器发送第二TCP连接请求之前,还可以包括:
[0135] 接收网络攻击防御装置发送的重置连接请求;
[0136] 向服务器发送第二TCP连接请求,可以包括:
[0137] 根据重置连接请求向网络攻击防御装置发送第二TCP连接请求。
[0138] 本实施例中,如果客户端的IP地址为合法IP地址,那么可以认为该客户端为安全型客户端,在安全型客户端与服务器建立TCP连接之前,需要先向网络攻击防御装置发送TCP报文,该TCP报文的tcp flag字段没有FIN和RST置位。于是网络攻击防御装置根据TCP报文与安全型客户端断开TCP连接。然后由网络攻击防御装置主动向安全型客户端发送重置连接请求,以此通知安全型客户端可以根据重置连接请求向服务器发送第二TCP连接请求,即网络攻击防御装置对安全型客户端直接放行。
[0139] 其中,重置连接请求具体可以指RST报文,RST是TCP首部中6个标志比特之一,用于表示重置连接或复位连接。
[0140] 再次,本发明实施例中,客户端向网络攻击防御装置发送第二TCP连接请求之前,还可以先接收网络攻击防御装置发送的重置连接请求,然后根据重置连接请求向网络攻击防御装置发送第二TCP连接请求。通过上述方式,可以增强方案的实用性和可操作性。
[0141] 为便于理解,下面可以以一个具体应用场景对本发明中防御网络攻击的过程进行详细描述,请参阅图7,图7为本发明应用场景中针对连接耗尽攻击的防御流程示意图,具体为:
[0142] 在步骤601中,网络攻击防御装置具体可以为防护系统,防护系统实时检测IP地址的连接并发量,连接耗尽攻击发生后,被攻击IP的连接并发量将会突增;
[0143] 在步骤602中,一旦出现IP连接并发量突增的情况,就会触发防护系统的防护状态;
[0144] 在步骤603中,防护系统触发连接耗尽攻击防护状态后,防护系统将代替服务器与新来的客户端进行三次握手建立TCP连接,即未被防护系统加入信任列表中的客户端,其新建的TCP连接无法达到服务器,从而达到连接耗尽防护的目的;
[0145] 在步骤604中,防护系统在与客户端建立TCP连接后,将检测在一定时间内客户端是否主动发送数据,若否,则进入步骤605,若是,则跳转至步骤606;
[0146] 在步骤605中,攻击型客户端在与防护系统建立TCP连接后,不会主向防护系统发送数据,此时,防护系统可以在15分钟后断开与客户端的连接;
[0147] 在步骤606中,安全型客户端在与防护系统建立TCP连接后,会主动向防护系统发送数据,此时,防护系统就会认为该客户端对应的IP地址为合法IP地址,并把该合法IP地址加入信任,同时主动发送RST报文,让客户端重新连接;
[0148] 在步骤607中,客户端收到RST报文后,第一次建立的TCP连接断开,然后客户端重新发起TCP连接,防护系统对该TCP连接请求直接放行。
[0149] 下面对本发明中的网络攻击防御装置进行详细描述,请参阅图8,本发明实施例中的网络攻击防御装置70包括:
[0150] 第一接收模块701,用于接收客户端发送的第一传输控制协议TCP连接请求,其中,所述第一TCP连接请求中携带所述客户端的网际互联协议IP地址;
[0151] 第一判断模块702,用于判断所述客户端所对应的所述IP地址是否为非法IP地址;
[0152] 处理模块703,用于若所述第一判断模块702判断得到所述IP地址为所述非法IP地址,则根据所述第一接收模块701接收的所述第一TCP连接请求与所述客户端建立通信连接,并拒绝向服务器发送所述第一TCP连接请求。
[0153] 本实施例中,第一接收模块701接收客户端发送的第一传输控制协议TCP连接请求,其中,所述第一TCP连接请求中携带所述客户端的网际互联协议IP地址,第一判断模块702判断所述客户端所对应的所述IP地址是否为非法IP地址,若所述第一判断模块702判断得到所述IP地址为所述非法IP地址,则处理模块703根据所述第一接收模块701接收的所述第一TCP连接请求与所述客户端建立通信连接,并拒绝向服务器发送所述第一TCP连接请求。
[0154] 本发明实施例中,提供了一种网络攻击防御装置,具体为该网络攻击防御装置首先接收客户端发送的第一传输控制协议TCP连接请求,其中,第一TCP连接请求中携带了客户端的网际互联协议IP地址,然后该网络攻击防御装置根据业务报文的接收情况判断客户端所对应的IP地址是否为非法IP地址,如果IP地址为非法IP地址,那么可以根据第一TCP连接请求与客户端建立通信连接,并拒绝向服务器发送第一TCP连接请求。通过上述方式,网络攻击防御装置作为防护系统,可代替服务器先与客户端建立通信连接,并根据业务报文的接收情况检测客户端IP地址的合法性,检测IP地址合法性之前无需对每个IP地址都配置连接总量阈值或者连接并发速率阈值,从而提升了配置效率,提升方案的灵活性。
[0155] 可选地,在上述图8所对应的实施例的基础上,请参阅图9,本发明实施例提供的网络攻击防御装置70的另一实施例中,
[0156] 所述网络攻击防御装置70还包括:
[0157] 第二接收模块704,用于若所述第一判断模块702判断得到所述客户端所对应的所述IP地址为合法IP地址,则接收所述客户端发送的第二TCP连接请求;
[0158] 第一发送模块705,用于向所述服务器发送所述第二接收模块704接收的所述第二TCP连接请求,以使所述服务器根据所述第二TCP连接请求与所述客户端建立通信连接。
[0159] 其次,本发明实施例中,对于合法的IP地址,网络攻击防御装置可以直接接收客户端发送的第二TCP连接请求,然后向服务器转发该第二TCP连接请求,以使得服务器根据第二TCP连接请求与客户端建立通信连接。通过上述方式,如果客户端具有合法的IP地址,那么网络攻击防御装置就会认为该客户端为正常客户端,从而不会误杀正常客户端,而是将正常客户端发送的TCP连接请求转发至服务器,以此也保护了服务器的可用性以及业务的连续性。
[0160] 可选地,在上述图8或图9所对应的实施例的基础上,请参阅图10,本发明实施例提供的网络攻击防御装置70的另一实施例中,
[0161] 所述第一判断模块702包括:
[0162] 判断单元7021,用于判断在预置时间内是否接收到所述客户端发送的业务报文;
[0163] 第一确定单元7022,用于若所述判断单元7021判断得到在所述预置时间内未接收到所述客户端发送的所述业务报文,则确定所述IP地址为所述非法IP地址;
[0164] 第二确定单元7023,用于若所述判断单元7021判断得到在所述预置时间内接收到所述客户端发送的所述业务报文,则确定所述IP地址为所述合法IP地址,并将所述合法IP地址加入至合法IP地址列表。
[0165] 再次,本发明实施例中,提出了如何判断客户端的IP地址是否合法的方法,即判断在预置时间内是否接收到客户端发到的业务报文,如果没有,则认为该客户端的IP地址就是非法IP地址,反之,如果在预置时间内接收到了客户端的业务报文,则认为该客户端的IP地址为合法IP地址,从而还可以将合法IP地址添加至合法IP地址列表中。通过上述方式,能够合理地确定客户端IP地址是否合法,通过分析客户端的行为区分正常客户端和攻击客户端,从而有效且准确地防护连续攻击。
[0166] 可选地,在上述图10所对应的实施例的基础上,请参阅图11,本发明实施例提供的网络攻击防御装置70的另一实施例中,
[0167] 所述网络攻击防御装置70还包括:
[0168] 第三接收模块706,用于接收所述客户端发送的第三TCP连接请求,其中,所述第三TCP连接请求携带所述客户端的待检测IP地址;
[0169] 第二判断模块707,用于判断所述待检测IP地址是否位于所述合法IP地址列表中,若是,则向所述服务器发送所述第三接收模块706接收的所述第三TCP连接请求,以使所述服务器根据所述第三TCP连接请求与所述客户端建立通信连接。
[0170] 进一步地,本发明实施例中,网络攻击防御装置还可以接收客户端发送的第三TCP连接请求,其中,第三TCP连接请求携带客户端的待检测IP地址,若待检测IP地址是否位于合法IP地址列表中,则网络攻击防御装置可以向服务器转发送第三TCP连接请求,以使服务器根据第三TCP连接请求与客户端建立通信连接。通过上述方式,可以利用合法IP地址列表直接对待检测IP地址是否合法进行判断,从而节省了客户端与网络攻击防御装置三次握手的时间,提升了防御效率。
[0171] 可选地,在上述图9所对应的实施例的基础上,请参阅图12,本发明实施例提供的网络攻击防御装置70的另一实施例中,
[0172] 所述网络攻击防御装置70还包括:
[0173] 第二发送模块708,用于所述第二接收模块704接收所述客户端发送的第二TCP连接请求之前,向所述客户端发送重置连接请求,其中,所述重置连接请求用于指示所述客户端发送所述第二TCP连接请求。
[0174] 再次,本发明实施例中,网络攻击防御装置在接收客户端发送的第二TCP连接请求之前,还可以先向客户端发送重置连接请求,其中,重置连接请求用于指示客户端发送第二TCP连接请求。通过上述方式,可以增强方案的实用性和可操作性。
[0175] 可选地,在上述图8所对应的实施例的基础上,请参阅图13,本发明实施例提供的网络攻击防御装置70的另一实施例中,
[0176] 所述网络攻击防御装置70还包括:
[0177] 获取模块709,用于所述第一接收模块701接收客户端发送的第一传输控制协议TCP连接请求之前,获取目标IP地址的连接并发量;
[0178] 所述第一接收模块701包括:
[0179] 接收单元7011,用于若所述目标IP地址的连接并发量大于或等于连接并发量阈值,则接收客户端发送的所述第一TCP连接请求。
[0180] 其次,本发明实施例中,网络攻击防御装置需要先获取目标IP地址的连接并发量,若目标IP地址的连接并发量大于或等于连接并发量阈值,则接收客户端发送的第一TCP连接请求。通过上述方式,可以在接收客户端发送的第一TCP连接请求之前,根据当前检测目标IP地址的连接并发量触发连接耗尽攻击防护机制,从而提升方案的实用性和可行性。
[0181] 上面对本发明中的网络攻击防御装置进行了介绍,下面将对本发明中的客户端进行详细描述,请参阅图14,本发明实施例中的客户端80包括:
[0182] 第一发送模块801,用于向网络攻击防御装置发送第一传输控制协议TCP连接请求,其中,所述第一TCP连接请求中携带客户端的网际互联协议IP地址;
[0183] 拒绝模块802,用于接收所述网络攻击防御装置发送的第一反馈请求,并根据所述第一反馈请求拒绝向服务器发送第二TCP连接请求,其中,所述第一反馈请求用于指示所述IP地址为所述非法IP地址。
[0184] 本实施例中,第一发送模块801向网络攻击防御装置发送第一传输控制协议TCP连接请求,其中,所述第一TCP连接请求中携带客户端的网际互联协议IP地址,接收网络攻击防御装置发送的第一反馈请求,并根据第一反馈请求拒绝模块802拒绝向服务器发送第二TCP连接请求,其中,第一反馈请求用于指示IP地址为所非法IP地址。
[0185] 本发明实施例中,提供了一种客户端,具体为客户端先向网络攻击防御装置发送第一TCP连接请求,其中,第一TCP连接请求中携带客户端的IP地址,如果客户端对应的IP地址为非法IP地址,则拒绝向服务器发送第二TCP连接请求。通过上述方式,用户无需对非法性IP地址进行一一配置,而是由网络攻击防御装置代替服务器与具有非法性IP地址的客户端建立通信连接,以此消耗这些具有攻击性的连接请求,从而有效地对连接耗尽攻击进行拦截,并且可以灵活地应用于不同的业务场景。
[0186] 可选地,在上述图14所对应的实施例的基础上,请参阅图15,本发明实施例提供的客户端80的另一实施例中,
[0187] 所述客户端80还包括:
[0188] 第二发送模块803,用于所述第一发送模块801向所述网络攻击防御装置发送第一传输控制协议TCP连接请求之后,接收所述网络攻击防御装置发送的第二反馈请求,并根据所述第二反馈请求向所述服务器发送所述第二TCP连接请求,其中,所述第二TCP连接请求用于指示所述客户端与所述服务器建立通信连接,所述第二反馈请求用于指示所述IP地址为所述合法IP地址。
[0189] 其次,本发明实施例中,对于合法的IP地址,客户端可以直接向网络攻击防御装置发送第二TCP连接请求,以使网络攻击防御装置向服务器转发第二TCP连接请求,其中,第二TCP连接请求用于指示客户端与服务器建立通信连接。通过上述方式,如果客户端具有合法的IP地址,那么网络攻击防御装置就会认为该客户端为正常客户端,从而不会误杀正常客户端,而是将正常客户端发送的TCP连接请求转发至服务器,以此也保护了服务器的可用性以及业务的连续性。
[0190] 可选地,在上述图15所对应的实施例的基础上,请参阅图16,本发明实施例提供的客户端80的另一实施例中,
[0191] 所述客户端80还包括:
[0192] 接收模块804,用于所述第二发送模块803向所述服务器发送所述第二TCP连接请求之前,接收所述网络攻击防御装置发送的重置连接请求;
[0193] 所述第二发送模块803包括:
[0194] 发送单元8031,用于根据所述接收模块接收的所述重置连接请求向所述网络攻击防御装置发送所述第二TCP连接请求。
[0195] 再次,本发明实施例中,客户端向网络攻击防御装置发送第二TCP连接请求之前,还可以先接收网络攻击防御装置发送的重置连接请求,然后根据重置连接请求向网络攻击防御装置发送第二TCP连接请求。通过上述方式,可以增强方案的实用性和可操作性。
[0196] 图17是本发明实施例提供的一种网络攻击防御装置结构示意图,该网络攻击防御装置900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)922(例如,一个或一个以上处理器)和存储器932,一个或一个以上存储应用程序942或数据944的存储介质930(例如一个或一个以上海量存储设备)。其中,存储器932和存储介质930可以是短暂存储或持久存储。存储在存储介质930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器922可以设置为与存储介质930通信,在网络攻击防御装置900上执行存储介质930中的一系列指令操作。
[0197] 网络攻击防御装置900还可以包括一个或一个以上电源926,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口958,和/或,一个或一个以上操作系统941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
[0198] 上述实施例中由网络攻击防御装置所执行的步骤可以基于该图17所示的网络攻击防御装置结构。
[0199] 在本发明实施例中,该网络攻击防御装置所包括的CPU 922还具有以下功能:
[0200] 接收客户端发送的第一传输控制协议TCP连接请求,其中,所述第一TCP连接请求中携带所述客户端的网际互联协议IP地址;
[0201] 根据业务报文的接收情况判断所述客户端所对应的所述IP地址是否为非法IP地址;
[0202] 若所述IP地址为所述非法IP地址,则根据所述第一TCP连接请求与所述客户端建立通信连接,并拒绝向服务器发送所述第一TCP连接请求。
[0203] 可选地,CPU 922还用于执行如下步骤:
[0204] 若所述IP地址为合法IP地址,则接收所述客户端发送的第二TCP连接请求;
[0205] 向所述服务器发送所述第二TCP连接请求,以使所述服务器根据所述第二TCP连接请求与所述客户端建立通信连接。
[0206] 可选地,CPU 922具体用于执行如下步骤:
[0207] 判断在预置时间内是否接收到所述客户端发送的业务报文;
[0208] 若在所述预置时间内未接收到所述客户端发送的所述业务报文,则确定所述IP地址为所述非法IP地址;
[0209] 若在所述预置时间内接收到所述客户端发送的所述业务报文,则确定所述IP地址为所述合法IP地址,并将所述合法IP地址加入至合法IP地址列表。
[0210] 可选地,CPU 922还用于执行如下步骤:
[0211] 接收所述客户端发送的第三TCP连接请求,其中,所述第三TCP连接请求携带所述客户端的待检测IP地址;
[0212] 判断所述待检测IP地址是否位于所述合法IP地址列表中,若是,则向所述服务器发送所述第三TCP连接请求,以使所述服务器根据所述第三TCP连接请求与所述客户端建立通信连接。
[0213] 可选地,CPU 922还用于执行如下步骤:
[0214] 向所述客户端发送重置连接请求,其中,所述重置连接请求用于指示所述客户端发送所述第二TCP连接请求。
[0215] 可选地,CPU 922还用于执行如下步骤:
[0216] 获取目标IP地址的连接并发量;
[0217] CPU 922具体用于执行如下步骤:
[0218] 若所述目标IP地址的连接并发量大于或等于连接并发量阈值,则接收客户端发送的所述第一TCP连接请求。
[0219] 本发明实施例还提供了另一种客户端,如图18所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该客户端可以为包括手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、销售终端(Point of Sales,POS)、车载电脑等任意终端设备,以客户端为手机为例:
[0220] 图18示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图18,手机包括:射频(Radio Frequency,RF)电路1010、存储器1020、输入单元1030、显示单元
1040、传感器1050、音频电路1060、无线保真(wireless fidelity,WiFi)模块1070、处理器
1080、以及电源1090等部件。本领域技术人员可以理解,图18中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0221] 下面结合图18对手机的各个构成部件进行具体的介绍:
[0222] RF电路1010可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1080处理;另外,将设计上行的数据发送给基站。通常,RF电路1010包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路1010还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
[0223] 存储器1020可用于存储软件程序以及模块,处理器1080通过运行存储在存储器1020的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1020可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0224] 输入单元1030可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1030可包括触控面板1031以及其他输入设备1032。触控面板1031,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1031上或在触控面板1031附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1031可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1080,并能接收处理器1080发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1031。除了触控面板1031,输入单元1030还可以包括其他输入设备1032。具体地,其他输入设备1032可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
[0225] 显示单元1040可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1040可包括显示面板1041,可选的,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板1041。进一步的,触控面板1031可覆盖显示面板1041,当触控面板1031检测到在其上或附近的触摸操作后,传送给处理器1080以确定触摸事件的类型,随后处理器1080根据触摸事件的类型在显示面板1041上提供相应的视觉输出。虽然在图18中,触控面板1031与显示面板1041是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1031与显示面板1041集成而实现手机的输入和输出功能。
[0226] 手机还可包括至少一种传感器1050,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1041的亮度,接近传感器可在手机移动到耳边时,关闭显示面板
1041和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
[0227] 音频电路1060、扬声器1061,传声器1062可提供用户与手机之间的音频接口。音频电路1060可将接收到的音频数据转换后的电信号,传输到扬声器1061,由扬声器1061转换为声音信号输出;另一方面,传声器1062将收集的声音信号转换为电信号,由音频电路1060接收后转换为音频数据,再将音频数据输出处理器1080处理后,经RF电路1010以发送给比如另一手机,或者将音频数据输出至存储器1020以便进一步处理。
[0228] WiFi属于短距离无线传输技术,手机通过WiFi模块1070可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图18示出了WiFi模块1070,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
[0229] 处理器1080是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1020内的软件程序和/或模块,以及调用存储在存储器1020内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1080可包括一个或多个处理单元;可选的,处理器1080可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1080中。
[0230] 手机还包括给各个部件供电的电源1090(比如电池),可选的,电源可以通过电源管理系统与处理器1080逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
[0231] 尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
[0232] 在本发明实施例中,该终端所包括的处理器1080还具有以下功能:
[0233] 向网络攻击防御装置发送第一传输控制协议TCP连接请求,其中,所述第一TCP连接请求中携带客户端的网际互联协议IP地址;
[0234] 若所述网络攻击防御装置根据第一TCP连接请求确定所述客户端的所述IP地址为非法IP地址,则接收所述网络攻击防御装置发送的第一反馈请求,并根据所述第一反馈请求拒绝向服务器发送第二TCP连接请求,其中,所述第一反馈请求用于指示所述IP地址为所述非法IP地址。
[0235] 可选地,处理器1080还用于执行如下步骤:
[0236] 若所述客户端所对应的所述IP地址为合法IP地址,则接收所述网络攻击防御装置发送的第二反馈请求,并根据所述第二反馈请求向所述服务器发送所述第二TCP连接请求,其中,所述第二TCP连接请求用于指示所述客户端与所述服务器建立通信连接,所述第二反馈请求用于指示所述IP地址为所述合法IP地址。
[0237] 可选地,处理器1080还用于执行如下步骤:
[0238] 接收所述网络攻击防御装置发送的重置连接请求;
[0239] 处理器1080具体用于执行如下步骤:
[0240] 根据所述重置连接请求向所述网络攻击防御装置发送所述第二TCP连接请求。
[0241] 请参阅图19,图19为本发明实施例中网络攻击的防御系统一个实施例示意图,其中,网络攻击防御系统包括网络攻击防御装置1101、客户端1102以及服务器1103,网络攻击防御系统包括:
[0242] 客户端1102向网络攻击防御装置1101发送第一TCP连接请求,其中,第一TCP连接请求中携带客户端1102的网际互联协议IP地址;
[0243] 网络攻击防御装置1101根据业务报文的接收情况判断客户端1102所对应的IP地址是否为非法IP地址;
[0244] 若IP地址为非法IP地址,则网络攻击防御装置1101根据第一TCP连接请求与客户端1102建立通信连接,并拒绝向服务器发送第一TCP连接请求。
[0245] 本发明实施例中,提供了一种网络攻击防御系统,具体为该网络攻击防御装置首先接收客户端发送的第一传输控制协议TCP连接请求,其中,第一TCP连接请求中携带了客户端的网际互联协议IP地址,然后该网络攻击防御装置根据业务报文的接收情况判断客户端所对应的IP地址是否为非法IP地址,如果IP地址为非法IP地址,那么可以根据第一TCP连接请求与客户端建立通信连接,并拒绝向服务器发送第一TCP连接请求。通过上述方式,网络攻击防御装置作为防护系统,可代替服务器先与客户端建立通信连接,并根据业务报文的接收情况检测客户端IP地址的合法性,检测IP地址合法性之前无需对每个IP地址都配置连接总量阈值或者连接并发速率阈值,从而提升了配置效率,提升方案的灵活性。
[0246] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0247] 在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0248] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0249] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0250] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0251] 以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。