CN114338246B - 一种防火墙策略审计方法、装置、设备和存储介质 - Google Patents

一种防火墙策略审计方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN114338246B
CN114338246B CN202210243975.1A CN202210243975A CN114338246B CN 114338246 B CN114338246 B CN 114338246B CN 202210243975 A CN202210243975 A CN 202210243975A CN 114338246 B CN114338246 B CN 114338246B
Authority
CN
China
Prior art keywords
rule
firewall policy
target
matching result
matching
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.)
Active
Application number
CN202210243975.1A
Other languages
English (en)
Other versions
CN114338246A (zh
Inventor
江辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhang Technology Guangzhou Co ltd
Original Assignee
Zhang Technology Guangzhou Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhang Technology Guangzhou Co ltd filed Critical Zhang Technology Guangzhou Co ltd
Priority to CN202210243975.1A priority Critical patent/CN114338246B/zh
Publication of CN114338246A publication Critical patent/CN114338246A/zh
Application granted granted Critical
Publication of CN114338246B publication Critical patent/CN114338246B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开一种防火墙策略审计方法、装置、设备和存储介质,通过获取业务要求的防火墙策略规则和多条实际配置的防火墙策略规则,将一条实际配置的策略规则作为第一目标规则,针对业务要求的防火墙策略规则,按照预设的匹配策略将第一目标规则与业务要求的防火墙策略规则进行匹配得到第一匹配结果,并判断第一匹配结果是否为空集。若是,则针对实际配置的防火墙策略规则,按照匹配策略将业务要求的防火墙策略规则与每条实际配置的防火墙策略规则进行匹配得到第二匹配结果,基于第二匹配结果确定第一规则集合是否符合业务要求的防火墙策略规则。该方案可以更加准确的判断第一规则集合是否符合业务要求的防火墙策略规则,使审计结果的正确率提高。

Description

一种防火墙策略审计方法、装置、设备和存储介质
技术领域
本申请涉及网络信息安全技术领域,具体涉及一种防火墙策略审计方法、装置、设备和存储介质。
背景技术
随着网络技术的快速发展,在网络信息安全技术领域,防火墙作为网络的第一道关卡,需要通过防火墙策略来设置哪些访问允许通过,哪些访问需要阻挡。其中,网络中原本业务要求有一套防火墙策略规则,而实际配置的防火墙策略规则不一定可以符合业务要求,因此在防火墙策略规则合规检查的工作中需要将实际配置的防火墙策略规则与原本业务要求的防火墙策略规则进行比对,检查实际配置的策略规则是否符合原本业务要求的防火墙策略规则。
其实,实际配置的防火墙策略规则往往有多条,这多条策略规则组合起来或许可以符合业务要求的防火墙策略规则,而现有技术只是逐条将实际配置的防火墙策略规则与业务要求的防火墙策略规则进行比对,若单独的每一条实际配置的防火墙策略规则都不符合业务要求的防火墙策略规则,则直接将这多条策略规则的组合判断为不符合,使审计结果的错误率变高。
发明内容
有鉴于此,本申请提供了一种防火墙策略审计方法、装置、设备和存储介质,用于解决现有技术的审计结果错误率变高的缺陷。
为实现以上目的,现提出的方案如下:
第一方面,一种防火墙策略审计方法,包括:
获取业务要求的防火墙策略规则和第一规则集合,所述第一规则集合包括多条实际配置的防火墙策略规则;从所述第一规则集合中选取一条实际配置的防火墙策略规则作为第一目标规则,针对所述业务要求的防火墙策略规则,按照预设的匹配策略将所述第一目标规则与所述业务要求的防火墙策略规则进行匹配,得到第一匹配结果,所述第一匹配结果中包含若干条第二目标规则;判断所述第一匹配结果中的每条第二目标规则是否均为空集;若所述第一匹配结果中的每条第二目标规则均为空集,则针对所述第一规则集合中的每条实际配置的防火墙策略规则,按照所述匹配策略将第一规则集合中的每条实际配置的防火墙策略规则,分别与所述业务要求的防火墙策略规则进行匹配,得到第二匹配结果;基于所述第二匹配结果确定所述第一规则集合是否符合所述业务要求的防火墙策略规则。
优选地,所述实际配置的防火墙策略规则与所述业务要求的防火墙策略规则都包含相同种类的元素,且每种元素的数量相同,其中一种元素代表协议类型;在所述针对所述业务要求的防火墙策略规则,按照预设的匹配策略将所述第一目标规则与所述业务要求的防火墙策略规则进行匹配,得到第一匹配结果之前,还包括:判断所述业务要求的防火墙策略规则中代表协议类型的元素与所述第一目标规则中代表协议类型的元素是否相同;若是,则将所述业务要求的防火墙策略规则和所述第一目标规则中代表协议类型的元素删除;所述针对所述业务要求的防火墙策略规则,按照预设的匹配策略将所述第一目标规则与所述业务要求的防火墙策略规则进行匹配,包括:针对删除代表协议类型的元素后的业务要求的防火墙策略规则,按照预设的匹配策略将删除代表协议类型的元素后的第一目标规则与所述删除代表协议类型的元素后的业务要求的防火墙策略规则进行匹配。
优选地,所述实际配置的防火墙策略规则与所述业务要求的防火墙策略规则都包含相同种类的元素,且每种元素的数量相同;所述针对所述业务要求的防火墙策略规则,按照预设的匹配策略将所述第一目标规则与所述业务要求的防火墙策略规则进行匹配,得到第一匹配结果,包括:针对所述业务要求的防火墙策略规则中的每一种元素:确定所述业务要求的防火墙策略规则中的元素与所述第一目标规则中相同种类的元素之间的第一交集,并确定所述第一交集在所述业务要求的防火墙策略规则中的第一余集;确定所述业务要求的防火墙策略规则中每一种元素的第一交集和第一余集之间的第一并集;将各元素的第一并集进行组合,得到所述第一匹配结果。
优选地,所述将各元素的第一并集进行组合,得到所述第一匹配结果,包括:将各元素的第一并集进行笛卡尔积运算,得到包含多条新策略规则的第一组合,将所述第一组合减去所述第一目标规则,得到所述第一匹配结果。
优选地,在所述判断所述第一匹配结果中的每条第二目标规则是否均为空集后,还包括:若所述第一匹配结果中的第二目标规则不都为空集,则重新从所述第一规则集合中选取一条未被选取过的实际配置的防火墙策略规则作为第一目标规则;针对不为空集的第二目标规则,按照所述匹配策略将不为空集的第二目标规则与所述第一目标规则进行匹配,得到新的第一匹配结果,并返回执行所述判断所述第一匹配结果中的每条第二目标规则是否均为空集的步骤。
优选地,所述实际配置的防火墙策略规则与所述业务要求的防火墙策略规则都包含相同种类的元素,且每种元素的数量相同;所述利用所述业务要求的防火墙策略规则,按照所述匹配策略将所述第一规则集合中的每条实际配置的防火墙策略规则,分别与所述业务要求的防火墙策略规则进行匹配,得到第二匹配结果,包括:针对每条实际配置的防火墙策略规则中的每一种元素:确定所述实际配置的防火墙策略规则中的元素与所述业务要求的防火墙策略规则中相同种类的元素之间的第二交集,并确定所述第二交集在所述实际配置的防火墙策略规则中的第二余集;确定每条实际配置的防火墙策略规则中每一种元素的第二交集和第二余集之间的第二并集;将各元素的第二并集进行组合,得到所述第二匹配结果。
优选地,所述第二匹配结果中包含若干条第三目标规则;所述基于所述第二匹配结果确定所述第一规则集合是否符合所述业务要求的防火墙策略规则,包括:若各条第三目标规则均为空集,则所述第一规则集合符合所述业务要求的防火墙策略规则;若所述第二匹配结果中存在不为空集的第三目标规则,则所述第一规则集合不符合所述业务要求的防火墙策略规则。
第二方面,一种防火墙策略审计装置,包括:
获取模块,获取业务要求的防火墙策略规则和第一规则集合,所述第一规则集合包括多条实际配置的防火墙策略规则。第一匹配结果得到模块,用于从所述第一规则集合中选取一条实际配置的防火墙策略规则作为第一目标规则,针对所述业务要求的防火墙策略规则,按照预设的匹配策略将所述第一目标规则与所述业务要求的防火墙策略规则进行匹配,得到第一匹配结果,所述第一匹配结果中包含若干条第二目标规则。判断模块,用于判断所述第一匹配结果中的每条第二目标规则是否均为空集。第二匹配结果得到模块,用于当所述第一匹配结果中的每条第二目标规则均判断为空集时,针对所述第一规则集合中的每条实际配置的防火墙策略规则,按照所述匹配策略将第一规则集合中的每条实际配置的防火墙策略规则,分别与所述业务要求的防火墙策略规则进行匹配,得到第二匹配结果。最终结果判断模块,用于基于所述第二匹配结果确定所述第一规则集合是否符合所述业务要求的防火墙策略规则。
第三方面,一种防火墙策略审计设备,包括存储器和处理器;所述存储器,用于存储程序;所述处理器,用于执行所述程序,实现如第一方面所述的任一项防火墙策略审计方法的各个步骤。
第四方面,一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如第一方面所述的任一项防火墙策略审计方法的各个步骤。
从上述技术方案可以看出,本申请通过获取业务要求的防火墙策略规则和第一规则集合,所述第一规则集合包括多条实际配置的防火墙策略规则;从所述第一规则集合中选取一条实际配置的防火墙策略规则作为第一目标规则,针对所述业务要求的防火墙策略规则,按照预设的匹配策略将所述第一目标规则与所述业务要求的防火墙策略规则进行匹配,得到第一匹配结果,所述第一匹配结果中包含若干条第二目标规则;判断所述第一匹配结果中的每条第二目标规则是否均为空集;若所述第一匹配结果中的每条第二目标规则均为空集,则针对所述第一规则集合中的每条实际配置的防火墙策略规则,按照所述匹配策略将第一规则集合中的每条实际配置的防火墙策略规则,分别与所述业务要求的防火墙策略规则进行匹配,得到第二匹配结果;基于所述第二匹配结果确定所述第一规则集合是否符合所述业务要求的防火墙策略规则。该方案首先针对业务要求的防火墙策略规则,按照预设的匹配策略将业务要求的防火墙策略规则与第一目标规则进行匹配得到第一匹配结果,若第一匹配结果中的第二目标规则均为空集,则再针对第一规则集合中的每条实际配置的防火墙策略规则,按照匹配策略将第一规则集合中的每条实际配置的防火墙策略规则分别与业务要求的防火墙策略规则进行匹配,得到第二匹配结果,最终利用第二匹配结果判断第一规则集合是否符合业务要求的防火墙策略规则。该方法利用第一匹配结果确定第一规则集合是否包含业务要求的防火墙策略规则,再利用第二匹配结果确定第一规则集合是否最终符合业务要求的防火墙策略规则,可以更加准确的判断第一规则集合是否符合业务要求的防火墙策略规则,使审计结果的正确率提高。
附图说明
图1为本申请实施例提供的一种防火墙策略审计方法的可选流程图;
图2~图7为本申请实施例提供的业务要求的防火墙策略规则与实际配置的防火墙策略规则之间的关系示意图;
图8为本申请实施例提供的另一种防火墙策略审计方法的可选流程图;
图9为本申请实施例提供的一种防火墙策略审计装置示意图;
图10为本申请实施例提供的一种防火墙策略审计设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
防火墙是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术。
防火墙可以部署在网络中的通讯设备,在进行防火墙安全策略规则合规检查的工作中,涉及到数据包的过滤过程,数据包过滤是指一个用软件或硬件设备对向网络上传或从网络下载的数据流进行有选择的控制过程。数据包过滤器通常是防火墙在将数据包从一个网站向另一个网络转发的过程中允许或阻止它们的通过(更为常见的是在从互联网向内部网络传输数据时,或从内部网络向互联网传输时)。数据包中实际配置的防火墙策略规则与业务要求的防火墙策略规则都可以包含相同种类的元素,并且每种元素的数量相同,元素类型可以包括:源IP地址、目的IP地址、源端口号、目的端口号和协议类型,简称五元组。
其中,源IP地址、目的IP地址可以是单个主机地址,也可以是一个网段,掩码和IP地址组合,可以表达一个网段范围,一个网段范围表示一组IP地址,常用CIDR格式表达网段,具体为IP地址+“/”+掩码数字,掩码数字的范围可以是1~32。例如一个IP地址为10.35.21.1/24,其表示范围为10.35.21.1-10.35.21.255的网段,192.168.1.1/30表示的网段范围为192.168.1.1-192.168.3。并且掩码数字越大,表达的网段范围越小,例如10.35.21.1/24表示的网段范围为10.35.21.1-255,10.35.21.1/25表示的网段范围为10.35.21.1-128,10.35.21.1/26表示的网段范围为10.35.21.1-64。
另外,协议类型可以有两种,分别是TCP协议类型和UDP协议类型。对于源端口号而言,所有策略规则的源端口号都是全端口范围,即0-65535。而目的端口号可以是单个端口数字编号,也可以是一个端口范围。
而数据包中的策略规则是由网络运维人员根据网络设备IP分配手动配置的,而手动配置策略规则容易造成配置错误,增加网络安全隐患。常见的错误配置有以下两种:
1)五元组配置错误:配置了错误的源IP地址,错误的TCP/UDP协议类型,错误的目的IP地址,错误的目的端口号。例如:
a)业务要求的防火墙策略规则的源IP地址是10.35.21.1/24,实际配置成10.35.21.2/24,这种是IP地址配置错误;
b) 业务要求的防火墙策略规则的协议类型是TCP,实际配置成UDP,这种是协议类型配置错误;
c) 业务要求的防火墙策略规则的端口号是8801-8804,实际配置成8001-8004,这种是端口号的配置错误;
2)五元组配置IP地址配置过宽:即实际配置的IP地址范围比业务要求的防火墙策略规则的IP地址配置范围宽,或者实际配置的IP地址网段中的掩码比业务要求的防火墙策略规则的IP地址范围的掩码小;例如业务要求的防火墙策略规则的源IP地址范围是10.35.21.1/28,实际配置成10.35.21.1/24。
若要完成数据包过滤,就要根据原本业务要求的防火墙策略规则来指定哪些类型的数据包会被允许通过或者哪些类型的数据包会被阻止通过。数据包过滤的主要步骤如下:包过滤防火墙对于需要转发的数据包,首先获取数据包中的实际配置的防火墙策略规则,然后和业务要求的防火墙策略规则进行匹配,并根据匹配结果决定数据包中的防火墙策略规则是通过还是不通过。
现有技术中,在数据包进入防火墙后,防火墙根据业务要求的防火墙策略规则中的每个元素对比数据包中实际配置的每条防火墙策略规则中的每个元素,针对一条实际配置的防火墙策略规则而言,当业务要求的防火墙策略规则中的每个元素与实际配置的防火墙策略规则中相对应的每个元素都匹配成功时,这条实际配置的防火墙策略规则才可以进行路由转发,即该条策略规则被允许通过;当业务要求的防火墙策略规则中的元素与实际配置的防火墙策略规则中的相同元素进行对比时,只要存在一种相同元素的内容不同的情况,那么这条实际配置的防火墙策略规则匹配不成功,则匹配其他实际配置的防火墙策略规则;而当数据包中的每条实际配置的防火墙策略规则与业务要求的防火墙策略规则都匹配不成功时,则将该数据包判断为不符合业务要求的防火墙策略规则,那么防火墙会丢弃该数据包,不进行路由转发。
下面通过一个具体实例来详细说明现有技术的缺陷,一个实例场景如下:
例如,一条业务要求的防火墙策略规则如下表所示:
表1
Figure 561123DEST_PATH_IMAGE001
如表1所示,该条策略规则表示在10.35.21.1-255范围内的每个IP地址,都能通过TCP协议访问192.168.1.1-3范围内每个IP地址的8801-8804范围内的端口。当经过防火墙的实际配置的防火墙策略规则的协议类型是TCP类型,源IP地址是10.35.21.1-255,并且访问的目的IP地址是192.168.1.1-3,同时访问的端口是8801-8804时,该条实际配置的防火墙策略规则将会被转发。而当一条实际配置的防火墙策略规则不符合上述任意一个条件时,该实际配置的防火墙策略规则将会被放弃,防火墙不会转发。
下面再给出一个具体实例来说明多条实际配置的防火墙策略规则的组合可以符合业务要求的防火墙策略规则:
例如,业务要求的防火墙策略规则如下表2所示:
表2
Figure 230002DEST_PATH_IMAGE002
实际配置的防火墙策略规则可以有一条,如下表3所示:
表3
Figure 285683DEST_PATH_IMAGE003
实际配置的防火墙策略规则可以有多条,例如两条,如下表4所示:
表4
Figure 40012DEST_PATH_IMAGE004
或者也可以是三条,如下表5所示:
表5
Figure 590073DEST_PATH_IMAGE005
将表5中的3条实际配置的防火墙策略规则的组合作为第一规则集合,由表2和表5可知,业务要求的防火墙策略规则的目的IP地址为192.168.1.1/27,其表示的网段范围为192.168.1.1-31,表5中的第2条策略规则的目的IP地址为192.168.1.1/28,其表示的网段范围为192.168.1.1-15,表5中的第3条策略规则的目的IP为192.168.1.16/28,其表示的网段范围为192.168.1.16-31,因此可以使用表5中的第2条和第3条的目的IP地址的组合来覆盖业务要求的防火墙策略规则的目的IP地址,可以得出第2条和第3条组合而成的策略规则如下表6所示:
表6
Figure 175775DEST_PATH_IMAGE006
可是单纯将第2条和第3条实际配置的防火墙策略规则进行组合还不够,需要再利用表5中的第1条策略规则,可以看出,表5中的第1条策略规则和表6中的策略规则的区别在于目的端口号不同,这两条实际配置的防火墙策略规则组合而成的策略规则如下表7所示:
表7
Figure 415739DEST_PATH_IMAGE007
对比表1和表7,可以看出二者的范围完全相同,即表5中的3条实际配置的防火墙策略规则的组合可以符合表2中业务要求的防火墙策略规则。
实际上,由于实际的配置非常灵活,可能由于工作人员的原因,或者由于不同工作阶段的原因,实际配置了多条防火墙策略规则,而多条实际配置的防火墙策略规则的组合可以符合业务要求的防火墙策略规则。而现有技术的方案只是单独对每一条实际配置的防火墙策略规则进行匹配,容易将符合要求的多条实际配置的防火墙策略规则的组合也判断为不符合,使审计结果的错误率变高。
为解决上述现有技术的缺陷,本申请实施例提供了一种防火墙策略审计方案,接下来通过图1对本申请的防火墙策略审计方法进行说明,如图1所示,该方法包括:
S1:获取业务要求的防火墙策略规则和第一规则集合,第一规则集合包括多条实际配置的防火墙策略规则。
在防火墙对需要转发的第一规则集合中实际配置的防火墙策略规则进行审计时,会首先获取本来业务要求的防火墙策略规则,并且第一规则集合中可能包含多条实际配置的防火墙策略规则,这里的第一规则集合指的是前述的数据包。
S2:从第一规则集合中选取一条实际配置的防火墙策略规则作为第一目标规则,针对业务要求的防火墙策略规则,按照预设的匹配策略将第一目标规则与业务要求的防火墙策略规则进行匹配,得到第一匹配结果。
因为第一规则集合中包含多条实际配置的防火墙策略规则,在该步骤中,从第一规则集合中随机选取一条实际配置的防火墙策略规则,将其作为第一目标规则,针对业务要求的防火墙策略规则,按照预设的匹配策略将第一目标规则与业务要求的防火墙策略规则进行匹配,得到第一匹配结果,第一匹配结果中包含若干条第二目标规则。
S3:判断第一匹配结果中的每条第二目标规则是否均为空集。
在上述步骤得到的第二目标规则中,可能包含空集,在本步骤中,对这些第二目标规则进行判断,判断他们是否都为空集。
若第一匹配结果中的每条第二目标规则均为空集,则执行步骤S4。
S4:针对第一规则集合中的每条实际配置的防火墙策略规则,按照匹配策略将第一规则集合中的每条实际配置的防火墙策略规则,分别与业务要求的防火墙策略规则进行匹配,得到第二匹配结果。
如果第一匹配结果中的每条第二目标规则都为空集,则可以说明第一规则集合包含了业务要求的防火墙策略规则,但是这样还不够,因为第一规则集合还有可能不仅包含了业务要求的防火墙策略规则,还包含了业务要求的防火墙策略规则中没有的部分内容。因此,需要再针对第一规则集合中的每条实际配置的防火墙策略规则,按照匹配策略将第一规则集合中的每条实际配置的防火墙策略规则,分别与业务要求的防火墙策略规则进行匹配,会得到第二匹配结果,同样,第二匹配结果也包含若干条策略规则。这里需要注意的是,第一匹配结果和第二匹配结果中都可以包含若干条防火墙策略规则,但是第一次得到的第一匹配结果是针对业务要求的防火墙策略规则,将一条实际配置的防火墙策略规则与业务要求的防火墙策略规则进行匹配得到的,而第二匹配结果是针对第一规则集合中所有实际配置的防火墙策略规则,直接将这所有的实际配置的防火墙策略规则分别与业务要求的防火墙策略规则进行匹配得到的,因此第二匹配结果中的第三目标规则可以比第一次得到的第一匹配结果中的第二目标规则的条数多。
S5:基于第二匹配结果确定第一规则集合是否符合业务要求的防火墙策略规则。
在步骤S4中得到的第二匹配结果可以最终确定第一规则集合是否符合业务要求的防火墙策略规则。
因此,从上述技术方案可以看出,本申请通过获取业务要求的防火墙策略规则和第一规则集合,所述第一规则集合包括多条实际配置的防火墙策略规则;从所述第一规则集合中选取一条实际配置的防火墙策略规则作为第一目标规则,针对所述业务要求的防火墙策略规则,按照预设的匹配策略将所述第一目标规则与所述业务要求的防火墙策略规则进行匹配,得到第一匹配结果,所述第一匹配结果中包含若干条第二目标规则;判断所述第一匹配结果中的每条第二目标规则是否均为空集;若所述第一匹配结果中的每条第二目标规则均为空集,则针对所述第一规则集合中的每条实际配置的防火墙策略规则,按照所述匹配策略将第一规则集合中的每条实际配置的防火墙策略规则,分别与所述业务要求的防火墙策略规则进行匹配,得到第二匹配结果;基于所述第二匹配结果确定所述第一规则集合是否符合所述业务要求的防火墙策略规则。该方案首先针对业务要求的防火墙策略规则,按照预设的匹配策略将业务要求的防火墙策略规则与第一目标规则进行匹配得到第一匹配结果,若第一匹配结果中的第二目标规则均为空集,则再针对第一规则集合中的每条实际配置的防火墙策略规则,按照匹配策略将第一规则集合中的每条实际配置的防火墙策略规则分别与业务要求的防火墙策略规则进行匹配,得到第二匹配结果,最终利用第二匹配结果判断第一规则集合是否符合业务要求的防火墙策略规则。该方法利用第一匹配结果确定第一规则集合是否包含业务要求的防火墙策略规则,再利用第二匹配结果确定第一规则集合是否最终符合业务要求的防火墙策略规则,可以更加准确的判断第一规则集合是否符合业务要求的防火墙策略规则,使审计结果的正确率提高。
可选的,因为协议类型只有两种,因此在步骤S2,针对业务要求的防火墙策略规则,按照预设的匹配策略将第一目标规则与业务要求的防火墙策略规则进行匹配,得到第一匹配结果之前,可以优先对比第一目标规则和业务要求的防火墙策略规则中的协议类型是否相同,如果相同,则针对删除代表协议类型的元素后的业务要求的防火墙策略规则,按照预设的匹配策略将删除代表协议类型的元素后的第一目标规则与所述删除代表协议类型的元素后的业务要求的防火墙策略规则进行匹配;如果不相同,则不再进行该条实际配置的防火墙策略规则的其他元素的对比,然后从第一规则集合中选取一条未被选取过的实际配置的防火墙策略规则作为新的第一目标规则,然后再次进行协议类型的对比,直到新的第一目标规则中的协议类型和业务要求的防火墙策略规则中的协议类型相同;若第一规则集合中每条实际配置的防火墙策略规则的协议类型与业务要求的防火墙策略规则的协议类型都不相同,则可以直接判断该第一规则集合不符合业务要求的防火墙策略规则。
在本申请提供的实施例中,在步骤S2,针对业务要求的防火墙策略规则,按照预设的匹配策略将第一目标规则与业务要求的防火墙策略规则进行匹配,得到第一匹配结果的过程,具体可以包括以下步骤:
S21:针对业务要求的防火墙策略规则中的每一种元素:确定业务要求的防火墙策略规则中的元素与第一目标规则中相同种类的元素之间的第一交集,并确定第一交集在业务要求的防火墙策略规则中的第一余集。
在该步骤中,这里的“部分”指的是元素中的内容。其中,第一交集为业务要求的防火墙策略规则与第一目标规则的相同的部分,第一余集为业务要求的防火墙策略规则中除第一交集之外的部分。
利用上述表2中的业务要求的防火墙策略规则和表5中的第3条实际配置的防火墙策略规则来说明第一交集和第一余集的概念,这两条防火墙策略规则的目的IP地址的第一交集为192.168.1.16-31,第一余集为192.168.1.1-15,这两条防火墙策略规则的目的端口号的第一交集为8802-8804,第一余集为8801。
S22:确定业务要求的防火墙策略规则中每一种元素的第一交集和第一余集之间的第一并集。
S23:将各元素的第一并集进行组合,得到第一匹配结果。
在步骤S23中,可以将各元素的第一并集进行笛卡尔积运算,得到第一组合,第一组合包含若干条新策略规则,将第一组合减去第一目标规则,继而得到第一匹配结果。
在上述步骤中,将业务要求的防火墙策略规则和第一目标规则进行第一交集、第一余集、第一并集等等的操作,可以得到业务要求的防火墙策略规则和第一目标规则中每种元素之间的所有的组合,即得到第一组合,第一组合中包含各种新策略规则,然后再在第一组合中减去选择出来的第一目标规则,得到第一匹配结果,判断第一匹配结果是否为空集就可以知道这条选择出来的实际配置的防火墙策略规则(第一目标规则)是否可以包含业务要求的防火墙策略规则中的全部内容。
具体地,下面利用步骤S2来具体说明匹配策略:
首先,进行以下定义,用Rule表示业务要求的防火墙策略规则,用Config表示第一规则集合,分别用Rule.SrcIPSet、Rule.SrcPortSet、Rule.DstIPSet、和Rule.DstPortSet来表示业务要求的防火墙策略规则中的源IP地址、源端口号、目的IP地址和目的端口号,分别用Config.SrcIPSet、Config.SrcPortSet、Config.DstIPSet、Config.DstPorSet表示第一规则集合中,每条实际配置的策略规则的源IP地址、源端口号、目的IP地址和目的端口号。将业务要求的防火墙策略规则和实际配置的策略规则中相同元素的第一交集表示为Inter.Src/DstXXSet,第一余集表示为Rest.Src/DstXXSet,具体地,源IP地址的第一交集和第一余集分别表示为Inter.SrcIPSet和Rest.SrcIPSet,源端口号的第一交集和第一余集分别表示为Inter.SrcPortSet和Rest.SrcPortSet,目的IP地址的第一交集和第一余集分别表示为Inter.DstIPSet和Rest.DstIPSet,目的端口号的第一交集和第一余集分别表示为Inter.DstPortSet和Rest.DstPortSet。此处将业务要求的防火墙策略规则的协议类型和第一规则集合中每条实际配置的策略规则的协议类型都认定是相同的,因此下面不再进行协议类型的对比。
有五种情况可以表示业务要求的防火墙策略规则Rule和第一规则集合Config中实际配置的防火墙策略规则之间的关系,分别是:
类型1:Rule和Config完全没有交集,如图2和图3所示。
此时,Rest.SrcIPSet和Rule.SrcIPSet一样;
Rest.DstIPSet和Rule.DstIPSet一样;
Rest.SrcPortSet和Rule.SrcPortSet一样;
Rest.DstPortSet和Rule.DstPortSet一样;
Inter.SrcIPSet,Inter.DstIPSet,Inter.SrcPortSet,Inter.DstPortSet均为空集。
类型2:Rule包含Config,Config只覆盖了Rule的部分范围,如图4所示。
此时Rest.SrcIPSet = Rule.SrcIPSet-Config.SrcIPSet;
Rest.DstIPSet = Rule.DstIPSet-Config.DstIPSet;
Rest.SrcPortSet = Rule.SrcPortSet-Config.SrcPortSet;
Rest.DstPortSet = Rule.DstPortSet-Config.DstPortSet;
Inter.SrcIPSet = Config.SrcIPSet;
Inter.DstIPSet = Config.DstIPSet;
Inter.SrcPortSet = Config.SrcPortSet;
Inter.DstPortSet = Config.DstPortSet。
类型3:Config包含Rule,Config完全覆盖Rule中的范围,如图5所示。
类型4:Config和Rule彼此有交集,但Config的范围最大值比Rule的范围最大值要大,如图6所示。
此时,Rest.SrcIPSet = [Rule.SrcIpSet.Begin : Config.SrcIpSet.Begin]
(表示范围从Rule.SrcIpSet.Begin到Config.SrcIpSet.Begin)
Rest.DstIPSet = [Rule.DstIpSet.Begin : Config.DstIpSet.Begin]
Rest.SrcPortSet =[Rule.SrcPortSet.Begin : Config.SrcPortSet.Begin]
Rest.DstPortSet = [Rule.DstPortSet.Begin : Config.DstPortSet.Begin]
Inter.SrcIPSet = [Config.SrcIPSet.Begin : Rule.SrcIPSet.End]
Inter.DstIPSet = [Config.DstIPSet.Begin : Rule.DstIPSet.End]
Inter.SrcPortSet = [Config.SrcPortSet.Begin : Rule.SrcPortSet.End]
Inter.DstPortSet = [Config.DstPortSet.Begin : Rule.DstPortSet.End]。
类型5:Config和Rule彼此有交集,Config的范围最大值比Rule的范围最大值要小,如图7所示。
此时,Rest.SrcIPSet = [Config.SrcIPSet.End : Rule.SrcIPSet.End]
(表示范围从Config.SrcIPSet.End到Rule.SrcIPSet.End)
Rest.DstIPSet = [Config.DstIPSet.End : Rule.DstIPSet.End]
Rest.SrcPortSet = [Config.SrcPortSet.End : Rule.SrcPortSet.End]
Rest.DstPortSet = [Config.DstPortSet.End : Rule.DstPortSet.End]
Inter.SrcIPSet = [ Rule.SrcIPSet.Begin : Config.SrcIPSet.End]
Inter.DstIPSet = [ Rule.DstIPSet.Begin : Config.DstIPSet.End]
Inter.SrcPortSet = [Rule.SrcPortSet.Begin : Config.SrcPortSet.End]
Inter.DstPortSet=[ Rule.DstPortSet.Begin : Config.DstPortSet.End]。
综上,不管二者之间满足哪种类型,业务要求的防火墙策略规则和第一目标规则都可以满足以下等式:
Rule.SrcIPSet = Inter.SrcIPSet ∪ Rest.SrcIPSet;
Rule.DstIPSet = Inter.DstIPSet ∪ Rest.DstIPSet;
Rule.SrcPortSet = Inter.SrcPortSet ∪ Rest.SrcPortSet;
Rule.DstPortSet = Inter.DstPortSet ∪ Rest.DstPortSet。
因此,可以将第一规则集合中的任意一条实际配置的防火墙策略规则作为第一目标规则。将上述四个等式进行笛卡尔积运算,可以得到以下等式:
Rule= Rule.SrcIPSet × Rule.DstIPSet × Rule.SrcPortSet ×Rule.DstPortSet
=(Inter.SrcIPSet ∪ Rest.SrcIPSet)×(Inter.DstIPSet ∪Rest.DstIPSet)×(Inter.SrcPortSet ∪ Rest.SrcPortSet)×(Inter.DstPortSet ∪Rest.DstPortSet)= { Inter.SrcIPSet × Inter.DstIPSet × Inter.SrcPortSet ×Inter.DstPortSet}+
{ Inter.SrcIPSet × Rest.DstIPSet × Inter.SrcPortSet ×Inter.DstPortSet}+
{ Inter.SrcIPSet × Inter.DstIPSet × Inter.SrcPortSet ×Rest.DstPortSet}+
{ Inter.SrcIPSet × Rest.DstIPSet × Inter.SrcPortSet ×Rest.DstPortSet}+
{ Rest.SrcIPSet × Inter.DstIPSet × Inter.SrcPortSet ×Inter.DstPortSet}+
{ Rest.SrcIPSet × Rest.DstIPSet × Inter.SrcPortSet ×Inter.DstPortSet}+
{ Rest.SrcIPSet × Inter.DstIPSet × Inter.SrcPortSet ×Rest.DstPortSet}+
{ Rest.SrcIPSet × Rest.DstIPSet × Inter.SrcPortSet ×Rest.DstPortSet}+
{ Inter.SrcIPSet × Inter.DstIPSet × Rest.SrcPortSet ×Inter.DstPortSet}+
{ Inter.SrcIPSet × Rest.DstIPSet × Rest.SrcPortSet ×Inter.DstPortSet}+
{ Inter.SrcIPSet × Inter.DstIPSet × Rest.SrcPortSet ×Rest.DstPortSet}+
{ Inter.SrcIPSet × Rest.DstIPSet × Rest.SrcPortSet ×Rest.DstPortSet}+
{ Rest.SrcIPSet × Inter.DstIPSet × Rest.SrcPortSet ×Inter.DstPortSet}+
{ Rest.SrcIPSet × Rest.DstIPSet × Rest.SrcPortSet ×Inter.DstPortSet}+
{ Rest.SrcIPSet × Inter.DstIPSet × Rest.SrcPortSet ×Rest.DstPortSet}+
{ Rest.SrcIPSet × Rest.DstIPSet × Rest.SrcPortSet ×Rest.DstPortSet}。
该结果即为第一组合,该第一组合中可以包含16条新策略规则,然后将第一组合减去从第一规则集合中选择出来的第一目标规则,得到如下结果:
Rest{SrcIP × DstIP × SrcIP × DstPort} = Rule{SrcIP × DstIP ×SrcIP × DstPort} – Config{SrcIP × DstIP × SrcIP × DstPort}=
{ Inter.SrcIPSet × Rest.DstIPSet × Inter.SrcPortSet ×Inter.DstPortSet}+
{ Inter.SrcIPSet × Inter.DstIPSet × Inter.SrcPortSet ×Rest.DstPortSet}+
{ Inter.SrcIPSet × Rest.DstIPSet × Inter.SrcPortSet ×Rest.DstPortSet}+
{ Rest.SrcIPSet × Inter.DstIPSet × Inter.SrcPortSet ×Inter.DstPortSet}+
{ Rest.SrcIPSet × Rest.DstIPSet × Inter.SrcPortSet ×Inter.DstPortSet}+
{ Rest.SrcIPSet × Inter.DstIPSet × Inter.SrcPortSet ×Rest.DstPortSet}+
{ Rest.SrcIPSet × Rest.DstIPSet × Inter.SrcPortSet ×Rest.DstPortSet}+
{ Inter.SrcIPSet × Inter.DstIPSet × Rest.SrcPortSet ×Inter.DstPortSet}+
{ Inter.SrcIPSet × Rest.DstIPSet × Rest.SrcPortSet ×Inter.DstPortSet}+
{ Inter.SrcIPSet × Inter.DstIPSet × Rest.SrcPortSet ×Rest.DstPortSet}+
{ Inter.SrcIPSet × Rest.DstIPSet × Rest.SrcPortSet ×Rest.DstPortSet}+
{ Rest.SrcIPSet × Inter.DstIPSet × Rest.SrcPortSet ×Inter.DstPortSet}+
{ Rest.SrcIPSet × Rest.DstIPSet × Rest.SrcPortSet ×Inter.DstPortSet}+
{ Rest.SrcIPSet × Inter.DstIPSet × Rest.SrcPortSet ×Rest.DstPortSet}+
{ Rest.SrcIPSet × Rest.DstIPSet × Rest.SrcPortSet ×Rest.DstPortSet}。
该结果即为第一匹配结果。
在这里需要说明的是,{ A集合× B集合× C集合× D集合}表示四个集合的笛卡尔积,输出是一个新的集合,可以表示A集合、B集合、C集合和D集合中每种元素的各种组合。其中A集合、B集合、C集合和D集合中任意一个为空集时,整个{ A集合× B集合× C集合×D集合}为空集。
可选的,在本申请提供的另一个实施例中,在图1的步骤S3中判断第一匹配结果中的每条第二目标规则是否均为空集后,还可以进行以下操作,如图8所示:
在图8中,判断第一匹配结果中的每条第二目标规则是否均为空集,若否,则执行步骤S6。
S6:重新从第一规则集合中选取一条未被选取过的实际配置的防火墙策略规则作为第一目标规则。
S7:针对不为空集的第二目标规则,按照匹配策略将不为空集的第二目标规则与第一目标规则进行匹配,得到新的第一匹配结果,并返回执行判断第一匹配结果中的每条第二目标规则是否均为空集的步骤。
这里返回执行判断空集的时候是对新的第一匹配结果进行判断。
若最终得到的第一匹配结果为空集,则可以说明第一规则集合包含业务要求的防火墙策略规则。需要注意的是,此时的“包含”只代表第一规则集合中的配置并不比业务要求的防火墙策略规则少,并不代表第一规则集合最终符合业务要求的防火墙策略规则。
在上述实施例中,若最终得到的第一匹配结果不为空集,那么第一匹配结果即为第一规则集合没有包含业务要求的防火墙策略规则的部分,该部分可以让防火墙工作的业务人员清楚的掌握实际配置的防火墙策略规则相比于业务要求的防火墙策略规则缺少了哪些部分,方便防火墙工作的业务人员去更改和补正实际配置的防火墙策略规则。
下面通过一个具体的例子来说明第一规则集合是否包含业务要求的防火墙策略规则的整个判断过程:
业务要求的防火墙策略规则如上述表2所示,实际配置的防火墙策略规则如上述表5所示,表5中的三条实际配置的防火墙策略规则的组合为第一规则集合。
那么,由表2和表5可知,将业务要求的防火墙策略规则Rule和第一规则集合中的第1条实际配置的防火墙策略规则(第一目标规则)进行匹配,此时会得到:
Inter.SrcIPSet=10.35.21.1/24;Rest.SrcIPSet=Ø;
Inter.DstIPSet =192.168.1.1/27;Rest.DstIPSet=Ø;
Inter.SrcPortSet =0-65535;Rest.SrcPortSet=Ø;
Inter.DstPortSet=8801;Rest.DstPortSet=8802-8804。
那么第一匹配结果中不为空集的第二目标规则为:
{ Inter.SrcIPSet × Inter.DstIPSet × Inter.SrcPortSet ×Rest.DstPortSet}
= { 10.35.21.1/24 × 192.168.1.1/27 × 0-65535 × 8802-8804}
即第一匹配结果不为空集,则重新从第一规则集合中选取一条未被选取过的实际配置的策略规则作为新的第一目标规则,比如选取表5中的第2条策略规则,然后利用表5中的第2条策略规则,按照相同的匹配策略将第二目标规则{ 10.35.21.1/24 ×192.168.1.1/27 × 0-65535 × 8802-8804}与表5中的第2条实际配置的策略规则进行匹配,此时会得到:
Inter.SrcIPSet = 10.35.21.1/24;Rest.SrcIPSet = Ø;
Inter.DstIPSet = 192.168.1.1/28,即:192.168.1.1-15;Rest.DstIPSet =192.168.1.16-31;
Inter.SrcPort = 0-65535;Rest.SrcPort = Ø;
Inter.DstPortSet = 8802-8804;Rest.DstPortSet = Ø。
那么新的第一匹配结果中不为空集的第二目标规则为:
{ Inter.SrcIPSet × Rest.DstIPSet × Inter.SrcPortSet ×Inter.DstPortSet}
={10.35.21.1/24 × 192.168.1.16-31 × 0-65535 × 8802-8804}。
即得到的新的第一匹配结果仍不为空集,那么再从第一规则集合中选取一条未被选取过的实际配置的策略规则作为新的第一目标规则,比如选取表5中的第3条策略规则,然后利用表5中的第3条策略规则,按照相同的匹配策略将新的第二目标规则{10.35.21.1/24 × 192.168.1.16-31 × 0-65535 × 8802-8804}与表5中的第3条策略规则进行匹配,此时会得到:
Inter.SrcIPSet=10.35.21.1/24;Rest.SrcIPSet=Ø;
Inter.DstIPSet =192.168.1.16/28,即:192.168.1.16-31;Rest.DstIPSet= Ø;
Inter.SrcPort = 0-65535;Rest.SrcPort = Ø;
Inter.DstPortSet=8802-8804;Rest.DstPortSet= Ø。
此时,最终得到的第一匹配结果为空集,从而可以得出结论:第一规则集合可以包含业务要求的防火墙策略规则。
具体地,不管从第一规则集合中选出几条第一目标规则可以使得最终的第一匹配结果为空集,在执行步骤S4时,都要针对第一规则集合中的每条实际配置的防火墙策略规则,按照同样的匹配策略将第一规则集合中的每条实际配置的防火墙策略规则,分别与业务要求的防火墙策略规则进行匹配,从而得到第二匹配结果。该过程可以包括以下步骤:
针对第一规则集合中每条实际配置的防火墙策略规则中的每一种元素:确定实际配置的防火墙策略规则中的元素与业务要求的防火墙策略规则中相同种类的元素之间的第二交集,并确定第二交集在实际配置的防火墙策略规则中的第二余集,其中,第二交集为实际配置的防火墙策略规则与业务要求的防火墙策略规则的相同的部分,第二余集为实际配置的防火墙策略规则中除第二交集之外的部分,这里的“部分”指的是元素中的内容;确定每条实际配置的防火墙策略规则中每一种元素的第二交集和第二余集之间的第二并集;将各元素的第二并集进行笛卡尔积运算,得到第二组合,将第二组合减去业务要求的防火墙策略规则,得到第二匹配结果。此处不再赘述具体匹配过程,不过需要说明的是,虽然在得到第一匹配结果的过程中和得到第二匹配结果的过程中所应用的匹配策略是相同的,但是具体针对的对象(业务要求的防火墙策略规则或第一规则集合中实际配置的防火墙策略规则)是不同的,因为:第一匹配结果得到的目的是站在业务要求的防火墙策略规则的角度下,审计第一规则集合是否没有全部包含业务要求的防火墙策略规则中的内容(即第一规则集合相比于业务要求的防火墙策略规则是否有缺少的部分);而第二匹配结果得到的目的是站在第一规则集合中每条实际配置的防火墙策略规则的角度下,审计第一规则集合是否包含了业务要求的防火墙策略规则中没有的内容(即第一规则集合相比于业务要求的防火墙策略规则是否有过多的配置)。
在得到第二匹配结果后,将第二匹配结果中的若干条策略规则作为第三目标规则,若各条第三目标规则均为空集,则第一规则集合符合业务要求的防火墙策略规则;若存在不为空集的第三目标规则,即第二匹配结果中的一条或多条第三目标规则不为空集,则第一规则集合不符合业务要求的防火墙策略规则,即第一规则集合中实际配置的防火墙策略规则相比于业务要求的防火墙策略规则覆盖的范围过宽。
同样的,若得到的第二匹配结果中有些第三目标规则不为空集,则第二匹配结果即为实际配置的防火墙策略规则相比于业务要求的防火墙策略规则而过宽配置的部分,该部分同样可以方便防火墙工作的业务人员去更改和补正实际配置的防火墙策略规则。
在本申请的另一个实施例中,如果最终得到的第一匹配结果中的第二目标规则不都为空集,也可以针对第一规则集合中的每条实际配置的防火墙策略规则,按照同样的匹配策略将第一规则集合中的每条实际配置的防火墙策略规则,分别与业务要求的防火墙策略规则进行匹配,得到第二匹配结果。这样既可以根据第一匹配结果得到实际配置的防火墙策略规则相比于业务要求的防火墙策略规则缺少了哪些部分,也可以根据第二匹配结果得到实际配置的防火墙策略规则相比于业务要求的防火墙策略规则而过宽配置的部分,从而方便防火墙工作的业务人员去更改和补正实际配置的防火墙策略规则。
另外,在上述的实施例中,都是利用一条业务要求的防火墙策略规则与第一规则集合进行比对,而在实际情况中,业务要求的防火墙策略规则可能有多条,那么针对这样的情况,一开始同样是利用上述的防火墙策略审计方法将其中一条业务要求的防火墙策略规则和第一规则集合进行匹配和比对,然后再将其他的业务要求的防火墙策略规则和第一规则集合进行匹配和比对。
下面对本申请实施例提供的防火墙策略审计装置进行描述,下文描述的防火墙策略审计装置与上文描述的防火墙策略审计方法可相互对应参照。
结合图9,对防火墙策略审计装置进行介绍,如图9所示,该审计装置可以包括:
获取模块10,获取业务要求的防火墙策略规则和第一规则集合,第一规则集合包括多条实际配置的防火墙策略规则。
第一匹配结果得到模块20,用于从第一规则集合中选取一条实际配置的防火墙策略规则作为第一目标规则,针对业务要求的防火墙策略规则,按照预设的匹配策略将第一目标规则与业务要求的防火墙策略规则进行匹配,得到第一匹配结果,第一匹配结果中包含若干条第二目标规则。
判断模块30,用于判断第一匹配结果中的每条第二目标规则是否均为空集。
第二匹配结果得到模块40,用于当第一匹配结果中的每条第二目标规则均判断为空集时,针对第一规则集合中的每条实际配置的防火墙策略规则,按照匹配策略将第一规则集合中的每条实际配置的防火墙策略规则,分别与业务要求的防火墙策略规则进行匹配,得到第二匹配结果。
最终结果判断模块50,用于基于第二匹配结果确定第一规则集合是否符合业务要求的防火墙策略规则。
更进一步地,本申请实施例提供了一种防火墙策略审计设备。可选的,图10示出了防火墙策略审计设备的硬件结构框图,参照图10,防火墙策略审计设备的硬件结构可以包括:至少一个处理器01,至少一个通信接口02,至少一个存储器03和至少一个通信总线04。
在本申请实施例中,处理器01、通信接口02、存储器03、通信总线04的数量为至少一个,且处理器01、通信接口02、存储器03通过通信总线04完成相互间的通信。
处理器01可以是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等。
存储器03可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器。
其中,存储器存储有程序,处理器可调用存储器存储的程序,程序用于执行方法实施例中描述的防火墙策略审计方法。
可选的,程序的细化功能和扩展功能可参照方法实施例中的防火墙策略审计方法的描述。
本申请实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,程序用于执行方法实施例中描述的防火墙策略审计方法。
具体地,该存储介质可以是一种计算机可读存储介质,计算机可读存储介质可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。
可选的,程序的细化功能和扩展功能可参照方法实施例中的防火墙策略审计方法的描述。
另外,在本公开各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,直播设备,或者网络设备等)执行本公开各个实施例方法的全部或部分步骤。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (9)

