掌桥专利:专业的专利平台
掌桥专利
首页

防火墙虚连接的处理方法、装置及计算机可读存储介质

文献发布时间:2023-06-19 16:11:11



技术领域

本公开属于计算机领域,具体涉及一种防火墙虚连接的处理方法、装置及计算机可读存储介质。

背景技术

本部分旨在为本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认其为现有技术。

在客户端与服务端之间的防火墙能够对通信双方的通信连接状态进行记录和维护。通信双方的通信连接方式例如是传输控制协议通信连接(TCP通信连接)。防火墙能够维护TCP通信连接的建立、传输、保持、关闭等状态。当某一个TCP通信连接的空闲时间(idletime)过长时,防火墙会主动释放该TCP通信连接。

客户端、服务端与防火墙对同一TCP通信连接的状态的维护信息存在不一致的情况。例如,在客户端与服务端对同一TCP通信连接的状态的维护信息为关闭状态,而防火墙对这一TCP通信连接的状态的维护信息为建立状态。业内将这种状态称为“虚连接”的状态。如果此时客户端以同样的源端口向服务端发起新的TCP通信连接,防火墙会拒绝该TCP通信连接的建立请求。这对客户端以及服务端的正常业务的开展造成影响。

通常防火墙根据设定的上限阈值判断TCP通信连接是否超时。这无法满足业务系统的动态的负荷需求。防火墙需要更灵活地判断一个通信连接是否为虚连接。

发明内容

本公开提供一种防火墙虚连接的处理方法、装置及计算机可读存储介质。

本公开的实施例中提供了以下方案:一种防火墙虚连接的处理方法,包括:

确定防火墙所通信连接的通信双方的短连接空闲时间的历史数据和所述防火墙所通信连接的通信双方的长连接空闲时间的历史数据;

根据所述短连接空闲时间的历史数据的分布参数确定短连接空闲时间上限阈值,根据所述长连接空闲时间的历史数据的分布参数确定长连接空闲时间上限阈值;

确定所述防火墙当前连接的通信双方的空闲时间,指示所述防火墙释放短连接空闲时间大于所述短连接空闲时间上限阈值的通信双方的通信连接,发出报警信息以提示用户处理长连接空闲时间大于所述长连接空闲时间上限阈值的通信双方的通信连接。

本公开的实施例中提供了以下方案:一种防火墙虚连接的处理装置,包括:

历史数据确定模块,用于确定防火墙所通信连接的通信双方的短连接空闲时间的历史数据和所述防火墙所通信连接的通信双方的长连接空闲时间的历史数据;

阈值确定模块,用于根据所述短连接空闲时间的历史数据的分布参数确定短连接空闲时间上限阈值,根据所述长连接空闲时间的历史数据的分布参数确定长连接空闲时间上限阈值;

处置模块,用于确定所述防火墙当前连接的通信双方的空闲时间,指示所述防火墙释放短连接空闲时间大于所述短连接空闲时间上限阈值的通信双方的通信连接,发出报警信息以提示用户处理长连接空闲时间大于所述长连接空闲时间上限阈值的通信双方的通信连接。

本公开的实施例中提供了以下方案:一种防火墙虚连接的处理装置,其特征在于,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行前述的防火墙虚连接的处理方法。

本公开的实施例中提供了以下方案:一种计算机可读存储介质,所述计算机可读存储介质存储有程序,当所述程序被处理器执行时,使得所述处理器执行前述的防火墙虚连接的处理方法。

根据短连接和长连接的空闲时间的历史数据的分布参数分别确定出短连接空闲时间上限阈值和长连接空闲时间上限阈值。短连接空闲时间上限阈值和长连接空闲时间上限阈值是动态调整的,虚连接的判断标准更符合空闲时间历史数据所体现的出的统计规律。一方面得防火墙能够及时释放明显是虚连接的短连接,另一方面使得用户及时处理长连接空闲时间过长的通信连接,同时对于正常的短连接和长连接不会造成影响,使得服务端与客户端之间的通信连接顺畅。

应当理解,上述说明仅是本公开技术方案的概述,以便能够更清楚地了解本公开的技术手段,从而可依照说明书的内容予以实施。为了让本公开的上述和其它目的、特征和优点能够更明显易懂,以下特举例说明本公开的具体实施方式。

附图说明

图1为根据本公开一实施例的防火墙虚连接的处理方法的流程示意图。

图2为根据本公开一实施例的防火墙虚连接的处理装置的结构示意图。

