一种应用层防火墙及其处理方法与流程

文档序号:11524194阅读:220来源:国知局
一种应用层防火墙及其处理方法与流程

本发明涉及网络安全技术领域,尤其涉及一种应用层防火墙及其处理方法。



背景技术:

防火墙(firewall),也称防护墙,是由gilshwed于1993年发明并引入国际互联网(us5606668(a)1993-12-15),防火墙是一种位于内部网络与外部网络之间的网络安全系统。依照特定的规则,防火墙放行符合规则的传输信息,禁止不符合规则的传输信息通过。

传输控制协议洪水(transmissioncontrolprotocolflood,tcpflood)是一种利用传输控制协议(transmissioncontrolprotocol,tcp)/因特网互联协议(internetprotocol,ip)的缺陷发起的攻击,其实质上是一种无意义的tcp包,通常都是同步序号(synchronous,syn)、确认(acknowledgement,ack)、结束(finish,fin)和复位(reset,rst)这类的包,即tcpflood不带有与应用层相关的数据信息,因此,tcpflood在通过应用层防火墙时,无需对tcpflood进行处理。然而,tcpflood在通过应用层防火墙时,却引起应用层防火墙触发某些的功能,如:应用识别(deeppacketinspection,dpi)功能,即当到达应用层防火墙时,tcpflood虽然不包含应用层数据,但依旧会触发应用识别功能,从而使应用层防火墙进行针对应用识别的初始化和数据创建的操作,从而增大应用层防火墙的开销。

由于增大应用层防火墙的开销,会影响其防御性能,因此,亟需寻找一种降低应用层防火墙开销的方法。



技术实现要素:

有鉴于此,本发明实施例期望提供一种应用层防火墙及其处理方法,能够降低应用层防火墙的开销。

为达到上述目的,本发明的技术方案是这样实现的:

本发明实施例提供了一种应用层防火墙的处理方法,所述方法包括:

检测网络侧发送的数据包是否包含应用层数据;

若是,触发应用层中的第一应用逻辑功能和第二应用逻辑功能,根据所述第一应用逻辑功能处理所述数据包中的非应用层数据,并根据所述第二应用逻辑功能处理所述应用层数据;

若否,触发应用层中的第一应用逻辑功能,根据所述第一应用逻辑功能处理所述数据包中的非应用层数据。

上述方案中,所述第一应用逻辑功能包括:端口识别功能和检测功能;

所述根据所述第一应用逻辑功能处理所述数据包中的非应用层数据,包括:

根据所述端口识别功能识别非应用层数据中传输控制协议tcp首部的端口号,以根据所述端口号识别所述数据包的数据类型;

或者,根据所述检测功能检测目标可选字段信息,所述目标可选字段信息为非应用层数据中的tcp首部或因特网互联协议ip首部的可选字段信息。

上述方案中,所述根据所述第二应用逻辑功能处理所述应用层数据,包括:

获取所述应用层数据的特征信息,查找预设特征库中与所述特征信息匹配的预设特征信息,将所查找到的预设特征信息对应的应用类型确定为所述应用层数据的应用类型;

或者,获取所述应用层数据的特征信息,确定所述特征信息与预设防御库中的预设防御信息匹配时,对所述应用层数据进行入侵防御处理。

上述方案中,所述应用层数据包括:tcp/ip参考模型、或开放系统互联osi参考模型中应用层所对应的数据。

本发明实施例还提供了一种应用层防火墙,所述应用层防火墙包括:

检测模块,用于检测网络侧发送的数据包是否包含应用层数据;

第一触发模块,用于确定数据包包含应用层数据时,触发应用层中的第一应用逻辑功能和第二应用逻辑功能;

第二触发模块,还用于确定数据包不包含应用层数据时,触发应用层中的第一应用逻辑功能;

第一处理模块,用于根据所述第一应用逻辑功能处理所述数据包中的非应用层数据;

第二处理模块,用于根据所述第二应用逻辑功能处理所述应用层数据。

上述方案中,所述第一应用逻辑功能包括:端口识别功能和检测功能;

所述第一处理模块包括:

识别子模块,用于根据所述端口识别功能识别非应用层数据中传输控制协议tcp首部的端口号,以根据所述端口号识别所述数据包的数据类型;

检测子模块,用于根据所述检测功能检测目标可选字段信息,所述目标可选字段信息为非应用层数据中的tcp首部或因特网互联协议ip首部的可选字段信息。

上述方案中,所述第二处理模块包括:

第一处理子模块,用于获取所述应用层数据的特征信息,查找预设特征库中与所述特征信息匹配的预设特征信息,将所查找到的预设特征信息对应的应用类型确定为所述应用层数据的应用类型;

第二处理子模块,用于获取所述应用层数据的特征信息,确定所述特征信息与预设防御库中的预设防御信息匹配时,对所述应用层数据进行入侵防御处理。

上述方案中,所述应用层数据包括:tcp/ip参考模型、或osi参考模型中应用层所对应的数据。

本发明实施例提供的应用层防火墙及其处理方法,检测网络侧发送的数据包是否包含应用层数据;若是,触发应用层中的第一应用逻辑功能和第二应用逻辑功能,根据所述第一应用逻辑功能处理所述数据包中的非应用层数据,并根据所述第二应用逻辑功能处理所述应用层数据;若否,触发应用层中的第一应用逻辑功能,根据所述第一应用逻辑功能处理所述数据包中的非应用层数据。可见,本发明实施例将应用层防火墙中原有的应用层的功能,如应用识别功能和入侵防御功能,分别划分为第一应用逻辑功能和第二应用逻辑功能,根据数据包中是否包含应用层数据来确定是否触发第二应用逻辑功能,其有益效果包括如下两个方面:一方面,当接收到网络侧发送的不包含应用层数据的数据包,如tcp类攻击包时,只触发第一应用逻辑功能来响应该攻击类tcp包,避免了第二应用逻辑功能被触发,因此,避免了相应的初始化和数据创建等过程,从而降低了应用层防火墙的开销;另一方面,当接收到网络侧发送的具有应用层数据的数据包时,触发第一应用逻辑功能和第二应用逻辑功能响应该数据包,对该数据包进行端口识别、相应的初始化、数据创建、对应用进行识别、过滤和入侵防御等,从而达到应用应用层防火墙的防御效果。

附图说明

图1为一种应用层防火墙的网络系统示意图;

图2为本发明实施例公开的一种应用层防火墙的处理方法的实现流程示意图;

图3为本发明实施例公开的一种应用层防火墙的组成结构示意图;

图4为本发明实施例公开的另一种应用层防火墙的处理方法的实现流程示意图;

图5为一种数据包的格式示意图;

图6为一种数据包到达应用层防火墙时触发第一应用逻辑功能和第二应用逻辑功能的示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

图1为应用层防火墙的网络系统示意图,如图1所示,所述网络系统包括:内网中的服务器或主机、应用层防火墙和外网的客户端。

这里,所述内网中的服务器或主机,可以包括普通家庭用户、企业或政府机构等用户的服务器或主机,所述服务器可以包括:文件存储服务器、数据库服务器、邮件服务器、应用服务器、文件传输(filetransferprotocol,ftp)服务器和万维网(web)服务器等;所述主机可以包括台式电脑、个人笔记本电脑和掌上电脑等。其中,所述内网为应用层防火墙保护范围内的局域网,如家庭网、企业网和政府网等。

这里,所述应用层防火墙包括:应用在应用层的防火墙设备或具有应用层防火墙功能的设备,使用所述应用层防火墙可以允许符合规则的传输信息进入内网,禁止不符合规则的传输信息进入内网,以免该传输信息对内网中的服务器或主机造成不利影响。

这里,所述外网的客户端可以包括台式电脑、个人笔记本电脑和掌上电脑等。其中,所述外网为该应用层防火墙保护范围以外的网络。

应用层防火墙处于服务器与客户端之间,服务器处于受应用层防火墙保护的内网,客户端处于外网,客户端和服务器的信息交互均通过应用层防火墙。

图2为本发明实施例公开的一种应用层防火墙的处理方法的实现流程示意图,如图2所示,所述处理方法包括一下步骤:

步骤201:应用层防火墙检测网络侧发送的数据包是否包含应用层数据。

具体地,所述数据包包括tcp/ip参考模型、或开放式系统互联(opensysteminterconnection,osi)参考模型中数据链路层所对应的数据帧,其结构如图5所示。所述应用层数据为tcp/ip参考模型、或osi参考模型中应用层所对应的数据,如图5所示。

所述应用层防火墙的处理方法应用于应用层防火墙,应用层防火墙是在tcp/ip参考模型或osi参考模型的“应用层”上运作。应用层防火墙在开发阶段,通过软件或其它方式将应用层的功能,如应用识别功能和入侵防御功能划分为第一应用逻辑功能和第二应用逻辑功能。例如,通过软件方法,将应用层的应用识别功能或入侵防御功能分别划分为第一应用逻辑功能和第二应用逻辑功能,其中,第一应用逻辑功能用于处理所述数据包中非应用层数据,而第二应用逻辑功能用于处理所述数据包中应用层数据。值得注意的是,应用识别功能和入侵防御功能分别被划分为两个部分,即第一应用逻辑功能部分和第二应用逻辑部分,因此,应用识别功能和入侵防御功能的第一应用逻辑功能可用于处理所述数据包中非应用层数据,应用识别功能和入侵防御功能的第二应用逻辑功能可用于处理所述数据包中应用层数据。上述应用层功能仅仅是举例,而非穷举,包括但不仅限于上述应用层功能,如还可以有防病毒和数据过滤等功能。

进一步地,将所述检测网络侧发送的数据包是否包含应用层数据的方法,替换为检测网络侧发送的数据包是否包含连接信息,所述连接信息为osi参考模型或tcp/ip参考模型中tcp首部的信息,包括:同步标识(synchronous,syn)和复位标识(reset,rst),如图5所示。在osi参考模型和tcp/ip参考模型中,所述syn用于tcp协议中的三次握手,rst用于复位tcp连接。这里,所述rst等于1时,表示包含rst;syn等于1时,表示包含syn。举例来说,当rst=1,表明复位tcp连接,此时,说明数据包包含rst的连接信息,而数据包的数据段为空,也即该数据包不包含应用层数据。

步骤202:当确定数据包包含应用层数据时,应用层防火墙触发应用层中的第一应用逻辑功能和第二应用逻辑功能,根据所述第一应用逻辑功能处理所述数据包中的非应用层数据,并根据所述第二应用逻辑功能处理所述应用层数据。

进一步地,所述第一应用逻辑功能包括:端口识别功能和检测功能;所述根据所述第一应用逻辑功能处理所述数据包中的非应用层数据,包括:根据所述端口识别功能识别非应用层数据中tcp首部的端口号,以根据所述端口号识别所述数据包的数据类型;或者,根据所述检测功能检测目标可选字段信息,所述目标可选字段信息为非应用层数据中的tcp首部或ip首部的可选字段信息,其中,tcp首部的可选字段位置如图5所示,ip首部的可选字段位置与tcp的类似,本发明实施例中未示出。

例如,应用层防火墙接收到网络侧发送的数据包后,当确定数据包包含应用层数据时,应用层中的第一应用逻辑功能,如端口识别功能和检测功能被触发。然后,应用层防火墙根据所述端口识别功能识别数据包中非应用层数据的tcp首部的端口号,如tcp首部的端口号为21时,表示文件传输;端口号为23时,表示远程登录;端口号为25时,表示电子邮件。因此,根据所述端口号识别所述数据包的数据类型。或者,根据所述检测功能检测目标可选字段信息,所述目标可选字段信息为非应用层数据中的tcp首部或ip首部的可选字段信息,所述可选字段信息包括:记录路径和时间戳(timestamp),其中,记录路径是让每个路由器都记下ip地址,时间戳让每个路由器都记下ip数据报经过每一个路由器的ip地址和当地时间。

