CN108471412A - 一种防火墙规则冲突检测方法 - Google Patents
一种防火墙规则冲突检测方法 Download PDFInfo
- Publication number
- CN108471412A CN108471412A CN201810226775.9A CN201810226775A CN108471412A CN 108471412 A CN108471412 A CN 108471412A CN 201810226775 A CN201810226775 A CN 201810226775A CN 108471412 A CN108471412 A CN 108471412A
- Authority
- CN
- China
- Prior art keywords
- src
- rule
- action
- dst
- conflict
- 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
-
- 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)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种防火墙规则冲突检测方法,该方法首先顺序从规则集中抽取一条规则,判断该规则本身是否存在无用冲突;然后将这条规则与序号排在其前面的各条规则顺序比较,根据字段协议、源、目的的值判定规则之间的关系;最后根据序号和动作字段的值判定是否存在冲突。本发明方法在给定的规则集上能够自动检测、发现规则冲突和潜在的问题。实现该方法的工具软件能够检测并协助管理员消除防火墙的规则冲突,简化防火墙策略的管理。
Description
技术领域
本发明涉及网络安全技术,尤其涉及一种防火墙规则冲突检测方法。
背景技术
防火墙通常是一种位于内部网络与外部网络之间的网络安全系统,依照特定的规则和包过滤(Packet Filtering)技术,允许或是限制传输的数据通过。网络管理员在对防火墙规则策略进行配置时,需要注意规则的关系与顺序,以确保配置规则集安全语义的正确性。随着网络规模的扩大,防火墙的过滤规则也越来越多,增大了规则间冲突的可能性,管理员对规则集进行管理与编辑的难度也随之增加。
对防火墙规则冲突的研究绝大部分的工作集中在普适的管理策略,而不是特定的防火墙策略。例如,在基于角色的管理框架下分类和检测策略冲突,以及针对IPSec的策略冲突模式;尽管这些工作作为通用的理论来说是非常有用的,但是它们都不能直接地应用于防火墙的规则冲突检测。还有一些工作是研究过滤规则冲突问题的,他们为一般的包过滤提供算法用于检测和解决规则冲突;但是他们的算法只能检测关联冲突。另外,还有通过执行查询来验证过滤规则功能性的专家系统。所有这些工具都能帮助用户手工地验证防火墙策略的正确性,但是要求用户必须具有丰富的经验才能够执行正确的查询来确定不同防火墙策略的问题。
发明内容
本发明要解决的技术问题在于针对现有技术中的缺陷,提供一种防火墙规则冲突检测方法。
本发明解决其技术问题所采用的技术方案是:一种防火墙规则冲突检测方法,包括以下步骤:
1)判断防火墙规则集中是否存在无用冲突;具体如下:顺序从防火墙规则集中抽取一条规则Ry,如果规则集中的规则已全部检测完毕,则退出;否则,如果Ry中的src字段和dst字段所决定的网络路径不会通过相应的防火墙,那么这个规则根本就没有任何作用,则报告对应的规则Ry 存在无用冲突,退出;
所述src字段由源IP地址和源端口号两个子字段构成,用于标志包的来源;
所述dst字段由目的IP地址和目的端口号两个子字段构成,用于标志包的目的;
2)若规则Ry不存在无用冲突,将这条规则与序号排在其前面的未比较的各条规则顺序比较,根据字段protocol、src、dst的值确定规则之间存在的关系;并根据规则关系和index和action字段的值确定是否存在冲突;具体如下:
2.1)如果Ry前面没有规则,或者其前面的规则已全部比较完毕,则跳转到步骤1);
否则设待比较的规则为Rx,因为Rx在Ry前面,所以Rx的序号Rx[index]小于Ry的序号Ry[index],即Rx[index] < Ry[index];如果Rx的protocol字段Rx[protocol]与Ry的protocol字段Ry[protocol]不同,即Rx[protocol] ≠Ry[protocol];或者Rx的src字段Rx[src]与Ry的src字段Ry[src]不同,即Rx[src] ≠Ry[src];或者Rx的dst字段Rx[dst]与Ry的dst字段Ry[dst]不同,即Rx[dst] ≠ Ry[dst];则确定Ry与Rx无冲突,重复步骤2.1);否则,进入下一步;
2.2)如果Rx[src] = Ry[src],且Rx[dst] = Ry[dst],且Rx的action字段Rx[action]与Ry的action字段Ry[action],Rx[action] = Ry[action],则报告“冗余冲突”,退出;否则,如果Rx[src] = Ry[src],且Rx[dst] = Ry[dst],且Rx[action] ≠ Ry[action],则报告Ry与Rx发生“屏蔽冲突”,退出;
所述action字段用于标志对匹配该规则的包采取的动作,action字段的值为“reject”、“accept”或“drop”;
2.3)如果Rx[src]是Ry[src]的子集,且Rx[dst]是Ry[dst]的子集,且Rx[action] = Ry[action],则报告Ry与Rx 发生“冗余冲突”,退出;否则,如果Rx[src]是Ry[src]的子集,且Rx[dst]是Ry[dst]的子集,且Rx[action] ≠ Ry[action],则报告Ry与Rx 发生“泛化冲突”,退出;
2.4)如果Ry[src]是Rx[src]的子集,且Ry[src]是Rx[src]的子集,且Rx[action] = Ry[action],则报告“冗余冲突”,退出;否则,如果Ry[src]是Rx[src]的子集,且Ry[src]是Rx[src]的子集,且Rx[action] ≠ Ry[action],则报告Ry与Rx 发生“屏蔽冲突”,退出;
2.5)如果Rx[action] = Ry[action],则报告Ry与Rx 发生“屏蔽冲突”,退出。
本发明产生的有益效果是:在给定的规则集上能够自动检测、发现规则冲突和潜在的问题。实现该方法的工具软件能够检测并协助管理员消除防火墙的规则冲突,简化防火墙策略的管理
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明实施例的结构示意图;
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明实例提供一种防火墙规则冲突检测方法,该方法包括以下几个步骤:
一种防火墙规则冲突检测方法,包括以下步骤:
1)判断防火墙规则集中是否存在无用冲突;具体如下:顺序从防火墙规则集中抽取一条规则Ry,如果规则集中的规则已全部检测完毕,则退出;否则,如果Ry中的src字段和dst字段所决定的网络路径不会通过相应的防火墙,那么这个规则根本就没有任何作用,则报告对应的规则Ry 存在无用冲突,退出;
所述src字段由源IP地址和源端口号两个子字段构成,用于标志包的来源;
所述dst字段由目的IP地址和目的端口号两个子字段构成,用于标志包的目的;
2)若规则Ry不存在无用冲突,将这条规则与序号排在其前面的未比较的各条规则顺序比较,根据字段protocol、src、dst的值确定规则之间存在的关系;并根据规则关系和index和action字段的值确定是否存在冲突;具体如下:
2.1)如果Ry前面没有规则,或者其前面的规则已全部比较完毕,则跳转到步骤1);
否则设待比较的规则为Rx,因为Rx在Ry前面,所以Rx的序号Rx[index]小于Ry的序号Ry[index],即Rx[index] < Ry[index];如果Rx的protocol字段Rx[protocol]与Ry的protocol字段Ry[protocol]不同,即Rx[protocol] ≠Ry[protocol];或者Rx的src字段Rx[src]与Ry的src字段Ry[src]不同,即Rx[src] ≠Ry[src];或者Rx的dst字段Rx[dst]与Ry的dst字段Ry[dst]不同,即Rx[dst] ≠ Ry[dst];则确定Ry与Rx无冲突,重复步骤2.1);否则,进入下一步;
2.2)如果Rx[src] = Ry[src],且Rx[dst] = Ry[dst],且Rx的action字段Rx[action]与Ry的action字段Ry[action],Rx[action] = Ry[action],则报告“冗余冲突”,退出;否则,如果Rx[src] = Ry[src],且Rx[dst] = Ry[dst],且Rx[action] ≠ Ry[action],则报告Ry与Rx发生“屏蔽冲突”,退出;
所述action字段用于标志对匹配该规则的包采取的动作,action字段的值为“reject”、“accept”或“drop”;
2.3)如果Rx[src]是Ry[src]的子集,且Rx[dst]是Ry[dst]的子集,且Rx[action] = Ry[action],则报告Ry与Rx 发生“冗余冲突”,退出;否则,如果Rx[src]是Ry[src]的子集,且Rx[dst]是Ry[dst]的子集,且Rx[action] ≠ Ry[action],则报告Ry与Rx 发生“泛化冲突”,退出;
2.4)如果Ry[src]是Rx[src]的子集,且Ry[src]是Rx[src]的子集,且Rx[action] = Ry[action],则报告“冗余冲突”,退出;否则,如果Ry[src]是Rx[src]的子集,且Ry[src]是Rx[src]的子集,且Rx[action] ≠ Ry[action],则报告Ry与Rx 发生“屏蔽冲突”,退出;
2.5)如果Rx[action] = Ry[action],则报告Ry与Rx 发生“屏蔽冲突”,退出。
在上述技术方案中,当一个排序在后的规则Ry能匹配的所有包也能被一个排序在前的规则Rx匹配,那么这个排序在后的规则Ry将永远无法得到应用,这种情况称为屏蔽冲突。
在上述技术方案中,当一个排序在前的规则Ry能匹配的所有包也能被一个排序在后的规则Rx匹配,这种情况称为泛化冲突。在很多情况下,泛化并不构成冲突,其作用是排除一个允许集或拒绝集中的特定子集。但是,对一些普遍规则的例外是不被允许的。因此,这种情况有必要被检测出来,让管理员确认是否存在问题。
在上述技术方案中,如果两个规则的允许集或拒绝集之间有重叠,但两个动作不同,这种情况称为关联冲突。此时这两个规则的顺序就非常重要,如果调换两者的顺序,就会产生完全相反的结果。这种情况有必要被检测出来,让管理员确认规则正确的顺序。
在上述技术方案中,如果一个规则Rx能匹配的包,也能被另一个规则Ry所匹配,并且采取相同的动作;那么将规则Rx去掉,也不会影响防火墙的功能,这种情况称为冗余冲突。
图1中菱形表示开始状态;粗线圆圈表示终止状态;方框表示条件判断。从图1中可以看出,共有5种终止状态(其中4种冲突,1种无冲突)。
假设给定的防火墙规则集如下表所示:
以上表中的规则7与规则4的比较为例,经过图1中的状态“开始”–“N”–“N”–“N”–“Y”–“N”–“屏蔽冲突”,可以得到结果规则7被规则4屏蔽,发生了屏蔽冲突。
按照图1中的步骤比较上表中的规则,还可以得到规则8与规则10发生屏蔽冲突,规则3和规则1发生泛化冲突,规则1和规则4发生关联冲突,规则8和规则9发生冗余冲突。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (1)
1.一种防火墙规则冲突检测方法,其特征在于,包括以下步骤:
1)判断防火墙规则集中是否存在无用冲突;具体如下:顺序从防火墙规则集中抽取一条规则Ry,如果规则集中的规则已全部检测完毕,则退出;否则,如果Ry中的src字段和dst字段所决定的网络路径不会通过相应的防火墙,那么这个规则根本就没有任何作用,则报告对应的规则Ry 存在无用冲突,退出;
所述src字段由源IP地址和源端口号两个子字段构成,用于标志包的来源;
所述dst字段由目的IP地址和目的端口号两个子字段构成,用于标志包的目的;
2)若规则Ry不存在无用冲突,将这条规则与序号排在其前面的未比较的各条规则顺序比较,根据字段protocol、src、dst的值确定规则之间存在的关系;并根据规则关系和index和action字段的值确定是否存在冲突;具体如下:
2.1)如果Ry前面没有规则,或者其前面的规则已全部比较完毕,则跳转到步骤1);
否则设待比较的规则为Rx,因为Rx在Ry前面,所以Rx的序号Rx[index]小于Ry的序号Ry[index],即Rx[index] < Ry[index];如果Rx的protocol字段Rx[protocol]与Ry的protocol字段Ry[protocol]不同,即Rx[protocol] ≠Ry[protocol];或者Rx的src字段Rx[src]与Ry的src字段Ry[src]不同,即Rx[src] ≠Ry[src];或者Rx的dst字段Rx[dst]与Ry的dst字段Ry[dst]不同,即Rx[dst] ≠ Ry[dst];则确定Ry与Rx无冲突,重复步骤2.1);否则,进入下一步;
2.2)如果Rx[src] = Ry[src],且Rx[dst] = Ry[dst],且Rx的action字段Rx[action]与Ry的action字段Ry[action],Rx[action] = Ry[action],则报告“冗余冲突”,退出;否则,如果Rx[src] = Ry[src],且Rx[dst] = Ry[dst],且Rx[action] ≠ Ry[action],则报告Ry与Rx 发生“屏蔽冲突”,退出;
所述action字段用于标志对匹配该规则的包采取的动作,action字段的值为“reject”、“accept”或“drop”;
2.3)如果Rx[src]是Ry[src]的子集,且Rx[dst]是Ry[dst]的子集,且Rx[action] = Ry[action],则报告Ry与Rx 发生“冗余冲突”,退出;否则,如果Rx[src]是Ry[src]的子集,且Rx[dst]是Ry[dst]的子集,且Rx[action] ≠ Ry[action],则报告Ry与Rx 发生“泛化冲突”,退出;
2.4)如果Ry[src]是Rx[src]的子集,且Ry[src]是Rx[src]的子集,且Rx[action] = Ry[action],则报告“冗余冲突”,退出;否则,如果Ry[src]是Rx[src]的子集,且Ry[src]是Rx[src]的子集,且Rx[action] ≠ Ry[action],则报告Ry与Rx 发生“屏蔽冲突”,退出;
2.5)如果Rx[action] = Ry[action],则报告Ry与Rx 发生“屏蔽冲突”,退出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810226775.9A CN108471412A (zh) | 2018-03-19 | 2018-03-19 | 一种防火墙规则冲突检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810226775.9A CN108471412A (zh) | 2018-03-19 | 2018-03-19 | 一种防火墙规则冲突检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108471412A true CN108471412A (zh) | 2018-08-31 |
Family
ID=63265545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810226775.9A Pending CN108471412A (zh) | 2018-03-19 | 2018-03-19 | 一种防火墙规则冲突检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108471412A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110099056A (zh) * | 2019-04-30 | 2019-08-06 | 哈尔滨英赛克信息技术有限公司 | 一种IPSec安全网关的策略冲突动态检测方法 |
CN115348065A (zh) * | 2022-07-29 | 2022-11-15 | 中国舰船研究设计中心 | 一种基于可编程数据平面的防火墙绕行冲突检测方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753369A (zh) * | 2008-12-03 | 2010-06-23 | 北京天融信网络安全技术有限公司 | 一种检测防火墙规则冲突的方法及装置 |
CN103259761A (zh) * | 2012-02-15 | 2013-08-21 | 深圳市证通电子股份有限公司 | 基于Android平台的防火墙系统及其构建方法 |
CN104092676A (zh) * | 2014-06-30 | 2014-10-08 | 复旦大学 | 面向云数据中心环境防火墙即服务的并行防火墙规则异常检测的方法 |
CN104113516A (zh) * | 2013-04-19 | 2014-10-22 | 中国移动通信集团设计院有限公司 | 一种识别防火墙的规则冲突的方法和终端 |
-
2018
- 2018-03-19 CN CN201810226775.9A patent/CN108471412A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753369A (zh) * | 2008-12-03 | 2010-06-23 | 北京天融信网络安全技术有限公司 | 一种检测防火墙规则冲突的方法及装置 |
CN101753369B (zh) * | 2008-12-03 | 2012-03-28 | 北京天融信网络安全技术有限公司 | 一种检测防火墙规则冲突的方法及装置 |
CN103259761A (zh) * | 2012-02-15 | 2013-08-21 | 深圳市证通电子股份有限公司 | 基于Android平台的防火墙系统及其构建方法 |
CN104113516A (zh) * | 2013-04-19 | 2014-10-22 | 中国移动通信集团设计院有限公司 | 一种识别防火墙的规则冲突的方法和终端 |
CN104092676A (zh) * | 2014-06-30 | 2014-10-08 | 复旦大学 | 面向云数据中心环境防火墙即服务的并行防火墙规则异常检测的方法 |
CN104092676B (zh) * | 2014-06-30 | 2017-05-10 | 复旦大学 | 面向云数据中心环境防火墙即服务的并行防火墙规则异常检测的方法 |
Non-Patent Citations (1)
Title |
---|
张昭理: "一种防火墙规则冲突检测算法", 《计算机工程与应用》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110099056A (zh) * | 2019-04-30 | 2019-08-06 | 哈尔滨英赛克信息技术有限公司 | 一种IPSec安全网关的策略冲突动态检测方法 |
CN110099056B (zh) * | 2019-04-30 | 2021-09-03 | 哈尔滨英赛克信息技术有限公司 | 一种IPSec安全网关的策略冲突动态检测方法 |
CN115348065A (zh) * | 2022-07-29 | 2022-11-15 | 中国舰船研究设计中心 | 一种基于可编程数据平面的防火墙绕行冲突检测方法 |
CN115348065B (zh) * | 2022-07-29 | 2024-04-12 | 中国舰船研究设计中心 | 一种基于可编程数据平面的防火墙绕行冲突检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | An exhaustive research on the application of intrusion detection technology in computer network security in sensor networks | |
Choi et al. | Ontology-based security context reasoning for power IoT-cloud security service | |
CN104618377B (zh) | 基于NetFlow的僵尸网络检测系统与检测方法 | |
CN102663278B (zh) | 云计算模式物联网平台数据处理安全保护方法 | |
CN103944865B (zh) | 隔离保护系统及其执行双向数据包过滤检查的方法 | |
CN109040037A (zh) | 一种基于策略和规则的安全审计系统 | |
Rehák et al. | Adaptive multiagent system for network traffic monitoring | |
CN104092676B (zh) | 面向云数据中心环境防火墙即服务的并行防火墙规则异常检测的方法 | |
CN105867347B (zh) | 一种基于机器学习技术的跨空间级联故障检测方法 | |
CN104052635A (zh) | 一种基于安全预警的风险态势预测方法及系统 | |
CN102611713A (zh) | 基于熵运算的网络入侵检测方法和装置 | |
CN108471412A (zh) | 一种防火墙规则冲突检测方法 | |
CN109495508A (zh) | 基于服务访问数据的防火墙配置方法 | |
Sharma et al. | WLI-FCM and artificial neural network based cloud intrusion detection system | |
Zvabva et al. | Evaluation of industrial firewall performance issues in automation and control networks | |
CN109743339A (zh) | 电力厂站的网络安全监测方法和装置、计算机设备 | |
CN113746820A (zh) | 防火墙访问控制策略的检测方法及检测装置 | |
CN101621427B (zh) | 用于通信网络的防入侵方法和系统 | |
CN105512001A (zh) | 一种用于运维管理系统的监测模板实现方法 | |
Poltavtseva et al. | High-performance NIDS architecture for enterprise networking | |
Thanasegaran et al. | A topological approach to detect conflicts in firewall policies | |
EP2911362B1 (en) | Method and system for detecting intrusion in networks and systems based on business-process specification | |
CN109922040A (zh) | 一种基于nb-iot的网络安全管理系统 | |
Zhai et al. | Network intrusion early warning model based on DS evidence theory | |
CN103116670B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180831 |