图3为根据本公开另一实施例的防火墙虚连接的处理装置的结构示意图。

具体实施方式

需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。

以下以客户端与服务端之间建立TCP通信连接为例进行说明。其中,客户端例如是个人电脑或智能手机,服务端例如是数据中心。

图1为根据本公开一实施例的防火墙虚连接的处理方法的流程示意图,该方法用于生成合适的阈值并及时识别和处理防火墙虚连接。从设备角度而言,该方法执行主体可以是一个或者多个电子设备,更具体地可以是其中的处理模块;从程序角度而言,执行主体相应地可以是搭载于这些电子设备上的程序。

图1中的流程可以包括以下步骤101~步骤103。

步骤101、确定防火墙所通信连接的通信双方的短连接空闲时间的历史数据和所述防火墙所通信连接的通信双方的长连接空闲时间的历史数据。

采用网络探针服务器以端口镜像或者分光器的方式保存经过防火墙的数据包。随后将这些数据包存储在一存储服务器中。存储服务器的存储容量推荐至少能够保存经过防火墙的一个月的数据包。

数据包包含五元组信息:源IP、目的IP、源端口、目的端口、协议号。其中,TCP协议号为6。通过源IP和目的IP可以唯一地标识一对通信双方。通信双方即进行通信的客户端和服务端。

短连接指的是客户端与服务端之间每次通信连接建立后,在客户端与服务端之间的一次数据传输完成之后,释放该通信连接。短连接的数据包中还会记录一次数据传输完成时间、TCP通信连接的释放时间。短连接空闲时间指的是从数据传输完成到发起通信连接释放操作或通信连接重置操作的间隔时间。

长连接指的是客户端与服务端长时间保持通信连接,在二者通信连接状态下进行多次数据传输。长连接空闲时间指的是两次数据传输之间的间隔时间。长连接的数据包中的特定标识位会记录长连接的空闲时间。

通常一个确定的源IP和一个确定的目的IP之间的通信连接类型是短连接还是长连接是预先设定好的。

可选地,所述短连接空闲时间上限阈值在设定时段内有效,所述短连接空闲时间的历史数据为历史上与所述设定时段同期时段内的短连接空闲时间的历史数据。例如,确定历史上多个月的23日的21:00至22:00内TCP短连接的空闲时间的历史数据,据此得到当前月的23日的21:00至22:00的短连接空闲时间上限阈值。

同理,所述长连接空闲时间上限阈值在设定时段内有效,所述长连接空闲时间的历史数据为历史上与所述设定时段同期时段内的长连接空闲时间的历史数据。例如,确定历史上多个月的23日的21:00至22:00内TCP长连接的空闲时间的历史数据,据此得到当前月的23日的21:00至22:00的长连接空闲时间上限阈值。

当然,对短连接空闲时间和长连接空闲时间的历史数据进行截取的时间窗口也可以是以日为单位。该时间窗口也可以是滑动时间窗口。例如以选取近期一周内短连接空闲时间的历史数据用以确定当前一周的短连接空闲时间上限阈值,选取近期一个月内长连接空闲时间的历史数据用以确定当前一个月的长连接空闲时间上限阈值。

步骤102、根据所述短连接空闲时间的历史数据的分布参数确定短连接空闲时间上限阈值,根据所述长连接空闲时间的历史数据的分布参数确定长连接空闲时间上限阈值。

例如,根据所述短连接空闲时间的历史数据拟合的正态分布的均值以及标准差确定短连接空闲时间上限阈值,根据所述长连接空闲时间的历史数据拟合的正态分布的均值以及标准差确定长连接空闲时间上限阈值。

通常情况下,短连接空闲时间和长连接空闲时间近似服从正态分布。对短连接空闲时间进行统计分析,根据短连接空闲时间的历史数据的均值以及标准差确定一个相对较大的短连接空闲时间上限阈值。对长连接空闲时间进行统计分析。根据长连接空闲时间的历史数据的均值以及标准差确定一个相对较大的长连接空闲时间上限阈值。

例如,短连接空闲时间上限阈值等于所述短连接空闲时间的历史数据的均值和6倍的标准差之和。如此,按照该阈值对防火墙进行设定,超过99.999%的短通信连接是不会被释放的。

例如,所述长连接空闲时间上限阈值等于所述长连接空闲时间的历史数据的均值和6倍的标准差之和。如此,按照该阈值对防火墙进行设定,超过99.999%的长通信连接是不会被释放的。

