CN114362991A - 一种acl访问控制列表规则过滤去重的方法及装置 - Google Patents
一种acl访问控制列表规则过滤去重的方法及装置 Download PDFInfo
- Publication number
- CN114362991A CN114362991A CN202111388267.9A CN202111388267A CN114362991A CN 114362991 A CN114362991 A CN 114362991A CN 202111388267 A CN202111388267 A CN 202111388267A CN 114362991 A CN114362991 A CN 114362991A
- Authority
- CN
- China
- Prior art keywords
- rule
- weight
- acl
- comparison
- dest
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000001914 filtration Methods 0.000 title claims abstract description 34
- 238000012163 sequencing technique Methods 0.000 claims abstract description 4
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000012216 screening Methods 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 6
- 238000003780 insertion Methods 0.000 description 5
- 230000037431 insertion Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000002386 leaching Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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/0254—Stateful filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- 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/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种ACL访问控制列表规则过滤去重的方法及装置。所述方法包括:统计未经处理的ACL规则集合A;为每条ACL规则添加权值来标识规则的可控范围;首次过滤去重时,取出集合A的条目1计算权值,将计算权值后的选项添加到集合B中;顺序计算集合A中后续条目权值,将该条目与集合B对比,若规则有冲突则丢弃;否则将规则根据权值插入集合B中的对应位置;当集合A中所有规则对比结束时,集合B就是集合A经过滤去重后的无冗余规则集合;将集合B中的规则按照索引顺序排序得到最终ACL规则集合。本发明在ACL规则过滤去重的过程中,根据权值来统计各条规则的控制范围,后续的对比都是从权值最小开始对比,从而提升ACL规则的冲突命中率。
Description
技术领域
本发明涉及互联网控制及网络安全技术领域,涉及基于工控设备如工业防火墙的包过滤方法的设计,尤其涉及一种ACL访问控制列表规则过滤去重的方法及装置。
背景技术
目前,随着互联网的高速发展以及工业化与信息化进程的不断交叉融合,对网络中的信息过滤、提取及拒绝的操作规格越来越高。
ACL是一种基于包过滤的访问控制技术,它可以根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃。在互联网访问过程中,借助于访问控制列表,可以有效地控制用户对网络的访问,从而最大程度地保障网络安全。访问控制列表可以由源目MAC地址、源目IP地址,协议类型、端口号等基本信息组成,可以有效地限制网络流量及提高网络性能。
从概念上来讲,ACL并不复杂,复杂的是在对他进行配置过程中,对规则的过滤、去重及匹配的逻辑处理。传统的ACL配置方式,往往是透明的设置,也就是用户配置什么内容,就生成相应内容的ACL规则列表。当规则列表比较庞大的时候,势必会导致有多余的规则掺杂其中。而根据ACL的特性,包过滤的方式是从列表开始逐条进行匹配,这样就会导致冗余的匹配流程,从而对性能产生影响。
发明内容
本发明提供了一种ACL访问控制列表规则过滤去重的方法,包括:
步骤1、统计整理现有未经过处理的ACL规则集合,命名为集合A,以索引标记其顺序;
步骤2、针对每条ACL具体规则,添加一个权值,来标识此条规则的一个可控范围大小;
步骤3、首次过滤去重时,取出ACL规则集合A中的第一个规则条目进行权值计算,并将计算权值后的选项添加到一个新的集合中,命名为集合B;
步骤4、顺序计算集合A中的后续条目的权值,并将集合A的ACL规则各属性字段与集合B中存有的规则条目进行对比,若有冲突,则将此条对比的ACL规则丢弃;否则,根据权值,将对比的ACL规则插入集合B中的对应位置;
步骤5、如果集合A中还有待对比的规则,则返回步骤4执行;当集合A中所有规则对比结束,此时集合B中就是原有规则集合A经过过滤去重后的无冗余ACL规则集合;
步骤6、将集合B中的规则按照索引从小到大的顺序进行排序,得到最终ACL规则集合。
如上所述的一种ACL访问控制列表规则过滤去重的方法,其中,针对每条ACL具体规则,权值越小则标识对应的ACL规则对数据流的控制范围越大,数据包命中该ACL规则的概率就会越高。
如上所述的一种ACL访问控制列表规则过滤去重的方法,其中,计算ACL规则集合A中各规则条目的权重,具体包括:
定义ACL对比步长标准;
分别计算规则条目中各字段的权值;
求和各字段权值,得到该规则ACL条目的权值。
如上所述的一种ACL访问控制列表规则过滤去重的方法,其中,定义ACL对比步长标准为ACL_WEIGHT_COMMON_STEP,分别计算规则条目中各字段的权值,具体包括:
(1)MAC权值计算:
设定Any为权值最大等于0;其他情况为ACL_WEIGHT_COMMON_STEP;
(2)IP权值计算:
设定源IP和目的IP取值范围均是ipFrom和ipTo,IP权值计算方式如下:
①若ipFrom与ipTo都是Any的情况下,则权值等于0;
②若ipFrom与ipTo有至少一项不为Any,则根据ip范围(ipRange=ipTo-ipFrom)计算如下:
A、ipRange等于0:IP权值=5*ACL_WEIGHT_COMMON_STEP;
B、ipRange在aa.bb.cc.0–aa.bb.cc.FF范围内:IP权值=4*ACL_WEIGHT_COMMON_STEP;
C、ipRange在aa.bb.0.0–aa.bb.FF.FF范围内,IP权值=3*ACL_WEIGHT_COMMON_STEP;
D、ipRange在aa.0.0.0–aa.FF.FF.FF范围内,IP权值=2*ACL_WEIGHT_COMMON_STEP;
E、ipRange在00.0.0.0–FF.FF.FF.FF范围内,IP权值=ACL_WEIGHT_COMMON_STEP;
F、ipRange等于0xFFFFFFFF:IP权值=0;
(3)端口号权值计算:
端口号权值计算方式与IP类似,但取值范围有所不同,端口号步进为0,0xF,0xFF,0xFFF和0xFFFF;若端口号为0-65535,则设定权值=0;
(4)协议类型权值计算:
设定协议类型为Any以及协议类型为0-255时权值为0,其他协议类型权值设定为ACL_WEIGHT_COMMON_STEP。
如上所述的一种ACL访问控制列表规则过滤去重的方法,其中,将集合B与集合A做条目比较,若集合B中某一条ACL规则包含了集合A中对比的ACL规则,则认为集合A与集合B有冲突,则丢弃此条ACL规则。
如上所述的一种ACL访问控制列表规则过滤去重的方法,其中,集合B与集合A的条目比较,具体包括:
将集合B作为对比规则,集合A作为被对比规则,设定各字段的比较状态,包括对比规则与被对比规则相同、对比规则项包含了被对比规则项、被对比规则项包含了对比规则项、对比规则与被对比规则不同;
对条目字段进行比较,为各字段设置对应的比较状态;
经过比较后,通过状态机来确定两个比较的规则条目最终的状态,根据最终状态决定ACL规则的丢弃或保存。
如上所述的一种ACL访问控制列表规则过滤去重的方法,其中,设定各字段的比较状态包括MS_SAME,MS_SRC_COVER_DEST,MS_DEST_COVER_SRC和MS_DIFFERENT,其中,SRC指对比规则项,DEST指被对比规则项,MS_SAME指明对比规则与被对比规则相同;MS_SRC_COVER_DEST指明对比规则项包含了被对比规则项;MS_DEST_COVER_SRC指明被对比规则项包含了对比规则项;MS_DIFFERENT指明对比规则与被对比规则不同;对条目字段进行比较,具体包括:
①MAC比较:
a.如果src和dest为全0或src MAC==dest MAC,则MS_SAME;
b.如果src为全0,dest非全0,则MS_SRC_COVER_DEST;
c.如果dest为全0,src非全0,则MS_DEST_COVER_SRC;
d.若非上述情况,则MS_DIFFERENT;
②IP比较:
a.如果src ip与dest ip相同,则MS_SAME;
b.如果src ip为Any,则MS_SRC_COVER_DEST;
c.如果dest ip为Any,则MS_DEST_COVER_SRC;
d.如果src ipFrom<=dest ip From,并且src ipTo>=dest ipTo,则MS_SRC_COVER_DEST;
e.如果dest ipFrom<=src ip From,并且dest ipTo>=src ipTo,则MS_DEST_COVER_SRC;
f.若非上述情况,则MS_DIFFERENT;
③端口比较和协议比较:端口比较和协议比较与IP比较相同。
本发明还提供一种工控设备,包括:所述设备执行上述任一项所述的一种ACL访问控制列表规则过滤去重的方法。
本发明还提供一种计算机存储介质,其特征在于,所述计算机存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于被处理器执行上述任一项所述的一种ACL访问控制列表规则过滤去重的方法。
本发明实现的有益效果如下:在ACL规则过滤去重的过程中,根据权值来统计各条规则的控制范围,后续的对比都是从权值最小(也就是对数据包的控制范围最大)开始对比,从而提升ACL规则的冲突命中率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本申请实施例一提供的一种ACL访问控制列表规则过滤去重的方法流程图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
如图1所示,本申请实施例一提供一种ACL访问控制列表规则过滤去重的方法,应用于工控设备中,根据所设置的ACL规则集合,查找并去重合并冲突项,提取最优的匹配规则集合,执行ACL控制动作。所述方法具体包括:
步骤1、统计整理现有未经过处理的ACL规则集合,命名为集合A,以索引标记其顺序;
例如,下表1为集合A示例:
表1 ACL规则集合A
表中,Any项设置,说明该字段可以是任何符合逻辑的数值,也就是这字段的权值为0。
步骤2、针对每条ACL具体规则,添加一个权值,来标识此条规则的一个可控范围大小;
针对每条ACL具体规则,权值越小则标识对应的ACL规则对数据流的控制范围越大,数据包命中该ACL规则的概率就会越高。
步骤3、首次过滤去重时,取出ACL规则集合A中的第一个规则条目进行权值计算,并将计算权值后的选项添加到一个新的集合中,命名为集合B;
本申请实施例中,计算ACL规则集合A中各规则条目的权重,具体包括:
Step1、定义ACL对比步长标准为ACL_WEIGHT_COMMON_STEP,其值可自行定义;
Step2、分别计算规则条目中各字段的权值;
其中,各字段的权值计算过程具体为:
(1)MAC权值计算:
设定Any为权值最大等于0;其他情况为ACL_WEIGHT_COMMON_STEP;
(2)IP权值计算:
设定源IP和目的IP取值范围均是ipFrom和ipTo,IP权值计算方式如下:
①若ipFrom与ipTo都是Any的情况下,则权值等于0;
②若ipFrom与ipTo有至少一项不为Any,则根据ip范围(ipRange=ipTo-ipFrom)计算如下:
A、ipRange等于0:IP权值=5*ACL_WEIGHT_COMMON_STEP;
B、ipRange在aa.bb.cc.0–aa.bb.cc.FF范围内:IP权值=4*ACL_WEIGHT_COMMON_STEP;
C、ipRange在aa.bb.0.0–aa.bb.FF.FF范围内,IP权值=3*ACL_WEIGHT_COMMON_STEP;
D、ipRange在aa.0.0.0–aa.FF.FF.FF范围内,IP权值=2*ACL_WEIGHT_COMMON_STEP;
E、ipRange在00.0.0.0–FF.FF.FF.FF范围内,IP权值=ACL_WEIGHT_COMMON_STEP;
F、ipRange等于0xFFFFFFFF:IP权值=0;
(3)端口号权值计算:
端口号权值计算方式与IP类似,但取值范围有所不同,端口号步进为0,0xF,0xFF,0xFFF和0xFFFF;若端口号为0-65535,则设定权值=0。
(4)协议类型权值计算:
设定协议类型为Any以及协议类型为0-255时权值为0,其他协议类型权值设定为ACL_WEIGHT_COMMON_STEP。
Step3、求和各字段权值,得到该规则ACL条目的权值。
例如,设定步长标准ACL_WEIGHT_COMMON_STEP=0,则源MAC权值为0,目的MAC权值为10,源IP权值为40,目的IP权值为40,端口号权值为0,协议类型权值为0,由此计算出索引为1的ACL规则条目的权值为0+10+40+40+0+0=90,即首次过滤去重后,集合B如下表所示:
表2当前集合B
步骤4、顺序计算集合A中的后续条目的权值,并将ACL规则各属性字段与集合B中存有的规则条目进行依次对比,若有冲突,则将此条对比的ACL规则丢弃;否则,根据权值,将对比的ACL规则插入集合B中的对应位置;
具体地,若集合B中某一条ACL规则包含了该集合A中对比的ACL规则,则认为集合A与集合B有冲突,则丢弃此条ACL规则;
其中,集合B与集合A的条目比较,具体包括:
(1)先设定各字段的比较状态包括MS_SAME,MS_SRC_COVER_DEST,MS_DEST_COVER_SRC和MS_DIFFERENT,其中,SRC指对比规则项,DEST指被对比规则项,MS_SAME指明对比规则与被对比规则相同;MS_SRC_COVER_DEST指明对比规则项包含了被对比规则项;MS_DEST_COVER_SRC指明被对比规则项包含了对比规则项;MS_DIFFERENT指明对比规则与被对比规则不同;
(2)对条目字段进行比较,包括:
①MAC比较:
a.如果src和dest为全0或src MAC==dest MAC,则MS_SAME;
b.如果src为全0,dest非全0,则MS_SRC_COVER_DEST;
c.如果dest为全0,src非全0,则MS_DEST_COVER_SRC;
d.若非上述情况,则MS_DIFFERENT;
②IP比较:
a.如果src ip与dest ip相同,则MS_SAME;
b.如果src ip为Any,则MS_SRC_COVER_DEST;
c.如果dest ip为Any,则MS_DEST_COVER_SRC;
d.如果src ipFrom<=dest ip From,并且src ipTo>=dest ipTo,则MS_SRC_COVER_DEST;
e.如果dest ipFrom<=src ip From,并且dest ipTo>=src ipTo,则MS_DEST_COVER_SRC;
f.若非上述情况,则MS_DIFFERENT。
③端口比较和协议比较:
端口比较和协议比较与IP比较类似,在此不作赘述。
(3)经过比较后,通过状态机来确定两个比较的规则条目最终的状态,根据最终状态决定ACL规则的丢弃或保存,具体如下表3所示:
表3最终状态表
步骤5、如果集合A中还有待对比的规则,则返回步骤4执行;当集合A中所有规则对比结束,此时集合B中就是原有规则集合A经过过滤去重后的无冗余的ACL规则集合;
具体地,判断集合A中是否还有待对比的ACL规则,如果有,则返回步骤4继续与集合B做条目对比,否则说明集合A中所有规则对比结束,此时集合B中的所有规则即是原有规则集合A经过过滤去重后的无冗余的ACL规则集合。
步骤6、将集合B中的规则按照索引从小到大的顺序进行排序,得到最终ACL规则集合。
例如,对于步骤1中的ACL规则集合A的具体过滤去重过程为:
第一轮、根据ACL规则集合A中的第一条规则计算权重后放入集合B;
第二轮、根据ACL规则集合A中的第二条规则计算权值,并与集合B中条目进行比较,如果有冲突,则丢弃第二条;无冲突,则根据权值排序插入集合B;
具体地,集合B的排序顺序由权值决定,按权值从小到大排列。权值越小,其对数据流的控制范围越大,后续ACL规则条目对比的优先级也越高,从而达到最快的过滤出后续ACL规则与已比较过的规则的一个重复性。
从表1可以看到第二条的目的MAC和源IP都为Any,包括了现在集合B中的条目规则,故集合A的第二条规则与集合B没有冲突,计算第二条权值,并加入集合B,并对集合B进行排序,即由于索引2的权值小于索引1的权值,所以集合B中存储顺序为索引2、1,如表4所示:
表4当前集合B
第三轮、将集合A中的第三条规则计算权值,并与集合B中条目进行比较;若有冲突,则丢弃第三条;无冲突,则根据权值排序插入集合B;
将表1集合A的索引3与集合B中的第一条索引2比较,发现索引2包括了索引3,故丢弃索引3规则,集合B仍如表4所示。
第四轮、根据集合A中的第四条规则计算权值,并与集合B中条目进行比较,若有冲突,则丢弃第四条;无冲突,则根据权值排序插入集合B;
将表1集合A的索引4与集合B中的第一条索引2比较,源MAC冲突,继续与集合B中下一个索引1比较,发现索引1包括了索引4,故丢弃索引4规则,集合B仍如表4所示。
第五轮、将集合A中的第五条规则计算权值,并与集合B中条目进行比较。若有冲突,则丢弃第五条;无冲突,则根据权值排序插入集合B;
由于表1集合A的索引5比较特殊,是一条全通ACL规则,规则匹配范围最大,故其与集合B中的现有的条目都不冲突,将其添加到集合B,并排序:此时的集合B如下表5所示:
表5当前集合B
第六轮、将集合A中的第六条规则计算权值,并与集合B中条目进行比较;若有冲突,则丢弃第六条;无冲突,则根据权值排序插入集合B;
将表1集合A的索引6与集合B中的第一个条目索引5比较,索引5包括了索引6,冲突,丢弃索引6,当前集合B仍如表5所示。
将六轮过滤去重完毕后,将集合B的条目以索引为标准从小到大排序,最终ACL规则集合如下:
表6最终集合B
与上述实施例对应的,本发明实施例提供一种计算机存储介质,包括:至少一个存储器和至少一个处理器;
存储器用于存储一个或多个程序指令;
处理器,用于运行一个或多个程序指令,用以执行一种ACL访问控制列表规则过滤去重的方法。
与上述实施例对应的,本发明实施例提供一种计算机可读存储介质,计算机存储介质中包含一个或多个程序指令,一个或多个程序指令用于被处理器执行一种ACL访问控制列表规则过滤去重的方法。
本发明所公开的实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行上述的一种ACL访问控制列表规则过滤去重的方法。
在本发明实施例中,处理器可以是一种集成电路芯片,具有信号的处理能力。处理器可以是通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。处理器读取存储介质中的信息,结合其硬件完成上述方法的步骤。
存储介质可以是存储器,例如可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。
其中,非易失性存储器可以是只读存储器(Read-Only Memory,简称ROM)、可编程只读存储器(Programmable ROM,简称PROM)、可擦除可编程只读存储器(Erasable PROM,简称EPROM)、电可擦除可编程只读存储器(Electrically EPROM,简称EEPROM)或闪存。
易失性存储器可以是随机存取存储器(Random Access Memory,简称RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,简称SRAM)、动态随机存取存储器(Dynamic RAM,简称DRAM)、同步动态随机存取存储器(Synchronous DRAM,简称SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,简称DDRSDRAM)、增强型同步动态随机存取存储器(EnhancedSDRAM,简称ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,简称SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,简称DRRAM)。
本发明实施例描述的存储介质旨在包括但不限于这些和任意其它适合类型的存储器。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件与软件组合来实现。当应用软件时,可以将相应功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (9)
1.一种ACL访问控制列表规则过滤去重的方法,其特征在于,包括:
步骤1、统计整理现有未经过处理的ACL规则集合,命名为集合A,以索引标记其顺序;
步骤2、针对每条ACL具体规则,添加一个权值,来标识此条规则的一个可控范围大小;
步骤3、首次过滤去重时,取出ACL规则集合A中的第一个规则条目进行权值计算,并将计算权值后的选项添加到一个新的集合中,命名为集合B;
步骤4、顺序计算集合A中的后续条目的权值,并将集合A的ACL规则各属性字段与集合B中存有的规则条目进行对比,若有冲突,则将此条对比的ACL规则丢弃;否则,根据权值,将对比的ACL规则插入集合B中的对应位置;
步骤5、如果集合A中还有待对比的规则,则返回步骤4执行;当集合A中所有规则对比结束,此时集合B中就是原有规则集合A经过过滤去重后的无冗余ACL规则集合;
步骤6、将集合B中的规则按照索引从小到大的顺序进行排序,得到最终ACL规则集合。
2.如权利要求1所述的ACL访问控制列表规则过滤去重的方法,其特征在于,针对每条ACL具体规则,权值越小则标识对应的ACL规则对数据流的控制范围越大,数据包命中该ACL规则的概率就会越高。
3.如权利要求1所述的ACL访问控制列表规则过滤去重的方法,其特征在于,计算ACL规则集合A中各规则条目的权重,具体包括:
定义ACL对比步长标准;
分别计算规则条目中各字段的权值;
求和各字段权值,得到该规则ACL条目的权值。
4.如权利要求3所述的ACL访问控制列表规则过滤去重的方法,其特征在于,定义ACL对比步长标准为ACL_WEIGHT_COMMON_STEP,分别计算规则条目中各字段的权值,具体包括:
(1)MAC权值计算:
设定Any为权值最大等于0;其他情况为ACL_WEIGHT_COMMON_STEP;
(2)IP权值计算:
设定源IP和目的IP取值范围均是ipFrom和ipTo,IP权值计算方式如下:
①若ipFrom与ipTo都是Any的情况下,则权值等于0;
②若ipFrom与ipTo有至少一项不为Any,则根据ip范围(ipRange=ipTo-ipFrom)计算如下:
A、ipRange等于0:IP权值=5*ACL_WEIGHT_COMMON_STEP;
B、ipRange在aa.bb.cc.0–aa.bb.cc.FF范围内:IP权值=4*ACL_WEIGHT_COMMON_STEP;
C、ipRange在aa.bb.0.0–aa.bb.FF.FF范围内,IP权值=3*ACL_WEIGHT_COMMON_STEP;
D、ipRange在aa.0.0.0–aa.FF.FF.FF范围内,IP权值=2*ACL_WEIGHT_COMMON_STEP;
E、ipRange在00.0.0.0–FF.FF.FF.FF范围内,IP权值=ACL_WEIGHT_COMMON_STEP;
F、ipRange等于0xFFFFFFFF:IP权值=0;
(3)端口号权值计算:
端口号权值计算方式与IP类似,但取值范围有所不同,端口号步进为0,0xF,0xFF,0xFFF和0xFFFF;若端口号为0-65535,则设定权值=0;
(4)协议类型权值计算:
设定协议类型为Any以及协议类型为0-255时权值为0,其他协议类型权值设定为ACL_WEIGHT_COMMON_STEP。
5.如权利要求1所述的ACL访问控制列表规则过滤去重的方法,其特征在于,将集合B与集合A做条目比较,若集合B中某一条ACL规则包含了集合A中对比的ACL规则,则认为集合A与集合B有冲突,则丢弃此条ACL规则。
6.如权利要求5所述的ACL访问控制列表规则过滤去重的方法,其特征在于,集合B与集合A的条目比较,具体包括:
将集合B作为对比规则,集合A作为被对比规则,设定各字段的比较状态,包括对比规则与被对比规则相同、对比规则项包含了被对比规则项、被对比规则项包含了对比规则项、对比规则与被对比规则不同;
对条目字段进行比较,为各字段设置对应的比较状态;
经过比较后,通过状态机来确定两个比较的规则条目最终的状态,根据最终状态决定ACL规则的丢弃或保存。
7.如权利要求6所述的ACL访问控制列表规则过滤去重的方法,其特征在于,设定各字段的比较状态包括MS_SAME,MS_SRC_COVER_DEST,MS_DEST_COVER_SRC和MS_DIFFERENT,其中,SRC指对比规则项,DEST指被对比规则项,MS_SAME指明对比规则与被对比规则相同;MS_SRC_COVER_DEST指明对比规则项包含了被对比规则项;MS_DEST_COVER_SRC指明被对比规则项包含了对比规则项;MS_DIFFERENT指明对比规则与被对比规则不同;对条目字段进行比较,具体包括:
①MAC比较:
a.如果src和dest为全0或src MAC==dest MAC,则MS_SAME;
b.如果src为全0,dest非全0,则MS_SRC_COVER_DEST;
c.如果dest为全0,src非全0,则MS_DEST_COVER_SRC;
d.若非上述情况,则MS_DIFFERENT;
②IP比较:
a.如果src ip与dest ip相同,则MS_SAME;
b.如果src ip为Any,则MS_SRC_COVER_DEST;
c.如果dest ip为Any,则MS_DEST_COVER_SRC;
d.如果src ipFrom<=dest ip From,并且src ipTo>=dest ipTo,则MS_SRC_COVER_DEST;
e.如果dest ipFrom<=src ip From,并且dest ipTo>=src ipTo,则MS_DEST_COVER_SRC;
f.若非上述情况,则MS_DIFFERENT;
③端口比较和协议比较:端口比较和协议比较与IP比较相同。
8.一种工控设备,其特征在于,包括:所述设备执行如权利要求1-7任一项所述的一种ACL访问控制列表规则过滤去重的方法。
9.一种计算机存储介质,其特征在于,所述计算机存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于被处理器执行如权利要求1-7任一项所述的一种ACL访问控制列表规则过滤去重的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111388267.9A CN114362991B (zh) | 2021-11-22 | 2021-11-22 | 一种acl访问控制列表规则过滤去重的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111388267.9A CN114362991B (zh) | 2021-11-22 | 2021-11-22 | 一种acl访问控制列表规则过滤去重的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114362991A true CN114362991A (zh) | 2022-04-15 |
CN114362991B CN114362991B (zh) | 2024-04-16 |
Family
ID=81095847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111388267.9A Active CN114362991B (zh) | 2021-11-22 | 2021-11-22 | 一种acl访问控制列表规则过滤去重的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114362991B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090052451A1 (en) * | 2007-08-21 | 2009-02-26 | Etheridge James K | Access control list management system |
US7536476B1 (en) * | 2002-12-20 | 2009-05-19 | Cisco Technology, Inc. | Method for performing tree based ACL lookups |
EP2618279A1 (en) * | 2012-01-23 | 2013-07-24 | Palantir Technologies, Inc. | Cross-ACL multi-master replication |
WO2016091027A1 (zh) * | 2014-12-12 | 2016-06-16 | 中兴通讯股份有限公司 | 一种网络地址转换与访问控制列表规则聚合方法和装置 |
US20160191466A1 (en) * | 2014-12-30 | 2016-06-30 | Fortinet, Inc. | Dynamically optimized security policy management |
CN106034054A (zh) * | 2015-03-17 | 2016-10-19 | 阿里巴巴集团控股有限公司 | 冗余访问控制列表acl规则文件检测方法和装置 |
WO2018121454A1 (zh) * | 2016-12-29 | 2018-07-05 | 华为技术有限公司 | 文件访问控制列表管理方法和相关装置和系统 |
US10148662B1 (en) * | 2015-01-21 | 2018-12-04 | EMC IP Holding Company LLC | De-duplication of access control lists |
CN109688126A (zh) * | 2018-12-19 | 2019-04-26 | 迈普通信技术股份有限公司 | 一种数据处理方法、网络设备及计算机可读存储介质 |
CN110602267A (zh) * | 2019-09-12 | 2019-12-20 | 四川长虹电器股份有限公司 | 一种高效的dns服务器acl文件去重方法 |
CN112702311A (zh) * | 2020-11-30 | 2021-04-23 | 锐捷网络股份有限公司 | 一种基于端口的报文过滤方法和装置 |
WO2021102414A1 (en) * | 2019-11-22 | 2021-05-27 | Centripetal Networks, Inc. | Methods and systems for prevention of attacks associated with the domain name system |
EP3873057A1 (en) * | 2020-02-28 | 2021-09-01 | Huawei Technologies Co., Ltd. | Method and apparatus for detecting invalidity of access control list acl rule |
-
2021
- 2021-11-22 CN CN202111388267.9A patent/CN114362991B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7536476B1 (en) * | 2002-12-20 | 2009-05-19 | Cisco Technology, Inc. | Method for performing tree based ACL lookups |
US20090052451A1 (en) * | 2007-08-21 | 2009-02-26 | Etheridge James K | Access control list management system |
EP2618279A1 (en) * | 2012-01-23 | 2013-07-24 | Palantir Technologies, Inc. | Cross-ACL multi-master replication |
WO2016091027A1 (zh) * | 2014-12-12 | 2016-06-16 | 中兴通讯股份有限公司 | 一种网络地址转换与访问控制列表规则聚合方法和装置 |
US20160191466A1 (en) * | 2014-12-30 | 2016-06-30 | Fortinet, Inc. | Dynamically optimized security policy management |
US10148662B1 (en) * | 2015-01-21 | 2018-12-04 | EMC IP Holding Company LLC | De-duplication of access control lists |
CN106034054A (zh) * | 2015-03-17 | 2016-10-19 | 阿里巴巴集团控股有限公司 | 冗余访问控制列表acl规则文件检测方法和装置 |
WO2018121454A1 (zh) * | 2016-12-29 | 2018-07-05 | 华为技术有限公司 | 文件访问控制列表管理方法和相关装置和系统 |
CN109688126A (zh) * | 2018-12-19 | 2019-04-26 | 迈普通信技术股份有限公司 | 一种数据处理方法、网络设备及计算机可读存储介质 |
CN110602267A (zh) * | 2019-09-12 | 2019-12-20 | 四川长虹电器股份有限公司 | 一种高效的dns服务器acl文件去重方法 |
WO2021102414A1 (en) * | 2019-11-22 | 2021-05-27 | Centripetal Networks, Inc. | Methods and systems for prevention of attacks associated with the domain name system |
EP3873057A1 (en) * | 2020-02-28 | 2021-09-01 | Huawei Technologies Co., Ltd. | Method and apparatus for detecting invalidity of access control list acl rule |
US20210273942A1 (en) * | 2020-02-28 | 2021-09-02 | Huawei Technologies Co., Ltd. | Method and apparatus for detecting invalidity of access control list acl rule |
CN112702311A (zh) * | 2020-11-30 | 2021-04-23 | 锐捷网络股份有限公司 | 一种基于端口的报文过滤方法和装置 |
Non-Patent Citations (3)
Title |
---|
一只小笨笨: "ACL匹配规则", 《CSDN:HTTPS://BLOG.CSDN.NET/ZUORIQIUFENG/ARTICLE/DETAILS/119838931》 * |
王萍;管建超;马永;王阳;朱兵;叶水勇;唐波;朱笔辉;陈明;: "防火墙ACL规则合理性研究分析与应用", 大众用电, no. 1 * |
程前;齐微微;叶飞;王文林;雍文涛;董勇;汪路;叶水勇;: "防火墙访问控制列表规则合理性研究分析与应用", 电力与能源, no. 05 * |
Also Published As
Publication number | Publication date |
---|---|
CN114362991B (zh) | 2024-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220124070A1 (en) | Methods, Systems, and Computer Readable Media for Adaptive Packet Filtering | |
EP3293929B1 (en) | Efficient matching of tcam rules using hash tables in ram | |
US9195939B1 (en) | Scope in decision trees | |
US20130301641A1 (en) | Method and apparatus for packet classification | |
CN111817978B (zh) | 一种流分类方法及装置 | |
US9647947B2 (en) | Block mask register key processing by compiling data structures to traverse rules and creating a new rule set | |
JP2013511223A (ja) | 反復解析及び分類 | |
KR101311031B1 (ko) | 검증 블룸 필터를 포함하는 멀티 블룸 필터 | |
CN103746869B (zh) | 结合数据/掩码和正则表达式的多级深度包检测方法 | |
Trabelsi et al. | Statistical dynamic splay tree filters towards multilevel firewall packet filtering enhancement | |
CN114362991A (zh) | 一种acl访问控制列表规则过滤去重的方法及装置 | |
EP4127956A1 (en) | Scalable network processing segmentation | |
CN106657128B (zh) | 基于通配符掩码规则的数据包过滤方法及装置 | |
Hsiao et al. | High-throughput intrusion detection system with parallel pattern matching | |
CN112437096A (zh) | 加速策略查找方法及系统 | |
KR100996136B1 (ko) | 패킷 분류 장치 및 그 방법 | |
Ahmadi et al. | Modified collision packet classification using counting bloom filter in tuple space. | |
CN114301620A (zh) | 一种基于acl时间域的快速匹配方法 | |
US11025650B2 (en) | Multi-pattern policy detection system and method | |
CN112667867A (zh) | 一种基于tcam特征码的匹配冲突检查方法和设备 | |
CN117336240B (zh) | 一种大容量规则下的ip五元组匹配方法及系统 | |
CN112367262B (zh) | 一种五元组规则的匹配方法及装置 | |
CN114095231B (zh) | 一种报文过滤方法、装置、设备及介质 | |
CN117792804B (zh) | 基于位图和预过滤的网络威胁筛选方法及系统 | |
US10862903B2 (en) | State grouping methodologies to compress transitions in a deterministic automata |
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 |