1.一种防火墙策略审计方法,其特征在于,包括:
获取业务要求的防火墙策略规则和第一规则集合,所述第一规则集合包括多条实际配置的防火墙策略规则;
从所述第一规则集合中选取一条实际配置的防火墙策略规则作为第一目标规则,针对所述业务要求的防火墙策略规则,按照预设的匹配策略将所述第一目标规则与所述业务要求的防火墙策略规则进行匹配,得到第一匹配结果,所述第一匹配结果中包含若干条第二目标规则;
判断所述第一匹配结果中的每条第二目标规则是否均为空集;
若所述第一匹配结果中的每条第二目标规则均为空集,则针对所述第一规则集合中的每条实际配置的防火墙策略规则,按照所述匹配策略将第一规则集合中的每条实际配置的防火墙策略规则,分别与所述业务要求的防火墙策略规则进行匹配,得到第二匹配结果;
基于所述第二匹配结果确定所述第一规则集合是否符合所述业务要求的防火墙策略规则;
其中,所述实际配置的防火墙策略规则与所述业务要求的防火墙策略规则都包含相同种类的元素,且每种元素的数量相同;
所述针对所述业务要求的防火墙策略规则,按照预设的匹配策略将所述第一目标规则与所述业务要求的防火墙策略规则进行匹配,得到第一匹配结果,包括:
针对所述业务要求的防火墙策略规则中的每一种元素,确定所述业务要求的防火墙策略规则中的元素与所述第一目标规则中相同种类的元素之间的第一交集,并确定所述第一交集在所述业务要求的防火墙策略规则中的第一余集;
确定所述业务要求的防火墙策略规则中每一种元素的第一交集和第一余集之间的第一并集;
将各元素的第一并集进行组合,得到所述第一匹配结果。
2.根据权利要求1所述的方法,其特征在于,所述实际配置的防火墙策略规则与所述业务要求的防火墙策略规则所包含的各种元素中,其中一种元素代表协议类型;
在所述针对所述业务要求的防火墙策略规则,按照预设的匹配策略将所述第一目标规则与所述业务要求的防火墙策略规则进行匹配,得到第一匹配结果之前,还包括:
判断所述业务要求的防火墙策略规则中代表协议类型的元素与所述第一目标规则中代表协议类型的元素是否相同;
若是,则将所述业务要求的防火墙策略规则和所述第一目标规则中代表协议类型的元素删除;
所述针对所述业务要求的防火墙策略规则,按照预设的匹配策略将所述第一目标规则与所述业务要求的防火墙策略规则进行匹配,包括:
针对删除代表协议类型的元素后的业务要求的防火墙策略规则,按照预设的匹配策略将删除代表协议类型的元素后的第一目标规则与所述删除代表协议类型的元素后的业务要求的防火墙策略规则进行匹配。
3.根据权利要求1所述的方法,其特征在于,所述将各元素的第一并集进行组合,得到所述第一匹配结果,包括:
将各元素的第一并集进行笛卡尔积运算,得到包含多条新策略规则的第一组合,将所述第一组合减去所述第一目标规则,得到所述第一匹配结果。
4.根据权利要求1所述的方法,其特征在于,在所述判断所述第一匹配结果中的每条第二目标规则是否均为空集后,还包括:
若所述第一匹配结果中的第二目标规则不都为空集,则重新从所述第一规则集合中选取一条未被选取过的实际配置的防火墙策略规则作为第一目标规则;
针对不为空集的第二目标规则,按照所述匹配策略将不为空集的第二目标规则与所述第一目标规则进行匹配,得到新的第一匹配结果,并返回执行所述判断所述第一匹配结果中的每条第二目标规则是否均为空集的步骤。
5.根据权利要求1所述的方法,其特征在于,所述针对所述第一规则集合中的每条实际配置的防火墙策略规则,按照所述匹配策略将第一规则集合中的每条实际配置的防火墙策略规则,分别与所述业务要求的防火墙策略规则进行匹配,得到第二匹配结果,包括:
针对所述第一规则集合中的每条实际配置的防火墙策略规则中的每一种元素,确定所述实际配置的防火墙策略规则中的元素与所述业务要求的防火墙策略规则中相同种类的元素之间的第二交集,并确定所述第二交集在所述实际配置的防火墙策略规则中的第二余集;
确定每条实际配置的防火墙策略规则中每一种元素的第二交集和第二余集之间的第二并集;
将各元素的第二并集进行组合,得到所述第二匹配结果。
6.根据权利要求1所述的方法,其特征在于,所述第二匹配结果中包含若干条第三目标规则;
所述基于所述第二匹配结果确定所述第一规则集合是否符合所述业务要求的防火墙策略规则,包括:
若各条第三目标规则均为空集,则所述第一规则集合符合所述业务要求的防火墙策略规则;
若所述第二匹配结果中存在不为空集的第三目标规则,则所述第一规则集合不符合所述业务要求的防火墙策略规则。
7.一种防火墙策略审计装置,其特征在于,包括:
获取模块,获取业务要求的防火墙策略规则和第一规则集合,所述第一规则集合包括多条实际配置的防火墙策略规则;
第一匹配结果得到模块,用于从所述第一规则集合中选取一条实际配置的防火墙策略规则作为第一目标规则,针对所述业务要求的防火墙策略规则,按照预设的匹配策略将所述第一目标规则与所述业务要求的防火墙策略规则进行匹配,得到第一匹配结果,所述第一匹配结果中包含若干条第二目标规则;
判断模块,用于判断所述第一匹配结果中的每条第二目标规则是否均为空集;
第二匹配结果得到模块,用于当所述第一匹配结果中的每条第二目标规则均判断为空集时,针对所述第一规则集合中的每条实际配置的防火墙策略规则,按照所述匹配策略将第一规则集合中的每条实际配置的防火墙策略规则,分别与所述业务要求的防火墙策略规则进行匹配,得到第二匹配结果;
最终结果判断模块,用于基于所述第二匹配结果确定所述第一规则集合是否符合所述业务要求的防火墙策略规则;
第一匹配结果得到子模块,用于针对所述业务要求的防火墙策略规则中的每一种元素,确定所述业务要求的防火墙策略规则中的元素与所述第一目标规则中相同种类的元素之间的第一交集,并确定所述第一交集在所述业务要求的防火墙策略规则中的第一余集;确定所述业务要求的防火墙策略规则中每一种元素的第一交集和第一余集之间的第一并集;将各元素的第一并集进行组合,得到所述第一匹配结果;其中,所述实际配置的防火墙策略规则与所述业务要求的防火墙策略规则都包含相同种类的元素,且每种元素的数量相同。
8.一种防火墙策略审计设备,其特征在于,包括存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如权利要求1-6任一项所述 的防火墙策略审计方法的各个步骤。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1-6任一项所述 的防火墙策略审计方法的各个步骤。
CN202210243975.1A 2022-03-14 2022-03-14 一种防火墙策略审计方法、装置、设备和存储介质 Active CN114338246B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210243975.1A CN114338246B (zh) 2022-03-14 2022-03-14 一种防火墙策略审计方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210243975.1A CN114338246B (zh) 2022-03-14 2022-03-14 一种防火墙策略审计方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN114338246A CN114338246A (zh) 2022-04-12
CN114338246B true CN114338246B (zh) 2022-06-07

Family

ID=81033743

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210243975.1A Active CN114338246B (zh) 2022-03-14 2022-03-14 一种防火墙策略审计方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN114338246B (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677496B2 (en) * 2004-07-15 2014-03-18 AlgoSec Systems Ltd. Method and apparatus for automatic risk assessment of a firewall configuration
CN103905406B (zh) * 2012-12-28 2017-09-12 中国移动通信集团公司 一种失效防火墙策略的检测方法和装置
US9306915B2 (en) * 2013-11-05 2016-04-05 General Electric Company Systems and methods for secure file transfers
US9667596B2 (en) * 2014-06-04 2017-05-30 Bank Of America Corporation Firewall policy comparison
CN104104615B (zh) * 2014-07-21 2017-07-07 华为技术有限公司 策略冲突解决方法以及装置
CN104270384B (zh) * 2014-10-20 2017-10-03 山石网科通信技术有限公司 防火墙策略冗余检测方法及装置

Also Published As

Publication number Publication date
CN114338246A (zh) 2022-04-12

Similar Documents

Publication Publication Date Title
US10701034B2 (en) Intelligent sorting for N-way secure split tunnel
US7367052B1 (en) Access list key compression
US7389532B2 (en) Method for indexing a plurality of policy filters
US9800697B2 (en) L2/L3 multi-mode switch including policy processing
US7146421B2 (en) Handling state information in a network element cluster
EP1336915B1 (en) Method and apparatus for flexible frame processing and classification engine
US8332925B2 (en) System and method for distributed multi-processing security gateway
CN103650436B (zh) 业务路径分配方法、路由器和业务执行实体
US20030149766A1 (en) Firewall configuration validation
US7127739B2 (en) Handling information about packet data connections in a security gateway element
US9203808B2 (en) Method and system for management of security rule set
US10057292B2 (en) Method for operating a security gateway of a communication system for vehicles
US20060136722A1 (en) Secure communication system and communication route selecting device
CN105847072B (zh) 软件定义网络中探测数据流传输路径的方法及其装置
KR100723864B1 (ko) 패킷에 포함된 정보를 이용하여 네트워크 공격을 차단하는방법 및 그 장치
US20090052443A1 (en) Method and apparatus for managing dynamic filters for nested traffic flows
US7177313B2 (en) Method and system for converting ranges into overlapping prefixes for a longest prefix match
CN114338246B (zh) 一种防火墙策略审计方法、装置、设备和存储介质
EP1351468A1 (en) Network packet filtering based on a conditional expression table
CN112217782A (zh) 用于在计算机网络中识别攻击的设备和方法
WO2006085374A1 (ja) 通信装置
Cisco Configuring IP Session Filtering (Reflexive Access Lists)
JP4542053B2 (ja) パケット中継装置、パケット中継方法及びパケット中継プログラム
Cisco Configuring IP Session Filtering (Reflexive Access Lists)
Cisco Configuring IP Session Filtering (Reflexive Access Lists)

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
GR01 Patent grant
GR01 Patent grant