当然,也可以根据这些历史数据拟合出高斯分布等其他类型的分布的分布参数,进而基于该高斯分布的分布参数得到上述上限阈值。

步骤103、确定所述防火墙当前连接的通信双方的空闲时间,指示所述防火墙释放短连接空闲时间大于所述短连接空闲时间上限阈值的通信双方的通信连接,发出报警信息以提示用户处理长连接空闲时间大于所述长连接空闲时间上限阈值的通信双方的通信连接。

该步骤中,每隔一个足够短的时间获取一次防火墙当前的连接状态,从而计算当前防火墙所通信连接的通信双方的空闲时间。

对于防火墙而言,明显空闲时间过长的短连接大概率是需要被释放的,这样操作不会影响通信双方的双方再次进行短连接。

断开一个长通信连接可能造成不确定的影响,故当一个长连接的空闲时间过长时,可以提醒用户检查该长连接的有效性,以便及时做出必要的干预操作。

根据短连接和长连接的空闲时间的历史数据的分布参数分别确定出短连接空闲时间上限阈值和长连接空闲时间上限阈值。短连接空闲时间上限阈值和长连接空闲时间上限阈值是动态调整的,虚连接的判断标准更符合空闲时间历史数据所体现的出的统计规律。一方面得防火墙能够及时释放明显是虚连接的短连接,另一方面使得用户及时处理长连接空闲时间过长的通信连接,同时对于正常的短连接和长连接不会造成影响,使得服务端与客户端之间的通信连接顺畅。

基于相同的技术构思,本公开实施例还提供一种防火墙虚连接的处理装置,用于执行上述任一实施例所提供的防火墙虚连接的处理方法。具体地,该装置可以是由专用集成电路(ASIC)、微控制单元(MCU)、服务器等硬件形式实现。

如图2所示,防火墙虚连接的处理装置包括:历史数据确定模块1,用于确定防火墙所通信连接的通信双方的短连接空闲时间的历史数据和所述防火墙所通信连接的通信双方的长连接空闲时间的历史数据;阈值确定模块2,用于根据所述短连接空闲时间的历史数据的分布参数确定短连接空闲时间上限阈值,根据所述长连接空闲时间的历史数据的分布参数确定长连接空闲时间上限阈值;处置模块3,用于确定所述防火墙当前连接的通信双方的空闲时间,指示所述防火墙释放短连接空闲时间大于所述短连接空闲时间上限阈值的通信双方的通信连接,发出报警信息以提示用户处理长连接空闲时间大于所述长连接空闲时间上限阈值的通信双方的通信连接。

在一些实施例中,所述短连接空闲时间上限阈值在设定时段内有效,所述短连接空闲时间的历史数据为历史上与所述设定时段同期时段内的短连接空闲时间的历史数据。

在一些实施例中,所述长连接空闲时间上限阈值在设定时段内有效,所述长连接空闲时间的历史数据为历史上与所述设定时段同期时段内的长连接空闲时间的历史数据。

在一些实施例中,所述短连接空闲时间上限阈值是根据所述短连接空闲时间的历史数据拟合的正态分布的均值和标准差确定的。

在一些实施例中,所述短连接空闲时间上限阈值等于所述均值和6倍的所述标准差之和。

在一些实施例中,所述长连接空闲时间上限阈值是根据所述长连接空闲时间的历史数据拟合的正态分布的均值和标准差确定的。

在一些实施例中,所述长连接空闲时间上限阈值等于所述均值和6倍的所述标准差之和。

需要说明的是,本公开实施例中的装置可以实现前述方法的实施例的各个过程,并达到相同的效果和功能,这里不再赘述。

图3为根据本公开一实施例的防火墙虚连接的处理装置,用于执行图1所示出的防火墙虚连接的处理方法,该装置包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行前述的防火墙虚连接的处理方法。

根据本公开的一些实施例,提供一种非易失性计算机存储介质,其上存储有计算机可执行指令,该计算机可执行指令设置为在由处理器运行时执行前述防火墙虚连接的处理方法。

本公开中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以其描述进行了简化,相关之处可参见方法实施例的部分说明即可。

本公开实施例提供的装置和计算机可读存储介质与方法是一一对应的,因此,装置和计算机可读存储介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述装置和计算机可读存储介质的有益技术效果。

本领域内的技术人员应明白,本公开的实施例可提供为方法、系统或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本公开是参照根据本公开实施例的方法、装置、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

虽然已经参考若干具体实施方式描述了本公开的精神和原理,但是应该理解,本公开并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

技术分类

06120114736551