进一步地,应用层防火墙接收到网络侧发送的数据包后,当确定数据包包含应用层数据时,应用层中的第二应用逻辑功能被触发。所述根据所述第二应用逻辑功能处理所述应用层数据,包括:获取所述应用层数据的特征信息,查找预设特征库中与所述特征信息匹配的预设特征信息,将所查找到的预设特征信息对应的应用类型确定为所述应用层数据的应用类型;或者,获取所述应用层数据的特征信息,确定所述特征信息与预设防御库中的预设防御信息匹配时,对所述应用层数据进行入侵防御处理。

例如,应用层防火墙接收到网络侧发送的数据包后,当确定数据包包含应用层数据时,应用层中应用识别功能或入侵防御功能的第一应用逻辑被触发,同时第二应用逻辑功能也会被触发。假设,触发的是应用识别功能的第二应用逻辑功能,此时,应用层防火墙根据预设的规则获取所述应用层数据的特征信息,例如发送的数据包为迅雷下载数据,此时应用防火墙获取该数据包中应用层数据的特征信息,然后,在预设特征库中查找与所述特征信息匹配的预设特征信息,将所查找到的预设特征信息对应的应用类型确定为所述应用层数据的应用类型,从而确定该数据包为迅雷下载数据,从而识别出该数据包的应用类型。或者,若发送的数据包为某敏感网服务器发送的数据包,该数据包可能包含病毒或木马之类的程序或应用,此时,应用层防火墙获取该数据包中应用层数据的特征信息,确定所述特征信息与预设防御库中的预设防御信息匹配时,确定该数据包来源于该敏感网服务器发送的数据包,此时,应用层防火墙对应用层数据进行入侵防御处理,从而达到防御的效果。

因此,当包含应用层数据的数据包到达应用层防火墙时,应用层的第一应用逻辑功能和第二应用逻辑均被触发,如图6所示,为数据包到达应用层防火墙时触发第一应用逻辑功能和第二应用逻辑功能的示意图,其中,粗箭头线为不包含应用层数据的数据包,或包含连接信息的数据包;细箭头线为包含应用层数据的数据包,或不包含连接信息的数据包。举例来说,粗箭头线穿过了应用识别功能的第一应用逻辑功能,表示应用识别功能的第一应用逻辑功能响应该数据包;细箭头线穿过了应用识别功能的第一应用逻辑功能和第二应用逻辑功能,表示应用识别功能的第一应用逻辑功能和第二应用逻辑功能响应该数据包。

或者,应用层防火墙检测接收到的数据包不包含syn和rst字段或标识中的一种或两种,此时,触发应用层中的第一应用逻辑功能和第二应用识别功能。如图6所示,不包含连接信息的数据包到达应用层防火墙时,第一应用逻辑功能和第二应用逻辑功能响应所述数据包。

步骤203:当确定数据包不包含应用层数据时,应用层防火墙触发应用层中的第一应用逻辑功能,根据所述第一应用逻辑功能处理所述数据包中的非应用层数据。

具体地,应用层防火墙接收到网络侧发送的数据包后,当确定数据包不包含应用层数据时,只触发应用层中应用识别功能或入侵防御功能的第一应用逻辑功能被触发,第一应用逻辑功能端口识别功能和检测功能;而应用层中的第二应用逻辑功能不被触发。因此,可以避免应用层防火墙的初始化、数据创建、数据/信息识别等过程,降低了应用层防火墙的开销。如图6所示,不包含应用层数据的数据包到达应用层防火墙时,只触发第一应用逻辑功能来响应所述数据包。

例如,当第一应用逻辑功能,如端口识别功能和检测功能被触发后,应用层防火墙根据所述端口识别功能识别数据包中非应用层数据的tcp首部的端口号,如tcp首部的端口号为21时,表示文件传输;端口号为23时,表示远程登录;端口号为25时,表示电子邮件。因此,根据所述端口号识别所述数据包的数据类型。或者,根据所述检测功能检测目标可选字段信息,所述目标可选字段信息为非应用层数据中的tcp首部或ip首部的可选字段信息,所述可选字段信息包括:记录路径和时间戳(timestamp),其中,记录路径是让每个路由器都记下ip地址,时间戳是让每个路由器都记下ip数据报经过每一个路由器的ip地址和当地时间。

