Tcp连接的处理方法、装置及系统的制作方法_3

文档序号:9754542阅读:来源:国知局
LOOD防护的两个弊端,提出对于SYN FLOOD防护的改进方案,上述主要解决了:
[0053](I)目前常规的TCP连接的处理方法在对SYN C00KIE进行验证后,由于第一次连接用于验证,需要断开该次连接或者通过TCP代理服务器进行代理,从而导致响应延迟。
[0054](2)目前现有验证方式,在对ACK应答报文进行SYN C00KIE验证后,利用白名单或者通过TCP代理会带来防护设备的性能的损耗。
[0055]由采用上述TCP连接的处理方法的防护设备,代替服务器与客户端建立TCP连接的握手过程,完成对SYN报文的验证。由防护设备将正常客户端发送的用于TCP连接的ACK应答报文转发至连接设备,连接设备可以根据ACK应答报文中的信息,创建TCP连接。在一个完整的TCP连接建立过程,由防护设备与连接设备共同完成,客户端不会感知到该过程,从而在SYN FLOOD防护过程中高效完成了验证和TCP连接建立,保障了客户体验。
[0056]实施例2
[0057]根据本发明实施例,还提供了一种TCP连接的处理方法,该方法应用于防护设备。图4是根据本申请实施例的TCP连接的处理方法的流程示意图。
[0058]如图4所示,上述TCP连接的处理方法包括如下步骤:
[0059]步骤S102,接收客户端发送的用于与服务器端建立TCP连接的连接报文。
[0060]步骤S104,判断接收到的连接报文的报文类型,其中,连接报文的报文类型至少包括:同步报文和应答报文。
[0061]步骤S106,当连接报文的报文类型为应答报文时,利用连接校验信息对应答报文进行校验,其中,连接校验信息根据同步报文生成。
[0062]步骤S108,当应答报文校验通过时,将应答报文转发至服务器端。
[0063]具体的,如图2所示,为了在客户端与服务器端之间传输TCP数据,需要首先建立一个虚拟电路,即TCP连接。而在建立TCP连接时,首先由客户端发送一个包含SYN同步标志的TCP报文,S卩SYN同步报文。然后服务器端在接收到客户端发送的同步报文后,将返回一个SYN/ACK同步应答报文,表示由客户端发送的TCP连接请求已被服务器端接收。最后,客户端会根据SYN/ACK同步应答报文,返回ACK应答报文至服务器端。至此,客户端与服务器端之间完成一个TCP连接。
[0064]因此,如图3所示,在建立TCP连接时,服务器端至少会接收到客户端发送的SYN同步报文和ACK应答报文。设置于服务器侧的防护设备,通过上述步骤S102至步骤S108,在接收到客户端发送的用于与服务器端建立TCP连接的连接报文后,根据连接报文的报文类型对连接报文进行处理。当接收到的报文类型为ACK应答报文时,对ACK应答报文进行校验。当ACK应答报文通过校验时,将其转发至设置于服务器端的连接设备,通过连接设备在客户端和服务器端之间建立通讯连接。达到了对SYN FLOOD攻击进行防护的目的,从而实现了提升对SYN FLOOD攻击进行防护的防护性能的技术效果,进而解决了由于在对客户端发送的TCP连接进行验证后需要重新建立连接,导致的防护性能低、连接响应延迟的技术问题。
[0065]由采用上述TCP连接的处理方法的防护设备,代替服务器与客户端建立TCP连接的握手过程,完成对SYN报文的验证。由防护设备将正常客户端发送的用于TCP连接的ACK报文转发至连接设备,连接设备可以根据ACK报文中的信息,创建TCP连接。在一个完整的TCP连接建立过程,由防护设备与连接设备共同完成,客户端不会感知到该过程,从而在SYNFLOOD防护过程中高效完成了验证和TCP连接建立,保障了客户体验。
[0066]作为一种可选的实施方式,当连接报文的报文类型为同步报文时,在步骤S104判断接收到的连接报文的报文类型之后,方法还包括:
[0067]步骤S51,统计在预先设置的预定时间内,接收到同步报文的报文数量。
[0068]步骤S53,判断报文数量是否大于等于预先设置的阈值。
[0069]步骤S55,当报文数量大于或等于阈值时,根据同步报文生成连接校验信息。
[0070]步骤S57,当报文数量小于阈值时,将同步报文转发至服务器端。
[0071]具体的,通过步骤S51至步骤S57,当接收到的报文类型为SYN同步报文时,防护设备对接收到的SYN同步报文进行计数处理。并且统计在预先设置的时间内接收到的同步报文的报文数量。当在预设时间内接收到的报文数量超过预先设置的阈值时,有可能发生SYNFLOOD攻击。因此,对发送的SYN同步报文进行验证。当在预设时间内接收到的报文数量小于超过预先设置的阈值时,则认为没有发生SYN FLOOD攻击,将SYN同步报文直接转发至连接设备,并由设置于服务器中的连接设备与客户端直接建立TCP连接。
[0072]在实际应用当中,用于判断是否收到SYNFLOOD攻击的阈值,可以根据服务器日常的平均访问量以及服务器的处理能力进行设置。用于统计报文数量的预定时间。在进行设置时,为了及时发现攻击,可以将统计报文数量的预定时间设置为I秒或者几秒。
[0073]作为一种可选的实施方式,在步骤S108当应答报文校验通过之后,方法还包括:
[0074]步骤S109,获取发送应答报文的客户端的第一客户端地址。
[0075]步骤S110,将第一客户端地址保存至预先创建的客户端地址表。
[0076]具体的,当应答报文校验通过,可以确认发送该应答报文的客户端为正常访问的合法客户端,因此,可以通过步骤S109至步骤SllO获取该客户端的客户端地址,并将该客户端地址加入预先设置的第一客户端地址表当中。其中,客户端地址表用于记录合法客户端的地址信息。
[0077]作为一种可选的实施方式,在步骤S106利用连接校验信息对应答报文进行校验之后,上述方法还包括:
[0078]步骤S71,当应答报文校验未通过时,获取发送应答报文的客户端的第二客户端地址。
[0079]步骤S73,将第二客户端地址与客户端地址表进行匹配。
[0080]步骤S75,当第二客户端地址与客户端地址表中的地址匹配时,将应答报文转发至服务器端。
[0081 ]步骤S77,当第二客户端地址与客户端地址表中的地址不匹配时,丢弃应答报文。
[0082]具体的,当应答报文校验未通过时,通过步骤S71至步骤S77对发送该应答报文的客户端的第二客户端地址进行获取,并将第二客户端地址与预先设置的客户端地址表中的地址信息进行匹配。如果第二客户端地址与客户端地址表中的地址信息匹配时,说明该报文为合法客户端发送的。因此,可以将该报文信息转发至连接设备。如果第二客户端地址与客户端地址表中的地址信息不匹配时,认为该客户端为非法客户端,并将该客户端发送的应答报文丢弃。
[0083]作为一种可选的实施方式,客户端地址表也可以记录非法客户端的地址信息。在当第二客户端地址与客户端地址表中的地址不匹配时,将第二客户端地址加入预先设置的用于记录非法客户端地址信息的地址表中。进一步的,在防护设备每次接收到客户端发送的连接报文时,获取发送连接报文的客户端的地址信息,根据上述地址表和上述地址信息,即可直接对客户端的合法性进行判断。
[0084]作为一种可选的实施方式,如图5所示,在实际应用当中,在防护设备中执行上述方法的步骤可以包括:
[0085]步骤I,接收客户端发送的连接报文。
[0086]步骤2,连接报文若是SYN同步报文,统计每秒接收到的SYN同步报文的报文数量。当报文数量超过预先设置设定的阈值时开始进行防护,通过防护装置向客户端回应SYNCOOKIE;否则将SYN同步报文转发至连接设备。
[0087]步骤3,连接报文若是ACK应答报文,则对ACK应答报文进行SYN⑶OKIE校验。当校验通过时,将ACK应答报文转发至连接设备;当校验不通过时,获取发送ACK应答报文的地址信息,并查询该地址信息是否存在客户端地址表中,如果该地址信息不在于客户端地址表中时,将该ACK应答报文丢弃。
[0088]其中,对于通过SYN⑶OKIE校验的连接报文,可以有多种方式通知连接设备该连接报文为已通过校验的连接报文,均在该专利范围之内,此处不做具体限定。
[0089]实施例3:
[0090]根据本发明实施例,还提供了一种TCP连接的处理装置,该装置应用于防护设备。图6是根据本申请实施例的TCP连接的处理装置的示意图。
[0091]如图6所示,该装置可以包括:第一接收模块12、第一判断模块14、第一校验模块16和第一转发模块18。
[0092]其中,第一接收模块12,用于接收客户端发送的用于与服务
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1