本申请涉及通信,尤其涉及慢攻击处理方法及相关装置。
背景技术:
1、超文本传输协议(hypertext transfer protocol,http)慢速攻击,也可称为慢攻击,是指在攻击者与服务器建立连接后,尽量长时间地与服务器保持连接,消耗服务器的资源,使服务器无法为其他访问者提供服务。
技术实现思路
1、本申请提供了慢攻击处理方法及相关装置,实现了服务器在确定客户端存在慢攻击行为的情况下,发送错误码关闭与客户端建立的会话,及时减少慢攻击对服务器造成的影响。
2、第一方面,本申请提供了一种慢攻击处理方法,该方法应用于服务器,所述方法包括:所述服务器与客户端建立通信连接,并在所述通信连接中建立会话;在确定所述客户端存在慢攻击行为的情况下,所述服务器向所述客户端发送错误码,所述错误码用于关闭所述服务器与所述客户端在所述通信连接中建立的会话。
3、实施本申请实施例提供的方法,服务器可以通过向客户端发送错误码,来及时并快速的关闭与存在慢攻击行为的客户端建立的会话,从而达到尽快处理慢攻击行为的效果,释放客户端在服务器中占用的内存资源,及时减少慢攻击产生的影响。
4、结合第一方面,在一种可能的实现方式中,所述服务器向所述客户端发送错误码之前,所述方法还包括:所述服务器接收到所述客户端发送的第一请求;所述服务器确定在第一预设时长内未响应于所述第一请求。
5、可见,可以通过请求到响应的时长来准确判断客户端是否存在慢攻击行为,减少慢攻击误判断的可能,也使得服务器能够在确定存在慢攻击行为的情况下,及时对该慢攻击行为进行处理,减少慢攻击对服务器造成的影响。
6、结合第一方面,在一种可能的实现方式中,所述第一预设时长为根据多个服务器在业务繁忙场景下,接收到无慢攻击行为的客户端发送的请求,到返回响应的时长统计得到。
7、也就是说,第一预设时长为利用大数据统计获得,符合大多数服务器在正常情况下的请求到响应的时长,提高了对慢攻击行为判断的准确性。
8、结合第一方面,在一种可能的实现方式中,所述服务器接收到所述客户端发送的第一请求之后,所述方法还包括:所述服务器确定所述第一请求所请求的第一业务;所述第一预设时长为根据多个服务器在业务繁忙场景下,接收到无慢攻击行为的客户端发送的用于请求所述第一业务的请求,到返回响应的时长统计得到。
9、由于该预设时长定义为请求到响应的最大时长,该预设时长包含了对请求进行业务处理的过程,针对不同请求可能存在不同的业务处理过程,导致不同的业务处理可能存在一定的时长差异。因此,该预设时长可以存在针对不同业务的时长阈值,服务器针对请求的不同业务选择对应的预设时长来进行判断,能够提高慢攻击行为判断的准确性。
10、结合第一方面,在一种可能的实现方式中,所述服务器确定在第一预设时长内未响应于所述请求之后,向所述客户端发送错误码之前,所述方法还包括:所述服务器确定与所述客户端之间建立的会话数超过第一阈值。
11、也就是说,即使服务器对客户端的请求的响应超时,如果服务器与客户端之间建立的会话数较少,客户端仍然可以和服务器保持通信,保持服务器的正常运行,保证了服务器能够继续响应于其他正常业务的请求,同时也减少慢攻击误判的可能性。只有在服务器对客户端的请求的响应超时,以及服务器和客户端之间的会话数多,服务器可能会存在拒绝其他访问者的服务的可能时,再对该慢攻击进行处理,及时减少慢攻击行为对服务器造成的影响。
12、结合第一方面,在一种可能的实现方式中,在确定所述客户端存在慢攻击行为的情况下,所述方法还包括:所述服务器拦截来自所述客户端的请求。
13、也就是说,在确定客户端存在慢攻击行为之后,可以拦截该客户端的请求,积极应对客户端的慢攻击行为,尽可能减少慢攻击对服务器造成的影响。
14、结合第一方面,在一种可能的实现方式中,所述服务器拦截来自所述客户端的请求之后,所述方法还包括:所述服务器判断所述客户端是否停止发送请求;若所述客户端停止发送请求,所述服务器取消对所述客户端的请求的拦截。
15、可见,在确定客户端停止发送请求后,可以及时取消对该客户端的请求的拦截,保证该客户端在不存在慢攻击行为时,能够与服务器正常通信。
16、结合第一方面,在一种可能的实现方式中,所述服务器向所述客户端发送错误码之前,所述方法还包括:所述服务器在第一预设时长内响应于所述第一请求;所述服务器确定与所述客户端之间建立的会话中,会话的存活时长超过第二预设时长的会话数大于第二阈值。
17、通过判断会话的存活时长是否超过阈值,可以判断客户端是否存在slowread的攻击行为,避免遗漏对客户端的慢攻击行为的判断。
18、结合第一方面,在一种可能的实现方式中,所述服务器接收到所述客户端发送的第一请求之后,向所述客户端发送错误码之前,所述方法还包括:所述服务器确定与所述客户端之间的建立的会话数小于最大会话数。
19、结合第一方面,在一种可能的实现方式中,所述服务器存储有会话链表,所述会话链表用于记录与所述服务器建立会话的客户端信息以及会话信息。
20、第二方面,本申请实施例提供了一种电子设备,其特征在于,包括存储器,一个或多个处理器,以及一个或多个程序;所述一个或多个处理器在执行所述一个或多个程序时,使得所述电子设备实现如第一方面或第一方面中的任意一种实现方式所描述的方法。
21、第三方面,本申请实施例提供了一种计算机可读存储介质,包括指令,其特征在于,当所述指令在电子设备上运行时,使得所述电子设备执行如第一方面或第一方面中的任意一种实现方式所描述的方法。
22、第四方面,本申请实施例提供了一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得计算机执行如第一方面或第一方面中的任意一种实现方式所描述的方法。
23、实施本申请实施例提供的慢攻击处理方法,能够快速关闭存在慢攻击行为的客户端与服务器之间建立的会话,及时释放服务器的内存资源,避免服务器拒绝服务其他客户端,从而及时减少慢攻击对服务器造成的影响。
1.一种慢攻击处理方法,其特征在于,所述方法应用于服务器,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述服务器向所述客户端发送错误码之前,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述第一预设时长为根据多个服务器在业务繁忙场景下,接收到无慢攻击行为的客户端发送的请求,到返回响应的时长统计得到。
4.根据权利要求2所述的方法,其特征在于,所述服务器接收到所述客户端发送的第一请求之后,所述方法还包括:
5.根据权利要求2-4任一项所述的方法,其特征在于,所述服务器确定在第一预设时长内未响应于所述请求之后,向所述客户端发送错误码之前,所述方法还包括:
6.根据权利要求1-5任一项所述的方法,其特征在于,在确定所述客户端存在慢攻击行为的情况下,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述服务器拦截来自所述客户端的请求之后,所述方法还包括:
8.根据权利要求2-7任一项所述的方法,其特征在于,所述服务器向所述客户端发送错误码之前,所述方法还包括:
9.一种电子设备,其特征在于,包括存储器,一个或多个处理器,以及一个或多个程序;所述一个或多个处理器在执行所述一个或多个程序时,使得所述电子设备实现如权利要求1至8任一项所述的方法。
10.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求1至8任一项所述的方法。
11.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得计算机执行如权利要求1至8任一项所述的方法。