或者,应用层防火墙检测接收到的数据包内包含syn和rst字段或标识中的一种或两种,此时,只触发应用层中的第一应用逻辑功能,不触发第二应用识别功能。如图6所示,包含连接信息的数据包到达应用层防火墙时,只触发第一应用逻辑功能来响应所述数据包。

为了实现上述方法,本发明实施例公开了一种应用层防火墙,如图3所示,图3为本发明实施例公开的一种应用层防火墙的组成结构示意图,所述应用层防火墙应用于应用层,将应用层的功能划分为第一应用逻辑功能和第二应用逻辑功能,包括:

检测模块301,用于检测网络侧发送的数据包是否包含应用层数据;

第一触发模块302,用于确定数据包包含应用层数据时,触发应用层中的第一应用逻辑功能和第二应用逻辑功能;

第二触发模块303,还用于确定数据包不包含应用层数据时,触发应用层中的第一应用逻辑功能;

第一处理模块304,用于根据所述第一应用逻辑功能处理所述数据包中的非应用层数据;

第二处理模块305,用于根据所述第二应用逻辑功能处理所述应用层数据。

进一步地,所述第一应用逻辑功能包括:端口识别功能和检测功能;

所述第一处理模块304包括:识别子模块3041,用于根据所述端口识别功能识别非应用层数据中传输控制协议tcp首部的端口号,以根据所述端口号识别所述数据包的数据类型;

检测子模块3042,用于根据所述检测功能检测目标可选字段信息,所述目标可选字段信息为非应用层数据中的tcp首部或因特网互联协议ip首部的可选字段信息。

进一步地,所述第二处理模块305包括:第一处理子模块3051,用于获取所述应用层数据的特征信息,查找预设特征库中与所述特征信息匹配的预设特征信息,将所查找到的预设特征信息对应的应用类型确定为所述应用层数据的应用类型;

第二处理子模块3052,用于获取所述应用层数据的特征信息,确定所述特征信息与预设防御库中的预设防御信息匹配时,对所述应用层数据进行入侵防御处理。

进一步地,所述应用层数据包括:tcp/ip参考模型、或osi参考模型中应用层所对应的数据。

由上述组成结构示意图组成的应用层防火墙,可以执行以下方法和步骤:

(1)检测模块301检测网络侧发送的数据包是否包含应用层数据。

具体地,所述数据包包括tcp/ip参考模型、或开放式系统互联(opensysteminterconnection,osi)参考模型中数据链路层所对应的数据帧,其结构如图5所示。所述应用层数据为tcp/ip参考模型、或osi参考模型中应用层所对应的数据,如图5所示。

所述应用层防火墙的处理方法应用于应用层防火墙,应用层防火墙是在tcp/ip参考模型或osi参考模型的“应用层”上运作。应用层防火墙在开发阶段,通过软件或其它方式将应用层的功能,如应用识别功能和入侵防御功能划分为第一应用逻辑功能和第二应用逻辑功能。例如,通过软件方法,将应用层的应用识别功能或入侵防御功能分别划分为第一应用逻辑功能和第二应用逻辑功能,其中,第一应用逻辑功能用于处理所述数据包中非应用层数据,而第二应用逻辑功能用于处理所述数据包中应用层数据。值得注意的是,应用识别功能和入侵防御功能分别被划分为两个部分,即第一应用逻辑功能部分和第二应用逻辑部分,因此,应用识别功能和入侵防御功能的第一应用逻辑功能可用于处理所述数据包中非应用层数据,应用识别功能和入侵防御功能的第二应用逻辑功能可用于处理所述数据包中应用层数据。上述应用层功能仅仅是举例,而非穷举,包括但不仅限于上述应用层功能,如还可以有防病毒和数据过滤等功能。

进一步地,将所述检测网络侧发送的数据包是否包含应用层数据的方法,替换为检测网络侧发送的数据包是否包含连接信息,所述连接信息为osi参考模型或tcp/ip参考模型中tcp首部的信息,包括:同步标识(synchronous,syn)和复位标识(reset,rst),如图5所示。在osi参考模型和tcp/ip参考模型中,所述syn用于tcp协议中的三次握手,rst用于复位tcp连接。这里,所述rst等于1时,表示包含rst;syn等于1时,表示包含syn。举例来说,当rst=1,表明复位tcp连接,此时,说明数据包包含rst的连接信息,而数据包的数据段为空,也即该数据包不包含应用层数据。

