CN109818912B - 防范泛洪攻击的方法、装置、负载均衡设备和存储介质 - Google Patents

防范泛洪攻击的方法、装置、负载均衡设备和存储介质 Download PDF

Info

Publication number
CN109818912B
CN109818912B CN201711172194.3A CN201711172194A CN109818912B CN 109818912 B CN109818912 B CN 109818912B CN 201711172194 A CN201711172194 A CN 201711172194A CN 109818912 B CN109818912 B CN 109818912B
Authority
CN
China
Prior art keywords
synchronous
authentication information
client
information value
message
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.)
Active
Application number
CN201711172194.3A
Other languages
English (en)
Other versions
CN109818912A (zh
Inventor
张宇
杨光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Cloud Network Technology Co Ltd, Beijing Kingsoft Cloud Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN201711172194.3A priority Critical patent/CN109818912B/zh
Publication of CN109818912A publication Critical patent/CN109818912A/zh
Application granted granted Critical
Publication of CN109818912B publication Critical patent/CN109818912B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供了一种防范泛洪攻击的方法、装置、负载均衡设备和存储介质。其中,该防范泛洪攻击的方法应用于工作在直接路由模式下的负载均衡设备。该防范泛洪攻击的方法包括:接收客户端向服务器发送的第一同步报文,并基于第一同步报文生成第一同步认证信息值;向客户端发送包括第一同步认证信息值的同步确认报文;接收客户端发送的确认报文,从确认报文中提取第二同步认证信息值;其中,第二同步认证信息值由客户端基于第一同步认证信息值生成;将第二与第一同步认证信息值进行匹配;如果匹配失败,则停止向服务器发送第二同步报文。由此,本发明实施例解决了如何使工作在直接路由模式下的负载均衡设备防范泛洪攻击的技术问题。

Description

防范泛洪攻击的方法、装置、负载均衡设备和存储介质
技术领域
本发明涉及网络安全技术领域,特别是涉及一种防范泛洪攻击的方法、装置、负载均衡设备和存储介质。
背景技术
目前,随着网络应用越来越广泛,访问量和数据流量日益增多,相应地,要求服务器的处理能力和计算强度也越来越高,使得单一的服务器设备无法承担相应的网络需求。所以,云计算通常采用部署集群的方式来分担业务处理的负载,同时为了提高各个业务服务器的利用率,不使其过载使用,并且最大程度地发挥各业务服务器的各个业务处理能力,例如,可以通过工作在传输层的负载均衡设备的数据转发功能,来实现业务负载在多个业务服务器上均衡分配。
具体的,在负载均衡设备实现数据转发之前,负载均衡设备需要分别与客户端和各个业务服务器建立TCP(Transmission Control Protocol,传输控制协议)连接。其中,TCP连接的建立需要三次握手过程。以在负载均衡设备与客户端之间建立TCP连接为例,三次握手过程为:第一次握手过程是客户端向负载均衡设备发送同步报文;第二次握手过程是负载均衡设备收到该同步报文后,向客户端返回同步确认报文;第三次握手过程是客户端接收到同步确认报文后,向负载均衡设备返回确认报文。其中,在第二次握手过程中,TCP协议规定:如果业务服务器作为发送同步确认报文的一方没有接收到来自客户端的确认报文,则要一直处于等待接收确认报文的状态,并将客户端的IP(互联网协议)地址加入等待队列,且向客户端重发同步确认报文,之后,业务服务器还为TCP连接的建立预分配存储空间。
在实际应用中,网络攻击者会利用上述TCP协议的规定,向负载均衡设备实施SYNFlood攻击(泛洪攻击)。举例来说,网络攻击者会伪装成客户端,使用虚假的IP(InternetProtocol,互联网协议)地址,向负载均衡设备发送大量伪造的同步报文,该负载均衡设备将伪造的同步报文转发至业务服务器,业务服务器接收到伪造的同步报文后,再向负载均衡设备反馈同步确认报文,然后,负载均衡设备再将该同步确认报文发送至伪装的客户端。
此时,该伪装的客户端不再向负载均衡设备反馈确认报文,从而也就使得负载均衡设备不再向业务服务器发送确认报文,致使业务服务器始终处于等待接收确认报文的状态并始终保留预分配的存储空间。由于网络攻击者伪造了大量的伪造同步报文,所以,这会使得业务服务器所维护的等待接收确认报文的状态数量超过极限值,由此使得业务服务器拒绝新的TCP连接的建立请求,从而导致真实的客户端无法访问业务服务器。
上述负载均衡设备可以工作于直接路由模式、反向代理模式和透传模式。目前,针对工作在反向代理模式和透传模式下的负载均衡设备存在防范泛洪攻击的措施,但针对工作在DR模式(direct routing,直接路由模式)下的负载均衡设备受到泛洪攻击时,没有相应的防范措施。
发明内容
本发明实施例的目的在于提供一种防范泛洪攻击的方法、装置、负载均衡设备和存储介质,以实现工作在直接路由模式下的负载均衡设备能够防范泛洪攻击。
为了实现上述目的,第一方面,提供了以下技术方案:
一种防范泛洪攻击的方法,应用于工作在直接路由模式下的负载均衡设备;
所述方法包括:
当所述负载均衡设备与所述客户端建立传输控制协议TCP连接时,接收所述客户端向服务器发送的第一同步报文,并基于所述第一同步报文生成第一同步认证信息值;
向所述客户端发送包括所述第一同步认证信息值的同步确认报文;
接收所述客户端发送的确认报文,从所述确认报文中提取第二同步认证信息值;其中,所述第二同步认证信息值由所述客户端基于所述第一同步认证信息值生成;
将所述第二同步认证信息值与所述第一同步认证信息值进行匹配;
如果匹配失败,则停止向所述服务器发送第二同步报文;
如果匹配成功,则向所述服务器发送所述第二同步报文。
可选的,在所述向所述客户端发送包括所述第一同步认证信息值的同步确认报文的步骤之后,所述方法还包括:
如果在预设时间段内未接收到来自所述客户端的确认报文,则停止向所述服务器发送第二同步报文。
可选的,所述同步确认报文包括序列号字段,所述确认报文包括确认号字段;
所述向所述客户端发送包括第一同步认证信息值的同步确认报文的步骤,包括:
将所述第一同步认证信息值作为所述序列号字段的内容,向所述客户端发送包括所述序列号字段的所述同步确认报文;
所述接收所述客户端发送的确认报文,从所述确认报文中提取第二同步认证信息值的步骤,包括:
接收所述客户端发送的确认报文,从所述确认报文中提取确认号字段中的内容,作为所述第二同步认证信息值,所述确认号字段根据接收到的确认报文中的序列号字段获得。
可选的,所述将所述第二同步认证信息值与所述第一同步认证信息值进行匹配的步骤,包括:
将所述第二同步认证信息值与所述第一同步认证信息值进行比较;其中,所述第二同步认证信息值在所述客户端为合法客户端的情况下,根据所述TCP连接的建立条件,由所述合法客户端将接收到的所述第一同步认证信息值进行加1操作而得到;
如果所述第二同步认证信息值与所述第一同步认证信息值的差值为1,则确定匹配成功;否则,确定匹配失败。
可选的,所述基于所述第一同步报文生成第一同步认证信息值的步骤,包括:
记录接收所述第一同步报文的时间;
从所述第一同步报文中提取出源端口号字段的内容、目的端口号字段的内容、源互联网协议IP地址字段的内容和目的IP地址字段的内容;
根据所述负载均衡设备当前的工作状态,生成一个随机数;
对所记录的时间、所述源端口号字段的内容、所述目的端口号字段的内容、所述源IP地址字段的内容、所述目的IP地址字段的内容和所述随机数,进行哈希计算,得到哈希值,并将所述哈希值作为所述第一同步认证信息值。
可选的,所述向所述服务器发送所述第二同步报文的步骤,包括:
根据轮询调度算法、加权轮询调度算法、最少连接数调度算法或加权最少连接数调度算法,选择待接收所述第二同步报文的服务器;
向选中的待接收所述第二同步报文的服务器,发送所述第二同步报文。
可选的,所述第二同步报文包括选项字段;所述负载均衡设备包括网卡;
所述向选中的待接收所述第二同步报文的服务器,发送所述第二同步报文的步骤,包括:
获取所述网卡的接口地址;
基于所述网卡的接口地址,按照预定格式,生成目标数值;
将所述目标数值作为所述选项字段的内容,向选中的待接收所述第二同步报文的服务器,发送包括所述选项字段的所述第二同步报文。
为了实现上述目的,第二方面,还提供了以下技术方案:
一种防范泛洪攻击的装置,应用于工作在直接路由模式下的负载均衡设备;
所述装置包括:
第一接收模块,用于当所述负载均衡设备与所述客户端建立传输控制协议TCP连接时,接收所述客户端向服务器发送的第一同步报文,并基于所述第一同步报文生成第一同步认证信息值;
第一发送模块,用于向所述客户端发送包括所述第一同步认证信息值的同步确认报文;
第二接收模块,用于接收所述客户端发送的确认报文,从所述确认报文中提取第二同步认证信息值;其中,所述第二同步认证信息值由所述客户端基于所述第一同步认证信息值生成;
匹配模块,用于将所述第二同步认证信息值与所述第一同步认证信息值进行匹配;
第一停止模块,用于在匹配失败的情况下,停止向所述服务器发送第二同步报文;
第二发送模块,用于在匹配成功的情况下,向所述服务器发送所述第二同步报文。
可选的,所述装置还包括:
第二停止模块,用于当在预设时间段内未接收到来自所述客户端的确认报文时,停止向所述服务器发送第二同步报文。
可选的,所述同步确认报文包括序列号字段,所述确认报文包括确认号字段;
所述第一发送模块包括:
第一发送单元,用于将所述第一同步认证信息值作为所述序列号字段的内容,向所述客户端发送包括所述序列号字段的所述同步确认报文;
所述第二接收模块包括:
接收单元,用于接收所述客户端发送的确认报文,从所述确认报文中提取确认号字段中的内容,作为所述第二同步认证信息值,所述确认号字段根据接收到的确认报文中的序列号字段获得。
可选的,所述匹配模块包括:
比较单元,用于将所述第二同步认证信息值与所述第一同步认证信息值进行比较;其中,所述第二同步认证信息值在所述客户端为合法客户端的情况下,根据所述TCP连接的建立条件,由所述合法客户端将接收到的所述第一同步认证信息值进行加1操作而得到;
确定单元,用于在所述第二同步认证信息值与所述第一同步认证信息值的差值为1的情况下,确定匹配成功;否则,确定匹配失败。
可选的,所述第一接收模块包括:
记录单元,用于记录接收所述第一同步报文的时间;
提取单元,用于从所述第一同步报文中提取出源端口号字段的内容、目的端口号字段的内容、源互联网协议IP地址字段的内容和目的IP地址字段的内容;
生成单元,用于根据所述负载均衡设备当前的工作状态,生成一个随机数;
计算单元,用于对所记录的时间、所述源端口号字段的内容、所述目的端口号字段的内容、所述源IP地址字段的内容、所述目的IP地址字段的内容和所述随机数,进行哈希计算,得到哈希值,并将所述哈希值作为所述第一同步认证信息值。
可选的,所述第二发送模块包括:
选择单元,用于根据轮询调度算法、加权轮询调度算法、最少连接数调度算法或加权最少连接数调度算法,选择待接收所述第二同步报文的服务器;
第二发送单元,用于向选中的待接收所述第二同步报文的服务器,发送所述第二同步报文。
可选的,所述第二同步报文包括选项字段;所述负载均衡设备包括网卡;
所述第二发送单元包括:
获取子单元,用于获取所述网卡的接口地址;
生成子单元,用于基于所述网卡的接口地址,按照预定格式,生成目标数值;
发送子单元,用于将所述目标数值作为所述选项字段的内容,向选中的待接收所述第二同步报文的服务器,发送包括所述选项字段的所述第二同步报文。
为了实现上述目的,第三方面,还提供了以下技术方案:
一种负载均衡设备,包括处理器和存储器;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现第一方面所述的方法步骤。
为了实现上述目的,第四方面,还提供了以下技术方案:
一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法步骤。
本发明实施例提供一种防范泛洪攻击的方法、装置、负载均衡设备和存储介质。其中,该防范泛洪攻击的方法应用于工作在直接路由模式下的负载均衡设备。该防范泛洪攻击的方法包括:当负载均衡设备与客户端建立TCP连接时,接收客户端向服务器发送的第一同步报文,并基于第一同步报文生成第一同步认证信息值;向客户端发送包括第一同步认证信息值的同步确认报文;接收客户端发送的确认报文,从确认报文中提取第二同步认证信息值;其中,第二同步认证信息值由客户端基于第一同步认证信息值生成;将第二同步认证信息值与第一同步认证信息值进行匹配;如果匹配失败,则停止向服务器发送第二同步报文;如果匹配成功,则向服务器发送第二同步报文。
与现有技术相比,本发明实施例通过将生成的第一同步认证信息值添加入反馈给客户端的同步确认报文中;当接收到来自该客户端的确认报文时,从该确认报文中提取由客户端生成的第二同步认证信息值,最后,再将第二同步认证信息值与第一同步认证信息值进行匹配,根据匹配结果是否符合TCP协议的相关规定,来确定匹配的成败,并以此来判断客户端是否为伪客户端;在客户端为合法客户端的情况下,向服务器发送第二同步报文,但在客户端为伪客户端的情况下停止向服务器发送第二同步报文;由此,本发明实施例实现了通过工作在直接路由模式下的负载均衡设备来防范泛洪攻击的目的,使得服务器可以正常工作,确保了客户端可以正常访问服务器上的资源。
当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为传统负载均衡设备在DR模式下转发客户端的报文的示意图;
图2为根据本发明实施例的防范泛洪攻击的方法的流程示意图;
图3为根据本发明实施例的在建立客户端和服务器的TCP连接中客户端、负载均衡设备和服务器之间交互的示意图;
图4为根据本发明实施例的在建立客户端和服务器的TCP连接中客户端、负载均衡设备和服务器之间交互的示意图;
图5为根据本发明实施例的防范泛洪攻击的装置的结构示意图;
图6为根据本发明实施例的负载均衡设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在网络应用中,为了确保其可靠性、容灾性和扩展性,通常通过负载均衡设备来实现业务负载在业务服务器上的均衡分配。其中,负载均衡设备既可以通过软件实现,也可以通过硬件实现。例如,负载均衡设备可以是LVS(Linux Virtual Server,Linux虚拟服务器),也可以是F5负载均衡设备(一种硬件负载均衡设备)等。在DR模式中,负载均衡设备负责调度请求,服务器将响应直接返回给客户端。图1示例性地示出了传统负载均衡设备在DR模式下转发客户端的报文的示意图。如图1所示,服务器15作为负载均衡设备13的成员,且与负载均衡设备13通过网络设备(路由器)12部署在二层网络中。网络设备与ISP(互联网服务提供商)11相连。负载均衡设备13将报文的目的MAC地址(媒体访问控制地址)修改为选中的服务器15的MAC地址,并将该报文透传给对应的服务器15上,服务器15将响应的数据包直接通过网络设备12而不经过负载均衡设备13传输至客户端14。
目前,在这种传统的负载均衡部署方式中,工作在直接路由模式下的负载均衡设备在转发客户端的数据报文时,只将该数据报文的目的MAC地址修改为服务器的MAC地址。服务器将响应的数据报文通过路由器直接发送至客户端。可是,这种工作方式在复杂的网络环境中会受到泛洪攻击。非法客户端(也称伪客户端)可以向服务器发送大量伪造源地址的、用于发起连接的报文。由于这些报文的源地址是伪造的,所以,服务器无法接收到相应的应答报文。为此,服务器需要分配大量内存,并在连接超时后才释放该内存。所以,服务器会因为没有接收到应答报文而始终分配大量的内存,并且始终处于接收确认报文的状态,由此,会导致服务器的资源耗尽,从而造成服务器无法正常工作,进而使得用户无法访问该服务器上的服务资源。
因此,为了解决如何实现工作在直接路由模式下的负载均衡设备能够防范泛洪攻击的技术问题,本发明实施例提供一种防范泛洪攻击的方法,应用于工作在直接路由模式下的负载均衡设备;如图2所示,该防范泛洪攻击的方法包括:
S200:当负载均衡设备与客户端建立TCP连接时,接收客户端向服务器发送的第一同步报文,并基于第一同步报文生成第一同步认证信息值。
其中,客户端表示发起TCP连接的请求方。
第一同步报文用于在客户端和负载均衡设备之间建立TCP连接。第一同步报文可以为SYN(Synchronize Sequence Numbers,同步序列号)报文。该SYN报文可以是包含同步标志的TCP报文。
以第一同步报文为SYN报文为例,在实际应用中,可以将SYN报文的源IP地址、目的IP地址分别设置为客户端的IP地址、服务器的虚拟IP地址。具体地,IP头结构中的源IP地址为客户端的IP地址;IP头结构中的目的IP地址为服务器的虚拟IP地址。通过IP地址和目的IP地址,负载均衡设备可以接收到来自客户端的SYN报文。其中,虚拟IP地址由工作在DR模式下的负载均衡设备以动态路由的方式,在环回接口发布。其中,环回接口可以为路由器上的一个逻辑、虚拟接口,并具有环回地址(例如:127.0.0.1),用于标识某个设备。环回接口可以使运行在同一台主机上的客户程序和服务器程序通过TCP/IP进行通信。
第一同步认证信息值例如可以为SYN Cookies等用于标识报文的信息,但绝不限于此。
在一个可选的实施例中,基于第一同步报文生成第一同步认证信息值的步骤具体包括如下步骤S201至步骤S204:
S201:记录接收第一同步报文的时间;
S202:从第一同步报文中提取出源端口号字段的内容、目的端口号字段的内容、源IP地址字段的内容和目的IP地址字段的内容;
S203:根据负载均衡设备当前的工作状态,生成一个随机数;
本步骤中,当前工作状态为负载均衡设备与客户端之间建立TCP连接的当前工作状态。该当前的工作状态可以通过负载均衡设备的配置参数(例如,IP配置参数、路由配置参数、四层配置参数、对服务器的健康检查配置参数等)获得。
其中,生成随机数的方法可以采用诸如哈希算法等任意生成随机数的方法。
S204:对所记录的时间、源端口号字段的内容、目的端口号字段的内容、源IP地址字段的内容、目的IP地址字段的内容和随机数,进行哈希计算,得到哈希值,并将哈希值作为第一同步认证信息值。
其中,哈希计算是将任意长度的数据(也称输入数据),通过散列算法,变换成固定长度的数据(也称哈希值)。该哈希值为散列值。通过哈希计算得到的哈希值不能得到输入数据。
在实际应用中,本步骤可以利用密码学中的哈希函数,对所记录的时间、源端口号字段的内容、目的端口号字段的内容、源IP地址字段的内容、目的IP地址字段的内容和随机数,进行哈希计算,得到第一同步认证信息值。由此,本发明实施例可以避免伪造第一同步认证信息值的可能,从而可以通过利用第一同步认证信息值验证来自客户端的报文是否合法的方式,来验证客户端的真伪,进而可以保护服务器免受泛洪攻击。
S210:向客户端发送包括第一同步认证信息值的同步确认报文。
为了通过第一同步认证信息值验证客户端是否是伪客户端,本步骤向客户端发送包括第一同步认证信息值的同步确认报文。例如,可以将第一同步认证信息值作为同步确认报文中的序列号字段的内容,然后,将同步确认报文发送至客户端。当然,也可以将第一同步认证信息值作为同步确认报文中其他诸如选项字段的内容,只要能够对客户端进行真伪验证即可,本发明对此不作限定。
在一个可选的实施例中,在步骤S210之后,防范泛洪攻击的方法还包括:如果在预设时间段内未接收到来自客户端的确认报文,则停止向服务器发送第二同步报文。
本实施例中,在向客户端发送了同步确认报文之后,按照TCP协议的有关规定,为了建立TCP连接,该客户端应该根据接收到的同步确认报文中的第一同步认证信息值,反馈回确认报文。但是,如果该客户端没有反馈确认报文,则表明该客户端无法按照TCP协议的规定,基于第一同步认证信息值,生成确认报文,并将其反馈回来,由此,可以判断该客户端的真伪,实现负载均衡设备对泛洪攻击的防范。
S220:接收客户端发送的确认报文,从确认报文中提取第二同步认证信息值;其中,第二同步认证信息值由客户端基于第一同步认证信息值生成。
客户端会基于第一同步认证信息值生成第二同步认证信息值,然后将第二同步认证信息值添加入确认报文,最后,将该确认报文反馈回来。所以,本步骤从客户端反馈回来的确认报文中提取出第二同步认证信息值,以对其进行匹配,从而验证客户端的真伪,并最终实现对泛洪攻击的防范。
S230:将第二同步认证信息值与第一同步认证信息值进行匹配;如果匹配失败,则执行步骤S240;否则,执行步骤S250。
本步骤通过对第一同步认证信息值和第二同步认证信息值进行匹配,以验证客户端的真伪,从而防范伪客户端对服务器发起的泛洪攻击。
在一个可选的实施例中,步骤S230具体可以包括如下步骤S231至步骤S233:
S231:将第二同步认证信息值与第一同步认证信息值进行比较;其中,第二同步认证信息值在客户端为合法客户端的情况下,根据TCP连接的建立条件,由合法客户端将接收到的第一同步认证信息值进行加1操作而得到;如果第二同步认证信息值与第一同步认证信息值的差值为1,则执行S232;否则,执行S233;
根据TCP连接的建立条件,客户端接收到第一同步认证信息值后,需要对该第一同步认证信息值进行加1操作,而形成第二同步认证信息值。所以,本步骤将第二同步认证信息值与第一同步认证信息值进行比较,通过不同的比较结果,来确定客户端的真伪,从而实现对泛洪攻击的防范。
S232:确定匹配成功;
本步骤中,在匹配成功的情况下,可以确定生成第二同步认证信息值的客户端为合法客户端。
S233:确定匹配失败。
本步骤中,在匹配失败的情况下,说明该客户端伪造了报文中的源IP地址,可以确定生成第二同步认证信息值的客户端为伪客户端。
S240:停止向服务器发送第二同步报文。
其中,服务器为接收TCP连接的请求方,并具有IP地址和MAC(Media AccessControl,媒体访问控制)地址。
本步骤在对第二同步认证信息值与第一同步认证信息值匹配失败的情况下,确定出客户端为非法客户端,从而停止向服务器发送第二同步报文,即停止服务器与该非法客户端建立TCP连接,进而保护了服务器免受泛洪攻击。
S250:向服务器发送第二同步报文。
在第二同步认证信息值与第一同步认证信息值匹配成功的情况下,表明发送第二同步认证信息值的客户端为合法客户端。在这种情况下,本步骤向服务器发送第二同步报文,以建立客户端和服务器之间的TCP连接。
在一个可选的实施例中,步骤S250具体可以包括如下步骤S251和步骤S252:
S251:根据轮询调度算法、加权轮询调度算法、最少连接数调度算法或加权最少连接数调度算法,选择待接收第二同步报文的服务器;
本步骤通过诸如轮询调度算法、加权轮询调度算法、最少连接数调度算法或加权最少连接数调度算法等预定的调度算法,选择最佳的、待接收第二同步报文的服务器。
S252:向选中的待接收第二同步报文的服务器,发送第二同步报文。
本步骤通过向选中的待接收第二同步报文的服务器,发送第二同步报文,以实现合法客户端与服务器之间TCP连接的建立。
在一个可选的实施例中,第二同步报文包括选项字段;负载均衡设备包括网卡;上述步骤S252具体可以包括:
S2521:获取网卡的接口地址;
其中,该接口地址可以是网卡上的MAC地址。MAC地址是指在媒体接入层上使用的地址,也叫物理地址、硬件地址或链路地址,并由厂商写在网卡的基本输入输出系统里。
S2522:基于网卡的接口地址,按照预定格式,生成目标数值;
其中,预定格式可以为TLV格式(Tag Length Value,类型长度内容)。
S2523:将目标数值作为选项字段的内容,向选中的待接收第二同步报文的服务器,发送包括选项字段的第二同步报文。
本实施例通过采取上述技术方案,当服务器接收到包括选项字段的第二同步报文后,提取出选项字段里的内容,并对其进行解析,提取出RTT(Round-Trip Time,往返延时)值。其中,RTT值表示从客户端发送数据开始至接收到确认数据,总共经历的延时时间,也即从客户端到负载均衡设备的时间,然后,用该RTT值去校准从客户端至服务器的延迟时间。最后,再利用校准后的延迟时间,通过修改协议栈的方式校正第二同步报文中的序列号字段里的内容,从而确保服务器与客户端之间建立正确的连接。
为了在向客户端发送的同步确认报文中添加第一同步认证信息值,以对客户端进行真伪验证,进而防范泛洪攻击。为此,可以将第一同步认证信息值作为报文中的诸如序列号字段、选项字段等的内容。考虑到TCP连接的建立过程中,合法的客户端在接收到同步确认报文后,会将该同步确认报文中的序列号字段中内容进行加1操作,并将加1操作的结果作为向负载均衡设备反馈的确认报文中的确认号字段的内容,然后,将该确认报文发送至负载均衡设备。由此,负载均衡设备可以根据接收到的确认报文中的确认号字段中的内容,对客户端的真伪进行判断。
因此,作为本发明的一个可选的实施例,其中,同步确认报文包括序列号字段,确认报文包括确认号字段;向客户端发送包括第一同步认证信息值的同步确认报文的步骤包括:将第一同步认证信息值作为序列号字段的内容,向客户端发送包括序列号字段的同步确认报文;接收客户端发送的确认报文,从确认报文中提取第二同步认证信息值的步骤包括:接收客户端发送的确认报文,从确认报文中提取确认号字段中的内容,作为第二同步认证信息值。其中,确认号字段根据接收到的确认报文中的序列号字段获得。
图3示例性地示出了客户端、负载均衡设备和服务器之间交互的示意图。
下面结合图3以一优选实施例对本发明进行详细说明。
本实施例中,假设客户端向负载均衡设备发送的第一同步报文中的序列号字段的内容为x、确认号字段的内容为0,源IP地址、目的IP地址分别为客户端的IP地址、服务器的虚拟IP地址;第一同步认证信息值为y。
本实施例提供的防范泛洪攻击的方法包括如下步骤S310至步骤S360:
S310:负载均衡设备接收客户端发送的第一同步报文,并基于第一同步报文生成第一同步认证信息值;其中,第一同步报文中的序列号字段的内容为x、确认号字段的内容为0;
S320:负载均衡设备向客户端发送同步确认报文;其中,同步确认报文中的序列号字段的内容为y,确认号字段的内容为x+1;
S330:负载均衡设备接收客户端发送的确认报文,并从确认报文中提取确认号字段中的内容,作为第二同步认证信息值;其中,确认号字段根据接收到的确认报文中的序列号字段获得,第二同步认证信息值由客户端基于第一同步认证信息值生成,确认报文中的序列号字段的内容为x+1,确认号字段的内容为y+1;
S340:负载均衡设备将第二同步认证信息值与y进行匹配;
S350:如果匹配失败,则负载均衡设备停止向服务器发送第二同步报文;
S360:如果匹配成功,则负载均衡设备向服务器发送第二同步报文。
本发明实施例通过将生成的第一同步认证信息值添加入反馈给客户端的同步确认报文中;当接收到来自该客户端的确认报文时,从该确认报文中提取由客户端生成的第二同步认证信息值,最后,将第二同步认证信息值与第一同步认证信息值进行匹配,如果第二同步认证信息值与第一同步认证信息值之差不为1,则匹配失败,说明该客户端是非法客户端,从而停止向服务器发送第二同步报文,进而避免了服务器受到泛洪攻击;如果匹配成功,则说明第二同步认证信息值与第一同步认证信息值之差为1,进而说明客户端是合法客户端,可以向服务器发送第二同步报文。由此,本发明实施例通过采取该技术方案,实现了通过工作在直接路由模式下的负载均衡设备来防范泛洪攻击的目的,使得服务器可以正常工作,确保了客户端可以正常访问服务器上的资源。
图4示例性地示出了在建立客户端和服务器的TCP连接中客户端、负载均衡设备和服务器之间交互的示意图。
下面结合图4对通过负载均衡设备来防范泛洪攻击而在客户端与服务器之间建立TCP连接的过程进行详细说明,该防范泛洪攻击的方法包括:
S410:客户端向负载均衡设备发送第一同步报文;
S420:负载均衡设备接收客户端发送的第一同步报文,并基于第一同步报文生成第一同步认证信息值;
S430:负载均衡设备向客户端发送包括第一同步认证信息值的第一同步确认报文;
S440:负载均衡设备接收客户端发送的第一确认报文,从第一确认报文中提取第二同步认证信息值;其中,第二同步认证信息值由客户端基于第一同步认证信息值生成;
S450:负载均衡设备将第二同步认证信息值与第一同步认证信息值进行匹配;
S460:如果匹配失败,则负载均衡设备停止向服务器发送第二同步报文;
S470:如果匹配成功,则负载均衡设备在第二同步报文中添加选项字段,并将第二同步报文发送至服务器;其中,第二同步报文的源IP地址、目的IP地址分别为客户端的源IP地址、服务器的虚拟IP地址,源端口号、目的端口号分别为客户端的源端口号、服务器的虚拟端口号,源MAC地址、目的MAC地址分别为负载均衡设备的网卡的MAC地址、服务器的网卡的MAC地址;
本步骤中,匹配成功说明了第一确认报文是合法的。由此,负载均衡设备可以向服务器发送第二同步报文,以实现客户端与服务器之间的TCP连接。
其中,选项字段可以通过以下方式确定:获取负载均衡设备上的网卡的接口地址;然后,基于该接口地址,按照TLV格式,确定需要写入选项字段的内容。
S480:服务器向负载均衡设备发送第二同步确认报文;
其中,负载均衡设备在接收到服务器发送的第二同步确认报文之后,对接收到的、由客户端发送的第一确认报文进行修改,将该第一确认报文的源MAC地址修改为负载均衡设备的网卡的MAC地址,目的MAC地址修改为服务器的网卡的MAC地址。
S490:负载均衡设备向服务器发送第二确认报文,从而实现客户端与服务器之间TCP连接的建立。
其中,第二确认报文通过向第一确认报文中添加选项字段而得到。该第二确认报文可以携带RTT值与序列号字段中内容的差值。该选项字段用于由服务器建立与客户端之间的连接。该选项字段中的内容可以通过以下步骤确定:
S510:提取第一同步报文的时间戳;
S520:提取第一确认报文的时间戳;
S530:根据第一同步报文的时间戳和第一确认报文的时间戳,计算RTT值;
其中,RTT值可以记录在负载均衡设备的会话表项中。
S540:计算RTT值与第一确认报文中的序列号字段中的内容之差,得到目标差值;
S550:基于目标差值,按照TLV格式,确定添加到第一确认报文中的选项字段的内容。
服务器在接收到第二确认报文之后,从中提取出选项字段中的内容,并对该内容进行解析,提取出RTT值,然后,用该RTT值去校准从客户端至服务器的延迟时间。最后,再利用校准后的延迟时间,通过修改协议栈的方式进行delta校正,以校正第二同步报文中的序列号字段中的内容,从而确保服务器与客户端之间建立正确的TCP连接。建立正确的TCP连接之后,当客户端传输的数据报文到达负载均衡设备之后,该负载均衡设备查找相应的会话表项,修改该数据报文中对应的目的MAC地址,然后将修改了目的MAC地址的数据报文转发至服务器,由此,该负载均衡设备实现了负载分担的目的。
本实施例通过在第二确认报文中设置选项字段,可以确保服务器接收到第二同步报文之后,确定发送源是合法的,进而可以向负载均衡设备发送第二确认报文;通过步骤一至步骤九建立TCP连接之后,服务器的报文直接发送至客户端;客户端的报文透传给负载均衡设备之后,再传输至服务器。
综上所述,本发明实施例通过采取上述任一技术方案,无需用户人为干预,即可实现负载均衡设备工作在DR模式下对泛洪攻击的防范,使得服务器可以正常工作,确保了客户端可以正常访问服务器上的资源,并且是基于用户态的转发层面进行数据包处理,从而提高了数据包的转发效率,同时,还具有成本低、使用简单、方便、快捷、高效的优点。
为了解决如何实现工作在直接路由模式下的负载均衡设备能够防范泛洪攻击的技术问题,本发明实施例提供一种防范泛洪攻击的装置。该装置可以执行上述防范泛洪攻击的方法实施例。该防范泛洪攻击的装置应用于工作在直接路由模式下的负载均衡设备;如图5所示,该防范泛洪攻击的装置包括:
第一接收模块51,用于当负载均衡设备与客户端建立传输控制协议TCP连接时,接收客户端向服务器发送的第一同步报文,并基于第一同步报文生成第一同步认证信息值;
第一发送模块52,用于向客户端发送包括第一同步认证信息值的同步确认报文;
第二接收模块53,用于接收客户端发送的确认报文,从确认报文中提取第二同步认证信息值;其中,第二同步认证信息值由客户端基于第一同步认证信息值生成;
匹配模块54,用于将第二同步认证信息值与第一同步认证信息值进行匹配;
第一停止模块55,用于在匹配失败的情况下,停止向服务器发送第二同步报文;
第二发送模块56,用于在匹配成功的情况下,向服务器发送第二同步报文。
本发明实施例中,第一发送模块52通过将生成的第一同步认证信息值添加入反馈给客户端的同步确认报文中;当第二接收模块53接收到来自该客户端的确认报文时,第二接收模块53从该确认报文中提取由客户端生成的第二同步认证信息值,最后,匹配模块54再将第二同步认证信息值与第一同步认证信息值进行匹配,根据匹配结果是否符合TCP协议的相关规定,来确定匹配的成败,并以此来判断客户端是否为伪客户端;在客户端为合法客户端的情况下,第二发送模块56向服务器发送第二同步报文,但在客户端为伪客户端的情况下,第一停止模块55停止向服务器发送第二同步报文;由此,本发明实施例实现了通过工作在直接路由模式下的负载均衡设备来防范泛洪攻击的目的,使得服务器可以正常工作,确保了客户端可以正常访问服务器上的资源。
在一个可选的实施例中,防范泛洪攻击的装置还包括:
第二停止模块,用于当在预设时间段内未接收到来自客户端的确认报文时,停止向服务器发送第二同步报文。
在一个可选的实施例中,同步确认报文包括序列号字段,确认报文包括确认号字段;第一发送模块包括:
第一发送单元,用于将第一同步认证信息值作为序列号字段的内容,向客户端发送包括序列号字段的同步确认报文;
第二接收模块包括:
接收单元,用于接收客户端发送的确认报文,从确认报文中提取确认号字段中的内容,作为第二同步认证信息值,确认号字段根据接收到的确认报文中的序列号字段获得。
在一个可选的实施例中,匹配模块包括:
比较单元,用于将第二同步认证信息值与第一同步认证信息值进行比较;其中,第二同步认证信息值在客户端为合法客户端的情况下,根据TCP连接的建立条件,由合法客户端将接收到的第一同步认证信息值进行加1操作而得到;
确定单元,用于在第二同步认证信息值与第一同步认证信息值的差值为1的情况下,确定匹配成功;否则,确定匹配失败。
在一个可选的实施例中,第一接收模块包括:
记录单元,用于记录接收第一同步报文的时间;
提取单元,用于从第一同步报文中提取出源端口号字段的内容、目的端口号字段的内容、源互联网协议IP地址字段的内容和目的IP地址字段的内容;
生成单元,用于根据负载均衡设备当前的工作状态,生成一个随机数;
计算单元,用于对所记录的时间、源端口号字段的内容、目的端口号字段的内容、源IP地址字段的内容、目的IP地址字段的内容和随机数,进行哈希计算,得到哈希值,并将哈希值作为第一同步认证信息值。
在一个可选的实施例中,第二发送模块包括:
选择单元,用于根据轮询调度算法、加权轮询调度算法、最少连接数调度算法或加权最少连接数调度算法,选择待接收第二同步报文的服务器;
第二发送单元,用于向选中的待接收第二同步报文的服务器,发送第二同步报文。
在一个可选的实施例中,第二同步报文包括选项字段;负载均衡设备包括网卡;第二发送单元包括:
获取子单元,用于获取网卡的接口地址;
生成子单元,用于基于网卡的接口地址,按照预定格式,生成目标数值;
发送子单元,用于将目标数值作为选项字段的内容,向选中的待接收第二同步报文的服务器,发送包括选项字段的第二同步报文。
有关上述装置实施例的说明可以参考方法实施例的相关说明,在此不再赘述。
为了解决如何实现工作在直接路由模式下的负载均衡设备能够防范泛洪攻击的技术问题,基于与方法实施例相同的技术构思,本发明实施例还提供一种负载均衡设备,如图6所示,其包括处理器61和存储器62;
存储器62,用于存放计算机程序;
处理器61,用于执行存储器62上所存放的程序时,实现上述任一方法实施例所述的方法步骤。
本领域技术人员可以理解,上述负载均衡设备还可以包括其他诸如通信总线和通信接口等公知结构。包含这些结构的实施例也应包含在本发明的保护范围之内。
上述负载均衡设备提到的通信总线可以是外设部件互连标准(PeripheralComponent Interconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。
上述通信接口用于上述负载均衡设备与其他设备之间的通信。
上述存储器62可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(non-volatile memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器61可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Ne twork Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Applica tion Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例中,当处理器61执行存储器662上所存放的程序时,通过将生成的第一同步认证信息值添加入反馈给客户端的同步确认报文中;当接收到来自该客户端的确认报文时,从该确认报文中提取由客户端生成的第二同步认证信息值,最后,再将第二同步认证信息值与第一同步认证信息值进行匹配,根据匹配结果是否符合TCP协议的相关规定,来确定匹配的成败,并以此来判断客户端是否为伪客户端;在客户端为合法客户端的情况下,向服务器发送第二同步报文,但在客户端为伪客户端的情况下停止向服务器发送第二同步报文;由此,当处理器61执行存储器62上所存放的程序时,实现了通过工作在直接路由模式下的负载均衡设备来防范泛洪攻击的目的,使得服务器可以正常工作,确保了客户端可以正常访问服务器上的资源。
为了解决如何实现工作在直接路由模式下的负载均衡设备能够防范泛洪攻击的技术问题,基于与方法实施例相同的技术构思,本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述任一方法实施例所述的方法步骤。
上述计算机可读存储介质可以包括但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦写可编程只读存储器(EPROM)、电可擦写可编程只读存储器(EEPROM)、闪存(例如,NOR型闪存或NAND型闪存)、内容可寻址存储器(CAM)、聚合物存储器(例如,铁电聚合物存储器)、相变存储器、双向开关半导体存储器、硅-氧化物-氮化硅-氧化硅-硅(Silicon-Oxide-Nitride-Oxide-Silicon,SONOS)存储器、磁卡或者光卡,亦或是其他任意适当类型的计算机可读存储介质。
本发明实施例通过将生成的第一同步认证信息值添加入反馈给客户端的同步确认报文中;当接收到来自该客户端的确认报文时,从该确认报文中提取由客户端生成的第二同步认证信息值,最后,再将第二同步认证信息值与第一同步认证信息值进行匹配,根据匹配结果是否符合TCP协议的相关规定,来确定匹配的成败,并以此来判断客户端是否为伪客户端;在客户端为合法客户端的情况下,向服务器发送第二同步报文,但在客户端为伪客户端的情况下停止向服务器发送第二同步报文;由此,当计算机程序被处理器执行时,实现了通过工作在直接路由模式下的负载均衡设备来防范泛洪攻击的目的,使得服务器可以正常工作,确保了客户端可以正常访问服务器上的资源。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例、负载均衡设备和计算机可读存储介质而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (12)

1.一种防范泛洪攻击的方法,应用于工作在直接路由模式下的负载均衡设备,其特征在于,所述方法包括:
当所述负载均衡设备与客户端建立传输控制协议TCP连接时,接收所述客户端向服务器发送的第一同步报文,并基于所述第一同步报文生成第一同步认证信息值;
向所述客户端发送包括所述第一同步认证信息值的同步确认报文;
接收所述客户端发送的确认报文,从所述确认报文中提取第二同步认证信息值;其中,所述第二同步认证信息值由所述客户端基于所述第一同步认证信息值生成;
将所述第二同步认证信息值与所述第一同步认证信息值进行匹配;
如果匹配失败,则停止向所述服务器发送第二同步报文;
如果匹配成功,则向所述服务器发送所述第二同步报文;
所述向所述服务器发送所述第二同步报文的步骤,包括:
根据轮询调度算法、加权轮询调度算法、最少连接数调度算法或加权最少连接数调度算法,选择待接收所述第二同步报文的服务器;
向选中的待接收所述第二同步报文的服务器,发送所述第二同步报文;
所述第二同步报文包括选项字段;所述负载均衡设备包括网卡;
所述向选中的待接收所述第二同步报文的服务器,发送所述第二同步报文的步骤,包括:
获取所述网卡的接口地址;
基于所述网卡的接口地址,按照预定格式,生成目标数值;
将所述目标数值作为所述选项字段的内容,向选中的待接收所述第二同步报文的服务器,发送包括所述选项字段的所述第二同步报文;所述选项字段用于选中的待接收所述第二同步报文的服务器解析所述选项字段的内容得到往返延时RTT值,所述RTT值用于校准从客户端至服务器的延迟时间,所述延迟时间用于通过修改协议栈的方式校正第二同步报文中的序列号字段里的内容。
2.根据权利要求1所述的方法,其特征在于,在所述向所述客户端发送包括所述第一同步认证信息值的同步确认报文的步骤之后,所述方法还包括:
如果在预设时间段内未接收到来自所述客户端的确认报文,则停止向所述服务器发送第二同步报文。
3.根据权利要求1所述的方法,其特征在于,所述同步确认报文包括序列号字段,所述确认报文包括确认号字段;
所述向所述客户端发送包括第一同步认证信息值的同步确认报文的步骤,包括:
将所述第一同步认证信息值作为所述序列号字段的内容,向所述客户端发送包括所述序列号字段的所述同步确认报文;
所述接收所述客户端发送的确认报文,从所述确认报文中提取第二同步认证信息值的步骤,包括:
接收所述客户端发送的确认报文,从所述确认报文中提取确认号字段中的内容,作为所述第二同步认证信息值,所述确认号字段根据接收到的确认报文中的序列号字段获得。
4.根据权利要求1所述的方法,其特征在于,所述将所述第二同步认证信息值与所述第一同步认证信息值进行匹配的步骤,包括:
将所述第二同步认证信息值与所述第一同步认证信息值进行比较;其中,所述第二同步认证信息值在所述客户端为合法客户端的情况下,根据所述TCP连接的建立条件,由所述合法客户端将接收到的所述第一同步认证信息值进行加1操作而得到;
如果所述第二同步认证信息值与所述第一同步认证信息值的差值为1,则确定匹配成功;否则,确定匹配失败。
5.根据权利要求1所述的方法,其特征在于,所述基于所述第一同步报文生成第一同步认证信息值的步骤,包括:
记录接收所述第一同步报文的时间;
从所述第一同步报文中提取出源端口号字段的内容、目的端口号字段的内容、源互联网协议IP地址字段的内容和目的IP地址字段的内容;
根据所述负载均衡设备当前的工作状态,生成一个随机数;
对所记录的时间、所述源端口号字段的内容、所述目的端口号字段的内容、所述源IP地址字段的内容、所述目的IP地址字段的内容和所述随机数,进行哈希计算,得到哈希值,并将所述哈希值作为所述第一同步认证信息值。
6.一种防范泛洪攻击的装置,应用于工作在直接路由模式下的负载均衡设备;
其特征在于,所述装置包括:
第一接收模块,用于当所述负载均衡设备与客户端建立传输控制协议TCP连接时,接收所述客户端向服务器发送的第一同步报文,并基于所述第一同步报文生成第一同步认证信息值;
第一发送模块,用于向所述客户端发送包括所述第一同步认证信息值的同步确认报文;
第二接收模块,用于接收所述客户端发送的确认报文,从所述确认报文中提取第二同步认证信息值;其中,所述第二同步认证信息值由所述客户端基于所述第一同步认证信息值生成;
匹配模块,用于将所述第二同步认证信息值与所述第一同步认证信息值进行匹配;
第一停止模块,用于在匹配失败的情况下,停止向所述服务器发送第二同步报文;
第二发送模块,用于在匹配成功的情况下,向所述服务器发送所述第二同步报文;
所述第二发送模块包括:
选择单元,用于根据轮询调度算法、加权轮询调度算法、最少连接数调度算法或加权最少连接数调度算法,选择待接收所述第二同步报文的服务器;
第二发送单元,用于向选中的待接收所述第二同步报文的服务器,发送所述第二同步报文;
所述第二同步报文包括选项字段;所述负载均衡设备包括网卡;
所述第二发送单元包括:
获取子单元,用于获取所述网卡的接口地址;
生成子单元,用于基于所述网卡的接口地址,按照预定格式,生成目标数值;
发送子单元,用于将所述目标数值作为所述选项字段的内容,向选中的待接收所述第二同步报文的服务器,发送包括所述选项字段的所述第二同步报文;所述选项字段用于选中的待接收所述第二同步报文的服务器解析所述选项字段的内容得到往返延时RTT值,所述RTT值用于校准从客户端至服务器的延迟时间,所述延迟时间用于通过修改协议栈的方式校正第二同步报文中的序列号字段里的内容。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第二停止模块,用于当在预设时间段内未接收到来自所述客户端的确认报文时,停止向所述服务器发送第二同步报文。
8.根据权利要求6所述的装置,其特征在于,所述同步确认报文包括序列号字段,所述确认报文包括确认号字段;
所述第一发送模块包括:
第一发送单元,用于将所述第一同步认证信息值作为所述序列号字段的内容,向所述客户端发送包括所述序列号字段的所述同步确认报文;
所述第二接收模块包括:
接收单元,用于接收所述客户端发送的确认报文,从所述确认报文中提取确认号字段中的内容,作为所述第二同步认证信息值,所述确认号字段根据接收到的确认报文中的序列号字段获得。
9.根据权利要求6所述的装置,其特征在于,所述匹配模块包括:
比较单元,用于将所述第二同步认证信息值与所述第一同步认证信息值进行比较;其中,所述第二同步认证信息值在所述客户端为合法客户端的情况下,根据所述TCP连接的建立条件,由所述合法客户端将接收到的所述第一同步认证信息值进行加1操作而得到;
确定单元,用于在所述第二同步认证信息值与所述第一同步认证信息值的差值为1的情况下,确定匹配成功;否则,确定匹配失败。
10.根据权利要求6所述的装置,其特征在于,所述第一接收模块包括:
记录单元,用于记录接收所述第一同步报文的时间;
提取单元,用于从所述第一同步报文中提取出源端口号字段的内容、目的端口号字段的内容、源互联网协议IP地址字段的内容和目的IP地址字段的内容;
生成单元,用于根据所述负载均衡设备当前的工作状态,生成一个随机数;
计算单元,用于对所记录的时间、所述源端口号字段的内容、所述目的端口号字段的内容、所述源IP地址字段的内容、所述目的IP地址字段的内容和所述随机数,进行哈希计算,得到哈希值,并将所述哈希值作为所述第一同步认证信息值。
11.一种负载均衡设备,其特征在于,包括处理器和存储器;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法步骤。
CN201711172194.3A 2017-11-22 2017-11-22 防范泛洪攻击的方法、装置、负载均衡设备和存储介质 Active CN109818912B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711172194.3A CN109818912B (zh) 2017-11-22 2017-11-22 防范泛洪攻击的方法、装置、负载均衡设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711172194.3A CN109818912B (zh) 2017-11-22 2017-11-22 防范泛洪攻击的方法、装置、负载均衡设备和存储介质

Publications (2)

Publication Number Publication Date
CN109818912A CN109818912A (zh) 2019-05-28
CN109818912B true CN109818912B (zh) 2021-11-26

Family

ID=66601074

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711172194.3A Active CN109818912B (zh) 2017-11-22 2017-11-22 防范泛洪攻击的方法、装置、负载均衡设备和存储介质

Country Status (1)

Country Link
CN (1) CN109818912B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110912997B (zh) * 2019-11-26 2022-07-29 杭州迪普科技股份有限公司 一种三角组网Loopback接口的检查方法及装置
CN115913784B (zh) * 2023-01-05 2023-08-08 阿里巴巴(中国)有限公司 一种网络攻击防御系统、方法、装置及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102780688A (zh) * 2012-04-26 2012-11-14 华为技术有限公司 在传输控制协议tcp下防止攻击的方法和装置
CN103347016A (zh) * 2013-06-28 2013-10-09 天津汉柏汉安信息技术有限公司 一种攻击的防御方法
CN103546486A (zh) * 2013-11-04 2014-01-29 北京荣之联科技股份有限公司 一种防DDOS攻击的SYN Cookie源认证方法及其装置
US9027129B1 (en) * 2012-04-30 2015-05-05 Brocade Communications Systems, Inc. Techniques for protecting against denial of service attacks
CN106470238A (zh) * 2015-08-20 2017-03-01 阿里巴巴集团控股有限公司 应用于服务器负载均衡中的连接建立方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101282209A (zh) * 2008-05-13 2008-10-08 杭州华三通信技术有限公司 防范dns请求报文泛洪攻击的方法及设备
CN101753315B (zh) * 2008-11-27 2011-09-21 百度在线网络技术(北京)有限公司 DDoS攻击测试方法、装置和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102780688A (zh) * 2012-04-26 2012-11-14 华为技术有限公司 在传输控制协议tcp下防止攻击的方法和装置
US9027129B1 (en) * 2012-04-30 2015-05-05 Brocade Communications Systems, Inc. Techniques for protecting against denial of service attacks
CN103347016A (zh) * 2013-06-28 2013-10-09 天津汉柏汉安信息技术有限公司 一种攻击的防御方法
CN103546486A (zh) * 2013-11-04 2014-01-29 北京荣之联科技股份有限公司 一种防DDOS攻击的SYN Cookie源认证方法及其装置
CN106470238A (zh) * 2015-08-20 2017-03-01 阿里巴巴集团控股有限公司 应用于服务器负载均衡中的连接建立方法及装置

Also Published As

Publication number Publication date
CN109818912A (zh) 2019-05-28

Similar Documents

Publication Publication Date Title
JP6858749B2 (ja) 負荷平衡システムにおいて接続を確立するデバイス及び方法
JP7186862B2 (ja) ブロック処理方法、ブロックチェーンノード、ブロック処理システム及びコンピュータプログラム
US11019383B2 (en) Internet anti-attack method and authentication server
US10097520B2 (en) Method and apparatus for causing delay in processing requests for internet resources received from client devices
US10270792B1 (en) Methods for detecting malicious smart bots to improve network security and devices thereof
WO2017088326A1 (zh) Tcp连接的处理方法、装置及系统
CN105430011B (zh) 一种检测分布式拒绝服务攻击的方法和装置
CN108632110B (zh) 设备性能测试方法、系统、计算机设备和存储介质
CN107395632B (zh) SYN Flood防护方法、装置、清洗设备及介质
US9749354B1 (en) Establishing and transferring connections
CN104580553B (zh) 网络地址转换设备的识别方法和装置
CN103347016A (zh) 一种攻击的防御方法
CN111800401B (zh) 业务报文的防护方法、装置、系统和计算机设备
CN103916389A (zh) 防御HttpFlood攻击的方法及防火墙
CN112272164B (zh) 报文处理方法及装置
WO2020037781A1 (zh) 一种实现服务器防攻击方法及装置
EP3442195B1 (en) Reliable and secure parsing of packets
CN108881233A (zh) 防攻击处理方法、装置、设备及存储介质
CN107995233B (zh) 建立连接的方法及相应的设备
CN109818912B (zh) 防范泛洪攻击的方法、装置、负载均衡设备和存储介质
CN113259479A (zh) 一种数据处理方法以及设备
CN111953770A (zh) 一种路由转发方法、装置、路由设备及可读存储介质
US7634655B2 (en) Efficient hash table protection for data transport protocols
CN112235329A (zh) 一种识别syn报文真实性的方法、装置及网络设备
WO2018201367A1 (zh) 节点认证方法及节点认证系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant