CN110336841A - 防火墙规则的检测方法、检测装置及可读存储介质 - Google Patents
防火墙规则的检测方法、检测装置及可读存储介质 Download PDFInfo
- Publication number
- CN110336841A CN110336841A CN201910742576.8A CN201910742576A CN110336841A CN 110336841 A CN110336841 A CN 110336841A CN 201910742576 A CN201910742576 A CN 201910742576A CN 110336841 A CN110336841 A CN 110336841A
- Authority
- CN
- China
- Prior art keywords
- rule
- characteristic point
- firewall
- key tree
- path node
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0263—Rule management
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种防火墙规则的检测方法、检测装置及存储介质,所述防火墙规则的检测方法包括以下步骤:获取到防火墙规则后,将所述防火墙规则的特征参数拆分为多个特征点,其中,所述特征点包括地址特征点及动作特征点;依次将每个所述特征点与预设键树中对应层级的路径节点进行比对,并根据比对结果将所述特征点插入所述预设键树中;其中,所述预设键树中的各个路径节点按照路径形成对应的防火墙规则,当所述防火墙规则在同一层级的特征点相同时,相同的特征点对应的路径节点共用。本发明具有根据所述预设键树对当前新增的所述防火墙规则进行快速比对查询的优点。
Description
技术领域
本发明涉及计算机安全技术领域,尤其涉及一种防火墙规则的检测方法、检测装置及可读存储介质。
背景技术
当前网络安全风险日益上升,在计算机安全行业中,对于系统的安全性和稳定性要求十严格,往往依赖网络防火墙进网络安全防护,然而,在向前序防火墙规则插入新增防火墙规则时,一般将新增防火墙规则与前序防火墙逐条进行比对,才能最终确定新增防火墙规则是否应该插入,比对时间过程时间过长且繁杂。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种防火墙规则的检测方法、检测装置及存储介质,旨在解决现有技术中插入新增防火墙规则过程中比对时间过长的问题。
为实现上述目的,本发明提供一种防火墙规则的检测方法,所述检测方法包括以下步骤:
获取到防火墙规则后,将所述防火墙规则的特征参数拆分为多个特征点,其中,所述特征点包括地址特征点及动作特征点;
依次将每个所述特征点与预设键树中对应层级的路径节点进行比对,并根据比对结果将所述特征点插入所述预设键树中;
其中,所述预设键树中的各个路径节点按照路径形成对应的防火墙规则,当所述防火墙规则在同一层级的特征点相同时,相同的特征点对应的路径节点共用。
优选地,所述依次将每个所述特征点与预设键树中对应层级的路径节点进行比对,并根据比对结果将所述特征点插入所述预设键树中的步骤包括:
依次提取每个特征点;
在提取到每个特征点后,将所述特征点与所述预设键树中对应的目标层级的目标路径节点进行比对;
在所述目标路径节点中存在通配符或者所述目标路径节点中存在与所述特征点相同的路径节点时,将通配符或者相同的路径节点的下一层级更新为目标层级,并将通配符或者相同路径节点的下一层级的路径节点更新为所述目标路径节点;
在所述特征点为通配符或者所述目标路径节点均与所述特征点不同时,将所述特征点插入所述目标层级,确定比对结束,并将后续的特征点插入到对应层级中形成所述预设键树中一条新的路径;
在所述目标路径节点中存在通配符且所述特征点为通配符时,将所有目标路径节点的下一层级更新为目标层级,并将所有目标路径节点的下一层级的路径节点更新为目标路径节点。
优选地,所述依次将每个所述特征点与所述预设键树中对应层级的路径节点进行比对的步骤之后,还包括:
根据比对结果确定所述防火墙规则对应的类型。
优选地,所述根据比对结果确定所述防火墙规则对应的类型的步骤包括:
在所述防火墙规则的动作特征点与所述预设键树中对应层级的路径节点不同,且所述防火墙规则的动作特征点与所述预设键树中对应层级的路径节点相同时,确定所述防火墙规则为相关性规则;
在所述防火墙规则的每一特征点与所述预设键树中的路径节点相同时,确定所述防火墙规则为冗余规则;
所述防火墙规则的任一地址特征点与所述预设键树中的路径节点不同时,确定所述防火墙规则为正常规则。
优选地,所述根据比对结果确定所述防火墙规则对应的类型的步骤包括之后包括:
在所述防火墙规则为冗余规则时,删除所述冗余规则;
在所述防火墙规则为相关性规则时,将所述相关性规则以及所述预设键树中的与所述相关性规则对应的关联规则插入预设的相关性键树中,并按照路径保存相关性规则与关联规则中相同的地址特征点,其中,所述相关性规则与所述关联规则中各自至少存在两个通配符。
优选地,所述按照路径保存相关性规则与关联规则中相同的地址特征点的步骤之后包括:
获取所述相关性键树中任一相关性规则作为基准规则;
根据保存的相关性规则与关联规则中相同的地址特征点,获取相关性键树的各相关性规则的地址特征点所形成的路径在基准规则的地址特征点范围内的两两之间的重叠次数;
根据所述重叠次数确定所述相关性规则的规则动作。
优选地,所述根据所述重叠次数确定所述相关性规则的规则动作的步骤之后包括:
在重叠次数大于等于1且基准规则的规则动作与预设的规则动作一致时,将与基准规则重叠的所述相关性规则的规则动作确定为基准规则的动作;
在重叠次数等于1且基准规则的规则动作与预设的规则动作不同时,将所述与基准规则重叠的所述相关性规则的规则动作确定为预设的规则动作;
在重叠次数大于1且基准规则的规则动作与预设的规则动作不同时,根据递归算法确定所述相关性规则的动作。
优选地,所述依次将每个所述特征点与预设键树中对应层级的路径节点进行比对,并根据比对结果将所述特征点插入所述预设键树中的步骤中,自所述预设键树的起始位置的路径节点及/或结束位置的路径节点进行比对。
为实现上述目的,本发明还提供一种防火墙规则的检测装置,所述防火墙规则的检测装置包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的防火墙规则的检测程序,所述防火墙规则的检测程序被所述处理器执行时实现如上任一项所述的防火墙规则的检测方法的步骤。
为实现上述目的,本发明还提供一种可读存储介质,所述计算机可读存储介质上存储有防火墙规则的检测程序,所述防火墙规则的检测程序被处理器执行时实现如上述任一项所述的防火墙规则的检测方法的步骤。
本发明的技术方案通过将所述防火墙规则的特征参数拆分为多个特征点,依次将每个所述特征点与预设键树中对应层级的路径节点进行比对,并根据比对结果将所述特征点插入所述预设键树中,从而实现根据所述预设键树对当前新增的所述防火墙规则进行快速比对查询,快速确定防火墙规则的类型,为进一步判断当前新增的所述防火墙规则是否应该插入前序防火墙规则中提供参考依据。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图;
图2为本发明防火墙规则的检测方法一实施例的流程示意图;
图3为本发明防火墙规则的检测方法的步骤S20一实施例的具体流程示意图;
图4为本发明防火墙规则的检测方法的另一实施例的具体流程示意图;
图5为本发明防火墙规则的检测方法的再一实施例的具体流程示意图;
图6为本发明防火墙规则的检测方法的又一实施例的具体流程示意图。
本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明的技术方案主要是:
获取到防火墙规则后,将所述防火墙规则的特征参数拆分为多个特征点,其中,所述特征点包括地址特征点及动作特征点;
依次将每个所述特征点与预设键树中对应层级的路径节点进行比对,并根据比对结果将所述特征点插入所述预设键树中;
其中,所述预设键树中的各个路径节点按照路径形成对应的防火墙规则,当所述防火墙规则在同一层级的特征点相同时,相同的特征点对应的路径节点共用。
当前网络安全风险日益上升,在计算机安全行业中,对于系统的安全性和稳定性要求十严格,往往依赖网络防火墙进网络安全防护,然而,在向前序防火墙规则插入新增防火墙规则时,一般将新增防火墙规则与前序防火墙逐条进行比对,才能最终确定新增防火墙规则是否应该插入,比对时间过程时间过长且繁杂。
本发明的技术方案通过将所述防火墙规则的特征参数拆分为多个特征点,依次将每个所述特征点与预设键树中对应层级的路径节点进行比对,并根据比对结果将所述特征点插入所述预设键树中,从而实现根据所述预设键树对当前新增的所述防火墙规则进行快速比对查询,快速确定防火墙规则的类型,为进一步判断当前新增的所述防火墙规则是否应该插入前序防火墙规则中提供参考依据。
如图1所示,图1是本发明实施例方案涉及的终端的硬件运行环境示意图。
本发明实施例终端为服务器及/或计算机设备。如图1所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard)、遥控器,可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的终端的结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及检测装置的控制程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的检测装置的控制程序,并执行以下操作:
获取到防火墙规则后,将所述防火墙规则的特征参数拆分为多个特征点,其中,所述特征点包括地址特征点及动作特征点;
依次将每个所述特征点与预设键树中对应层级的路径节点进行比对,并根据比对结果将所述特征点插入所述预设键树中;
其中,所述预设键树中的各个路径节点按照路径形成对应的防火墙规则,当所述防火墙规则在同一层级的特征点相同时,相同的特征点对应的路径节点共用。
进一步地,处理器1001可以调用存储器1005中存储的检测装置的控制程序,还执行以下操作:
依次提取每个特征点;
在提取到每个特征点后,将所述特征点与所述预设键树中对应的目标层级的目标路径节点进行比对;
在所述目标路径节点中存在通配符或者所述目标路径节点中存在与所述特征点相同的路径节点时,将通配符或者相同的路径节点的下一层级更新为目标层级,并将通配符或者相同路径节点的下一层级的路径节点更新为所述目标路径节点;
在所述特征点为通配符或者所述目标路径节点均与所述特征点不同时,将所述特征点插入所述目标层级,确定比对结束,并将后续的特征点插入到对应层级中形成所述预设键树中一条新的路径;
在所述目标路径节点中存在通配符且所述特征点为通配符时,将所有目标路径节点的下一层级更新为目标层级,并将所有目标路径节点的下一层级的路径节点更新为目标路径节点。
进一步地,处理器1001可以调用存储器1005中存储的检测装置的控制程序,还执行以下操作:
根据比对结果确定所述防火墙规则对应的类型。
进一步地,处理器1001可以调用存储器1005中存储的检测装置的控制程序,还执行以下操作:
在所述防火墙规则的动作特征点与所述预设键树中对应层级的路径节点不同,且所述防火墙规则的动作特征点与所述预设键树中对应层级的路径节点相同时,确定所述防火墙规则为相关性规则;
在所述防火墙规则的每一特征点与所述预设键树中的路径节点相同时,确定所述防火墙规则为冗余规则;
所述防火墙规则的任一地址特征点与所述预设键树中的路径节点不同时,确定所述防火墙规则为正常规则。
进一步地,处理器1001可以调用存储器1005中存储的检测装置的控制程序,还执行以下操作:
在所述防火墙规则为冗余规则时,删除所述冗余规则;
在所述防火墙规则为相关性规则时,将所述相关性规则以及所述预设键树中的与所述相关性规则对应的关联规则插入预设的相关性键树中,并按照路径保存相关性规则与关联规则中相同的地址特征点,其中,所述相关性规则与所述关联规则中各自至少存在两个通配符。
进一步地,处理器1001可以调用存储器1005中存储的检测装置的控制程序,还执行以下操作:
获取所述相关性键树中任一相关性规则作为基准规则;
根据保存的相关性规则与关联规则中相同的地址特征点,获取相关性键树的各相关性规则的地址特征点所形成的路径在基准规则的地址特征点范围内的两两之间的重叠次数;
根据所述重叠次数确定所述相关性规则的规则动作。
进一步地,处理器1001可以调用存储器1005中存储的检测装置的控制程序,还执行以下操作:
在重叠次数大于等于1且基准规则的规则动作与预设的规则动作一致时,将与基准规则重叠的所述相关性规则的规则动作确定为基准规则的动作;
在重叠次数等于1且基准规则的规则动作与预设的规则动作不同时,将所述与基准规则重叠的所述相关性规则的规则动作确定为预设的规则动作;
在重叠次数大于1且基准规则的规则动作与预设的规则动作不同时,根据递归算法确定所述相关性规则的动作。
进一步地,处理器1001可以调用存储器1005中存储的检测装置的控制程序,还执行以下操作:
自所述预设键树的起始位置的路径节点及/或结束位置的路径节点进行比对。
请参照图2,本发明的第一实施例中,所述防火墙规则的检测方法包括以下步骤:
步骤S10,获取到防火墙规则后,将所述防火墙规则的特征参数拆分为多个特征点,其中,所述特征点至少包括地址特征点及动作特征点。
在本实施例中,所述防火墙规则为当前新增的要插入到前序防火墙规则集合中的防火墙规则,所述防火墙规则至少包括源地址、目的地址以及规则动作,所述规则动作包括允许和拒绝,在规则动作为允许时,则允许网络数据包通过所述防护墙规则,在规则动作为拒绝时,则拒绝网络数据包通过所述防护墙规则。可以理解的是,所述防火墙规则还可以包括规则编号、协议版本类型、源端口、目的端口等,以下以所述防火墙规则包括源地址、目的地址以及规则动作为例进行说明。
本实施例中,由于所述防火墙规则包括源地址、目的地址以及规则动作,因此,对应的,将所述源地址、目的地址以及规则动作定义为所述特征参数,并将所述特征参数中的每一位定义为所述特征点,例如,对于下表1的防火墙过规则r1,源地址10.1.2.3、目的地址10.4.5.6、规则动作1被定义成所述特征参数,而特征参数中的每一位10、1、2、3、10、4、5、6、1被定义为所述特征点。
表1
规则编号 | 源地址 | 目的地址 | 规则动作 |
r1 | 10.1.2.3 | 10.4.5.6 | 1(拒绝) |
r2 | 10.1.*.* | 172.32.1.* | 1(拒绝) |
R3 | 10.1.*.* | 192.168.*.* | 0(允许) |
R4 | 10.1.1.* | 192.168.1.* | 0(允许) |
R5 | 10.1.1.* | 192.*.*.* | 1(拒绝) |
由于所述防火墙规则至少包括源地址、目的地址和规则动作,因此,对应的,所述特征点至少包括地址特征点及动作特征点,可以理解的是,所述地址特征点包括源地址特征点和目的地址特征点。以所述源地址和目的地址的地址长度各为4位,规则动作的长度为1位为例说明时,所述防火墙规则的长度为9位。
步骤S20,依次将每个所述特征点与预设键树中对应层级的路径节点进行比对,并根据比对结果将所述特征点插入所述预设键树中;其中,所述预设键树中的各个路径节点按照路径形成对应的防火墙规则,当所述防火墙规则在同一层级的特征点相同时,相同的特征点对应的路径节点共用。
在本实施例中,所述预设键树是由当前新增的所述防火墙规则之前的前序防火墙规则集合中的前序防火墙规则按照键树的树形特点建立形成的,由于所述防火墙规则的长度为9位,对应的,所述预设键树中对应层级的层级也至少为9层,也即,所述预设键树的深度为9。在本实施例中,依次将每个所述特征点与预设键树中对应层级的路径节点进行比对,例如对于防火墙规则r1=10.1.2.3.10.4.5.6.1;将所述特征点10.1.2.3.10.4.5.6.1与预设键树中对应层级的路径节点进行比对,也即相当于在所述预设键树中查询当前新增的所述防火墙规则,并根据比对结果也即查询将所述特征点插入所述预设键树中,具体地,所述比对结果也即在比对结束过程中或者比对结束后确定当前新增的所述防火墙规则的规则类型,本发明将所述规则类型划分为冗余规则、相关性规则以及正常规则,在所述防火墙规则为相关性规则或者正常规则时,所述防火墙规则将会在比对过程中插入所述预设键树中形成预设键树中的路径,而所述冗余规则将会在比对结束后被删除,也即,在当前新增的所述防火墙规则插入所述预设键树之前,所述预设键树是由前序防火墙规则中的关性规则或者正常规则按照键树的树形结构建立起来。具体如何将每个所述特征点与预设键树中对应层级的路径节点进行比对将在以下实施例中详述。
在所述预设键树中,各个路径节点按照路径形成对应的防火墙规则,当所述预设键树中按照路径形成的防火墙规则在同一层级的特征点相同时,相同的特征点对应的路径节点共用,从而简化所述预设键树,也简化了后续当前新增的所述防火墙规则与所述路径节点的比对过程。
综上所述,本发明的技术方案通过将所述防火墙规则的特征参数拆分为多个特征点,依次将每个所述特征点与预设键树中对应层级的路径节点进行比对,并根据比对结果将所述特征点插入所述预设键树中,从而实现根据所述预设键树对当前新增的所述防火墙规则进行快速比对查询,快速确定防火墙规则的类型,为进一步判断当前新增的所述防火墙规则是否应该插入前序防火墙规则中提供参考依据。
可选地,在第2实施例中,如图3所示,在上述图2所示的实施例基础上,所述步骤S20包括:
步骤S21,依次提取每个特征点;
步骤S22,在提取到每个特征点后,将所述特征点与所述预设键树中对应的目标层级的目标路径节点进行比对;
步骤S23,在所述目标路径节点中存在通配符或者所述目标路径节点中存在与所述特征点相同的路径节点时,将通配符或者相同的路径节点的下一层级更新为目标层级,并将通配符或者相同路径节点的下一层级的路径节点更新为所述目标路径节点;
步骤S24,在所述特征点为通配符或者所述目标路径节点均与所述特征点不同时,将所述特征点插入所述目标层级,确定比对结束,并将后续的特征点插入到对应层级中形成所述预设键树中一条新的路径;
步骤S25,在所述目标路径节点中存在通配符且所述特征点为通配符时,将所有目标路径节点的下一层级更新为目标层级,并将所有目标路径节点的下一层级的路径节点更新为目标路径节点。
在本实施例中,从当前新增的所述防火墙规则提取每个所述特征点,在提取到每个特征点后,将每个所述特征点与所述预设键树中对应的目标层级的目标路径节点进行比对,例如,提取到所述特征点后,从所述预设键树的根节点开始,按照自上而下的顺序将所述特征点与所述预设键树中对应的目标层级的目标路径节点进行比对,由于所述预设键树的根节点一般不代表任何字符,也即所述根节点是无效节点,因此,以所述根节点下一层的首先作为所述目标层级,并将提取到的第一个所述特征点与所述目标层级中的所有目标路径节点进行比对;在对所述地址特征点逐层进行比对的过程中,可能出现以下三种情形:
(1)所述目标层级的目标路径节点中存在通配符,或者所述目标路径节点中存在与所述特征点相同的路径节点,此时,表明所述特征点在该目标层级中是冗余的,进一步将所述通配符或者相同的路径节点的下一层级更新为目标层级,并将通配符或者相同路径节点的下一层级的路径节点更新为所述目标路径节点,并进一步提取下一个所述特征点与更新后的所述目标层级中的所述目标路径节点进行比对,以此类推,直至所述特征点比对结束;
(2)在所述特征点为通配符,或者所述目标层级中的目标路径节点均与所述特征点不同时,此时,表明所述特征点未曾插入到目标层级中,需要将所述特征点插入所述目标层级,并确定比对结束,并将该特征点后续的特征点插入到对应层级中形成所述预设键树中一条新的路径;
(3)所述目标路径节点中存在通配符,且所述特征点为通配符,此时,需要将所有目标路径节点的下一层级更新为目标层级,并将所有目标路径节点的下一层级的路径节点更新为目标路径节点,做进一步比对,直至所有特征点比对结束。
一般地,将所述动作特征点作为最后一个进行比对的特征点;在所述地址特征点与所述动作特征点都是冗余的情形下,则所述防火墙规则的规则类型为冗余规则,由上述比对过程可知,冗余的特征点将不会插入所述预设键树中,也即,冗余规则不会插入到所述预设键树中;在所述地址特征点是冗余的,而所述动作特征点不是冗余也即需要插入所述预设键树的情形下,所述防火墙规则的规则类型为相关性规则,由上述比对过程可知,相关性规则的规则动作会插入到所述预设键树中;在首先比对的任一所述地址特征点不是冗余也即需要插入所述预设键树的情形下,所述防火墙规则的规则类型为正常规则,由上述比对过程可知,正常规则自与所述目标路径节点不同的地址特征点开始,后续的特征点会插入到所述预设键树;本实施例中,将所述冗余规则与所述相关性规则通常为异常规则。
在本实施例中,通过上述的比对过程并根据比对结果确定当前新增的所述防火墙规则是否插入以及如何拆入所述预设键树中;可以理解的是,所述预设键树是前序防火墙规则以上述的比对过程建立起来的;另外,所述预设键树建立之前,可以对所有所述前序防火墙规则进行快速排序,将所有所述前序防火墙规则进行分类,以提高所述预设键树的建树速度。
可选地,在第3实施例中,如图4所示,在上述图2-3所示的实施例基础上,所述步骤S20之后,还包括:
步骤S30,根据比对结果确定所述防火墙规则对应的类型。
进一步地,在第4实施例中,如图5所示,在上述图2-4所示的实施例基础上,所述步骤S30包括:
步骤S31,在所述防火墙规则的动作特征点与所述预设键树中对应层级的路径节点不同,且所述防火墙规则的动作特征点与所述预设键树中对应层级的路径节点相同时,确定所述防火墙规则为相关性规则;
步骤S32,在所述防火墙规则的每一特征点与所述预设键树中的路径节点相同时,确定所述防火墙规则为冗余规则;
步骤S33,所述防火墙规则的任一地址特征点与所述预设键树中的路径节点不同时,确定所述防火墙规则为正常规则。
在本实施例中,如前所述,在所述地址特征点与所述动作特征点都是冗余的情形下,则所述防火墙规则的规则类型为冗余规则,也即,在所述防火墙规则的每一特征点与所述预设键树中的目标路径节点相同时,确定所述防火墙规则为冗余规则;在所述地址特征点是冗余的,而所述动作特征点不是冗余也即需要插入所述预设键树的情形下,所述防火墙规则的规则类型为相关性规则,也即,在所述防火墙规则的动作特征点与所述预设键树中对应层级的路径节点不同,且所述防火墙规则的动作特征点与所述预设键树中对应层级的路径节点相同时,确定所述防火墙规则为相关性规则;在首先比对的任一所述地址特征点不是冗余也即需要插入所述预设键树的情形下,所述防火墙规则的规则类型为正常规则,也即,在所述防火墙规则的每一特征点与所述预设键树中的路径节点相同时,确定所述防火墙规则为冗余规则。
在本实施例中,通过上述判定方法可以确定出当前新增的所述防火墙规则相对于前序规则是何种类型的防火墙规则,以便于后续对所述防火墙规则做进一步处理。进一步地,若根据当前新增的所述防火墙规则与所述预设键树的中的任一路径的路径节点的比对结果,确定当前新增的所述防火墙规则为冗余规则时,则确定比对结束,无需将所述特征点继续与所述预设键树中的其他路径的路径节点进行对比,从而减少比对过程所需时长。
可选地,在第5实施例中,如图6所示,在上述图2-5所示的实施例基础上,所述步骤S30之后包括:
步骤S40,在所述防火墙规则为冗余规则时,删除所述冗余规则;
步骤S50,在所述防火墙规则为相关性规则时,将所述相关性规则以及所述预设键树中的与所述相关性规则对应的关联规则插入预设的相关性键树中,并按照路径保存相关性规则与关联规则中相同的地址特征点,其中,所述相关性规则与所述关联规则中各自至少存在两个通配符。
在本实施例中,在所述防火墙规则为冗余规则时,删除所述冗余规则,从而减少检测规则集合规模,提高检测效率。
进一步地,在所述防火墙规则为相关性规则时,获取所述相关性规则以及所述预设键树中的与所述相关性规则对应的关联规则,所述关联规则也即所述防火墙规则的特征点与所述预设键树中的对应层级的路径节点进行对比并用于确定所述防火墙规则为相关性规则的路径所对应的规则,所述关联规则可以一条或者多条。按照所述预设键树的建树方法,将前序防火墙规则中的相关性规则构建形成所述预设的相关性键树中,以保存上述比对过程中的相关性规则。进一步地,本发明按照路径保存相关性规则与关联规则中相同的地址特征点,其中,所述相关性规则与所述关联规则中各自至少存在两个通配符,以便于对所述相关性规则做进一步处理,也即,进一步确定相关性规则与关联规则的相同路径的规则动作,以下实施例将进行详述。
可选地,在第6实施例中,如图7所示,在上述图2-6所示的实施例基础上,所述步骤S50之后包括:
步骤S60,获取所述相关性键树中任一相关性规则作为基准规则;
步骤S70,根据保存的相关性规则与关联规则中相同的地址特征点,获取相关性键树的各相关性规则的地址特征点所形成的路径在基准规则的地址特征点范围内的两两之间的重叠次数;
步骤S80,根据所述重叠次数确定所述相关性规则的规则动作。
在本实施例中,以所述相关性键树中任一路径对应的相关性规则作为被比较的基准规则,并根据上述的按照路径保存相关性规则与关联规则中相同的地址特征点的信息,获取所述相关性键树中其余的相关性规则在所述基准规则的地址特征点范围内的两两之间的重叠次数,例如,所述基准规则为Rm=10.1.1.1.172.*.*.*.1,其余的相关性包括R1、R2,而R1=10.1.1.1.172.*.*.1.*,R2=10.1.1.1.172.*.1.1.*,其中,统配符号*代表的地址位范围为1-255。对比可知,R1在Rm的地址特征点的范围内重复的地址为10.1.1.1.172.*.*.1.1,R1在Rm的地址特征点的范围内的重叠次数为1;R2在Rm的地址特征点的范围内重复的地址为10.1.1.1.172.*.1.1.1,R2在Rm的地址特征点的范围内的重叠次数为1,但是由于R1与R2也存在重复的地址10.1.1.1.172.*.1.1.*,因此,在在Rm的地址特征点的范围内各相关性规则两两之间的重叠次数为2;在获取所述重叠次数后,就可以根据所述确定所述相关性规则的规则动作。
可选地,在第7实施例中,如图8所示,在上述图2-6所示的实施例基础上,所述步骤S80包括:
步骤S81,在重叠次数大于等于1且基准规则的规则动作与预设的规则动作一致时,将与基准规则重叠的所述相关性规则的规则动作确定为基准规则的动作;
步骤S82,在重叠次数等于1且基准规则的规则动作与预设的规则动作不同时,将所述与基准规则重叠的所述相关性规则的规则动作确定为预设的规则动作;
步骤S83,在重叠次数大于1且基准规则的规则动作与预设的规则动作不同时,根据递归算法确定所述相关性规则的动作。
在本实施例中,在重叠次数大于等于1,例如前述R1与Rm的重叠次数为1,前述R1、R2与Rm的两两之间重叠次数为,所述基准规则Rm的规则动作为拒绝,而预设的规则动作也是拒绝,两证动作一致,则将所述R1、R2的规则动作设置为拒绝;在重叠次数等于1,例如前述R1与Rm的重叠次数为1,所述基准规则Rm的规则动作为拒绝,而预设的规则动作也是允许,则将所述R1的规则动作设置为允许;在重叠次数大于1,例如前述R1、R2与Rm两两之间的重叠次数为2,所述基准规则Rm的规则动作为拒绝,而预设的规则动作也是允许,则根据递归算法确定所述相关性规则的动作,例如,所述递归算法可以是,定时判断所述R1、R2与Rm被激活的次数,获取被激活次数最多的防火墙规则的规则动作,将所述R1、R2与Rm的过则动作同一设置为被激活次数最多的防火墙规则的规则动作,可以理解,所述递归算法也可以是其他算法,本实施例不以此为限。
优选地,所述步骤S20中,自所述预设键树的起始位置的路径节点及/或结束位置的路径节点进行比对。
在本实施例中,自所述预设键树的起始位置的路径节点,也即所述键树的根节点的下一层节点开始自上而下进行比对,或者自结束位置的路径节点开始自下而上进行比对,在自所述预设键树的起始位置的路径节点以及结束位置的路径节点进行比对比对时,对比过程是双线程的,因此,可以提高比对效率也即查询效率。
为实现上述目的,本发明还提供一种防火墙规则的检测装置,所述防火墙规则的检测装置包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的防火墙规则的检测程序,所述防火墙规则的检测程序被所述处理器执行时实现如上所述的防火墙规则的检测方法的步骤。
为实现上述目的,本发明还提供一种可读存储介质,所述计算机可读存储介质上存储有防火墙规则的检测程序,所述防火墙规则的检测程序被处理器执行时实现如上所述的防火墙规则的检测方法的步骤。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是电视机,手机,计算机,服务器,检测装置,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种防火墙规则的检测方法,其特征在于,所述检测方法包括以下步骤:
获取到防火墙规则后,将所述防火墙规则的特征参数拆分为多个特征点,其中,所述特征点包括地址特征点及动作特征点;
依次将每个所述特征点与预设键树中对应层级的路径节点进行比对,并根据比对结果将所述特征点插入所述预设键树中;
其中,所述预设键树中的各个路径节点按照路径形成对应的防火墙规则,当所述防火墙规则在同一层级的特征点相同时,相同的特征点对应的路径节点共用。
2.如权利要求1所述的防火墙规则的检测方法,其特征在于,所述依次将每个所述特征点与预设键树中对应层级的路径节点进行比对,并根据比对结果将所述特征点插入所述预设键树中的步骤包括:
依次提取每个特征点;
在提取到每个特征点后,将所述特征点与所述预设键树中对应的目标层级的目标路径节点进行比对;
在所述目标路径节点中存在通配符或者所述目标路径节点中存在与所述特征点相同的路径节点时,将通配符或者相同的路径节点的下一层级更新为目标层级,并将通配符或者相同路径节点的下一层级的路径节点更新为所述目标路径节点;
在所述特征点为通配符或者所述目标路径节点均与所述特征点不同时,将所述特征点插入所述目标层级,确定比对结束,并将后续的特征点插入到对应层级中形成所述预设键树中一条新的路径;
在所述目标路径节点中存在通配符且所述特征点为通配符时,将所有目标路径节点的下一层级更新为目标层级,并将所有目标路径节点的下一层级的路径节点更新为目标路径节点。
3.如权利要求2所述的防火墙规则的检测方法,其特征在于,所述依次将每个所述特征点与所述预设键树中对应层级的路径节点进行比对的步骤之后,还包括:
根据比对结果确定所述防火墙规则对应的类型。
4.如权利要求3所述的防火墙规则的检测方法,其特征在于,所述根据比对结果确定所述防火墙规则对应的类型的步骤包括:
在所述防火墙规则的动作特征点与所述预设键树中对应层级的路径节点不同,且所述防火墙规则的动作特征点与所述预设键树中对应层级的路径节点相同时,确定所述防火墙规则为相关性规则;
在所述防火墙规则的每一特征点与所述预设键树中的路径节点相同时,确定所述防火墙规则为冗余规则;
所述防火墙规则的任一地址特征点与所述预设键树中的路径节点不同时,确定所述防火墙规则为正常规则。
5.如权利要求4所述的防火墙规则的检测方法,其特征在于,所述根据比对结果确定所述防火墙规则对应的类型的步骤包括之后包括:
在所述防火墙规则为冗余规则时,删除所述冗余规则;
在所述防火墙规则为相关性规则时,将所述相关性规则以及所述预设键树中的与所述相关性规则对应的关联规则插入预设的相关性键树中,并按照路径保存相关性规则与关联规则中相同的地址特征点,其中,所述相关性规则与所述关联规则中各自至少存在两个通配符。
6.如权利要求5所述的防火墙规则的检测方法,其特征在于,所述按照路径保存相关性规则与关联规则中相同的地址特征点的步骤之后包括:
获取所述相关性键树中任一相关性规则作为基准规则;
根据保存的相关性规则与关联规则中相同的地址特征点,获取相关性键树的各相关性规则的地址特征点所形成的路径在基准规则的地址特征点范围内的两两之间的重叠次数;
根据所述重叠次数确定所述相关性规则的规则动作。
7.如权利要求6所述的防火墙规则的检测方法,其特征在于,所述根据所述重叠次数确定所述相关性规则的规则动作的步骤之后包括:
在重叠次数大于等于1且基准规则的规则动作与预设的规则动作一致时,将与基准规则重叠的所述相关性规则的规则动作确定为基准规则的动作;
在重叠次数等于1且基准规则的规则动作与预设的规则动作不同时,将所述与基准规则重叠的所述相关性规则的规则动作确定为预设的规则动作;
在重叠次数大于1且基准规则的规则动作与预设的规则动作不同时,根据递归算法确定所述相关性规则的动作。
8.如权利要求1-7任一项所述的防火墙规则的检测方法,其特征在于,所述依次将每个所述特征点与预设键树中对应层级的路径节点进行比对,并根据比对结果将所述特征点插入所述预设键树中的步骤中,自所述预设键树的起始位置的路径节点及/或结束位置的路径节点进行比对。
9.一种防火墙规则的检测装置,其特征在于,所述防火墙规则的检测装置包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的防火墙规则的检测程序,所述防火墙规则的检测程序被所述处理器执行时实现如权利要求1至8中任一项所述的防火墙规则的检测方法的步骤。
10.一种可读存储介质,其特征在于,所述计算机可读存储介质上存储有防火墙规则的检测程序,所述防火墙规则的检测程序被处理器执行时实现如权利要求1至8中任一项所述的防火墙规则的检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910742576.8A CN110336841A (zh) | 2019-08-09 | 2019-08-09 | 防火墙规则的检测方法、检测装置及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910742576.8A CN110336841A (zh) | 2019-08-09 | 2019-08-09 | 防火墙规则的检测方法、检测装置及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110336841A true CN110336841A (zh) | 2019-10-15 |
Family
ID=68149394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910742576.8A Pending CN110336841A (zh) | 2019-08-09 | 2019-08-09 | 防火墙规则的检测方法、检测装置及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110336841A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113127861A (zh) * | 2019-12-31 | 2021-07-16 | 深信服科技股份有限公司 | 一种规则命中检测方法、装置、电子设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105187435A (zh) * | 2015-09-24 | 2015-12-23 | 浪潮电子信息产业股份有限公司 | 一种防火墙规则过滤优化方法 |
US20160156591A1 (en) * | 2014-12-02 | 2016-06-02 | Nicira, Inc. | Context-aware distributed firewall |
CN105743871A (zh) * | 2014-12-12 | 2016-07-06 | 国家电网公司 | 一种基于判定树的防火墙策略冲突检测方法 |
CN109639694A (zh) * | 2018-12-20 | 2019-04-16 | 国云科技股份有限公司 | 一种基于规则树检索的防火墙数据包匹配算法 |
-
2019
- 2019-08-09 CN CN201910742576.8A patent/CN110336841A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160156591A1 (en) * | 2014-12-02 | 2016-06-02 | Nicira, Inc. | Context-aware distributed firewall |
CN105743871A (zh) * | 2014-12-12 | 2016-07-06 | 国家电网公司 | 一种基于判定树的防火墙策略冲突检测方法 |
CN105187435A (zh) * | 2015-09-24 | 2015-12-23 | 浪潮电子信息产业股份有限公司 | 一种防火墙规则过滤优化方法 |
CN109639694A (zh) * | 2018-12-20 | 2019-04-16 | 国云科技股份有限公司 | 一种基于规则树检索的防火墙数据包匹配算法 |
Non-Patent Citations (1)
Title |
---|
陈靖宇: "《防火墙策略异常检测与处理》", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113127861A (zh) * | 2019-12-31 | 2021-07-16 | 深信服科技股份有限公司 | 一种规则命中检测方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111064711B (zh) | 基于区块链的数据流检测方法、装置及服务器 | |
CN106534164B (zh) | 基于网络空间用户标识的有效虚拟身份刻画方法 | |
CN106407203A (zh) | 一种对目标终端进行识别的方法和设备 | |
CN107370718A (zh) | 网页中黑链的检测方法和装置 | |
CN113946546B (zh) | 异常检测方法、计算机存储介质及程序产品 | |
CN106921504A (zh) | 一种确定不同用户的关联路径的方法和设备 | |
CN101707598B (zh) | 识别洪水攻击的方法、装置及系统 | |
CN110336841A (zh) | 防火墙规则的检测方法、检测装置及可读存储介质 | |
CN114598502A (zh) | 攻击路径风险检测方法、电子设备及可读存储介质 | |
CN109284590A (zh) | 访问行为安全防护的方法、设备、存储介质及装置 | |
CN111259007B (zh) | 电动车信息监控方法、装置、服务器及电动车管理系统 | |
CN110825947B (zh) | Url去重方法、装置、设备与计算机可读存储介质 | |
CN105141642B (zh) | 一种防止非法用户行为的方法及装置 | |
CN111698256A (zh) | 检测非法链接的方法及装置 | |
CN111552717A (zh) | 一种伪装对象的识别方法、装置、服务器和存储介质 | |
CN109067716A (zh) | 一种识别暗链的方法与系统 | |
CN110505186A (zh) | 一种安全规则冲突的识别方法、识别设备及存储介质 | |
CN115242436A (zh) | 一种基于命令行特征的恶意流量检测方法及系统 | |
CN105191227A (zh) | 一种流表项管理方法及设备 | |
CN104978344B (zh) | 一种数据运算方法及装置 | |
CN106535300A (zh) | 一种网络接入方法及装置 | |
CN109474452B (zh) | 自动识别b/s僵尸网络后台的方法、系统及存储介质 | |
CN110585701A (zh) | 一种手机闯关游戏的关卡管理方法、系统及移动终端 | |
CN110505190A (zh) | 微分段的部署方法、安全设备、存储介质及装置 | |
CN111885607A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191015 |
|
RJ01 | Rejection of invention patent application after publication |