(2)当确定数据包包含应用层数据时,第一触发模块302触发应用层中的第一应用逻辑功能和第二应用逻辑功能,第一处理模块根据所述第一应用逻辑功能处理所述数据包中的非应用层数据,第二处理模块305根据所述第二应用逻辑功能处理所述应用层数据。

进一步地,所述第一应用逻辑功能包括:端口识别功能和检测功能;所述根据所述第一应用逻辑功能处理所述数据包中的非应用层数据,包括:根据所述端口识别功能识别非应用层数据中tcp首部的端口号,以根据所述端口号识别所述数据包的数据类型;或者,根据所述检测功能检测目标可选字段信息,所述目标可选字段信息为非应用层数据中的tcp首部或ip首部的可选字段信息,其中,tcp首部的可选字段位置如图5所示,ip首部的可选字段位置与tcp的类似,本发明实施例中未示出。

例如,应用层防火墙接收到网络侧发送的数据包后,当确定数据包包含应用层数据时,应用层中的第一应用逻辑功能,如端口识别功能和检测功能被触发。然后,识别子模块3041根据所述端口识别功能识别数据包中非应用层数据的tcp首部的端口号,如tcp首部的端口号为21时,表示文件传输;端口号为23时,表示远程登录;端口号为25时,表示电子邮件。因此,根据所述端口号识别所述数据包的数据类型。或者,检测子模块3042根据所述检测功能检测目标可选字段信息,所述目标可选字段信息为非应用层数据中的tcp首部或ip首部的可选字段信息,所述可选字段信息包括:记录路径和时间戳(timestamp),其中,记录路径是让每个路由器都记下ip地址,时间戳是让每个路由器都记下ip数据报经过每一个路由器的ip地址和当地时间。

进一步地,应用层防火墙接收到网络侧发送的数据包后,当确定数据包包含应用层数据时,应用层中的第二应用逻辑功能被触发。所述第二处理模块305根据所述第二应用逻辑功能处理所述应用层数据,包括:第一处理子模块3051获取所述应用层数据的特征信息,查找预设特征库中与所述特征信息匹配的预设特征信息,将所查找到的预设特征信息对应的应用类型确定为所述应用层数据的应用类型;或者,第二处理子模块3052获取所述应用层数据的特征信息,确定所述特征信息与预设防御库中的预设防御信息匹配时,对所述应用层数据进行入侵防御处理。

例如,应用层防火墙接收到网络侧发送的数据包后,当确定数据包包含应用层数据时,应用层中应用识别功能或入侵防御功能的第一应用逻辑被触发,同时第二应用逻辑功能也会被触发。假设,触发的是应用识别功能的第二应用逻辑功能,此时,应用层防火墙根据预设的规则获取所述应用层数据的特征信息,例如发送的数据包为迅雷下载数据,此时应用防火墙获取该数据包中应用层数据的特征信息,然后,在预设特征库中查找与所述特征信息匹配的预设特征信息,将所查找到的预设特征信息对应的应用类型确定为所述应用层数据的应用类型,从而确定该数据包为迅雷下载数据,从而识别出该数据包的应用类型。或者,若发送的数据包为某敏感网服务器发送的数据包,该数据包可能包含病毒或木马之类的程序或应用,此时,应用层防火墙获取该数据包中应用层数据的特征信息,确定所述特征信息与预设防御库中的预设防御信息匹配时,确定该数据包来源于该敏感网服务器发送的数据包,此时,应用层防火墙对应用层数据进行入侵防御处理,从而达到防御的效果。

因此,当包含应用层数据的数据包到达应用层防火墙时,应用层的第一应用逻辑功能和第二应用逻辑均被触发,如图6所示。

或者,应用层防火墙检测接收到的数据包不包含syn和rst字段或标识中的一种或两种,此时,触发应用层中的第一应用逻辑功能和第二应用识别功能。如图6所示,不包含连接信息的数据包到达应用层防火墙时,第一应用逻辑功能和第二应用逻辑功能响应所述数据包。

(3)当确定数据包不包含应用层数据时,第二触发模块303触发应用层中的第一应用逻辑功能,第一处理模块304根据所述第一应用逻辑功能处理所述数据包中的非应用层数据。

具体地,应用层防火墙接收到网络侧发送的数据包后,当确定数据包不包含应用层数据时,第二触发模块303触发应用层中应用识别功能或入侵防御功能的第一应用逻辑功能被触发,第一应用逻辑功能端口识别功能和检测功能;而应用层中的第二应用逻辑功能不被触发。因此,可以避免应用层防火墙的初始化、数据创建、数据/信息识别等过程,降低了应用层防火墙的开销。如图6所示,不包含应用层数据的数据包到达应用层防火墙时,只触发第一应用逻辑功能来响应所述数据包。

例如,当第一应用逻辑功能,如端口识别功能和检测功能被触发后,第一处理模块304中的识别子模块3041根据所述端口识别功能识别数据包中非应用层数据的tcp首部的端口号,如tcp首部的端口号为21时,表示文件传输;端口号为23时,表示远程登录;端口号为25时,表示电子邮件。因此,根据所述端口号识别所述数据包的数据类型。或者,根据所述检测功能检测目标可选字段信息,所述目标可选字段信息为非应用层数据中的tcp首部或ip首部的可选字段信息,所述可选字段信息包括:记录路径和时间戳(timestamp),其中,记录路径是让每个路由器都记下ip地址,时间戳是让每个路由器都记下ip数据报经过每一个路由器的ip地址和当地时间。

或者,应用层防火墙检测接收到的数据包内包含syn和rst字段或标识中的一种或两种,此时,只触发应用层中的第一应用逻辑功能,不触发第二应用识别功能。如图6所示,包含连接信息的数据包到达应用层防火墙时,只触发第一应用逻辑功能来响应所述数据包。

通过本发明实施例的技术方案,应用层防火墙应用于应用层,将应用层防火墙中原有的应用层的功能,如应用识别功能和入侵防御功能,分别划分为第一应用逻辑功能和第二应用逻辑功能,根据数据包中是否包含应用层数据来确定是否触发第二应用逻辑功能,其有益效果包括如下两个方面:一方面,当接收到网络侧发送的不包含应用层数据的数据包,如tcp类攻击包时,只触发第一应用逻辑功能来响应该攻击类tcp包,避免了第二应用逻辑功能被触发,因此,避免了相应的初始化和数据创建等过程,从而降低了应用层防火墙的开销;另一方面,当接收到网络侧发送的具有应用层数据的数据包时,触发第一应用逻辑功能和第二应用逻辑功能响应该数据包,对该数据包进行端口识别、相应的初始化、数据创建、对应用进行识别、过滤和入侵防御等,从而达到应用应用层防火墙的防御效果。

图4为本发明实施例公开的另一种应用层防火墙的处理方法的实现流程示意图,如图4所述,所述处理方法包括:

步骤401:接收终端用户发送的数据包。

步骤402:判断数据包是否包含应用层数据。

步骤403:确定数据包不包含应用层数据。

步骤404:触发应用识别功能的第一应用逻辑功能。

这里,第一应用逻辑功能包括端口识别、tcp首部option的检测和ip首部option的检测。

步骤405:根据应用层防火墙的特定规则,允许符合规则的数据包通过。

这里,若不符合规则,则禁止数据包通过。

步骤406:确定数据包包含应用层数据。

这里,如图5所示,tcp数据部分包含应用层数据

步骤407:触发应用识别功能的第一应用逻辑功能和第二应用逻辑功能。

步骤408:根据应用层防火墙的特定规则,允许符合规则的数据包通过。

这里,若不符合规则,则禁止数据包通过。

在实际应用中,所述检测模块301、第一触发模块302、第二触发模块303、第一处理模块304(包括:识别子模块3041和检测子模块3042)和第二处理模块305(包括:第一处理子模块3051和第二处理子模块305)均可由位于应用层防火墙的中央处理器(cpu)、微处理器(mpu)、数字信号处理器(dsp)、或现场可编程门阵列(fpga)等实现。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1