辽宁省本溪市商贸服务学校 117000
摘 要:文章针对规则冗余和规则间包含性的紧密联系,对规则间的包含关系进行了分析。在此基础上,分情况讨论了规则表中一条规则冗余与否的判定条件,并且根据此判定条件给出了防火墙规则的冗余检测算法。
关键词:防火墙 冗余检测 规则
在以往的防火墙规则输入过程中,规则都由用户判定其语义是否符合初衷、规则之间是否相容或矛盾、是否有无用的规则。因规则是互相联系的,规则的语义是与其在规则表中的位置相关的,因此,当规则较多时,很容易出错。网络管理员要手工在大量的规则中寻找冗余的规则比较困难。可以让计算机自动对防火墙规则进行冗余检测,然后管理员可以根据检测结果对防火墙作出相应的修改。
一、防火墙规则的包含性分析
二、防火墙规则冗余的检测研究
2.规则的冗余检测。在定义4的冗余判定之后,则可以通过遍历规则表以找出所有的符合定义4的冗余规则。
下面给出检测算法:
(1)算法2:冗余检测算法。从规则表中的第一条规则开始,对每一条规则ri,遍历ri后面的每一条规则rk(k>i)。如果发现rk为冗余,即S(rk,ri),则将rk从规则表中去掉,然后检查下一条ri后的规则。如果发现ri为冗余,即S(ri,rk),则将ri从规则表中去掉,然后退出遍历ri后的规则。检查下一条ri后的规则,直到规则表末尾。检查下一条规则,直到规则表末尾。
(2)算法2用形式化语言可以表达如下:
算法2,冗余检测算法形式化语言表示:
ri=first(I);while(ri=next(I,ri)){
while(rk=next_after(ri,I)){
if(S(rk,ri)) del(rk,I);
else if(S(ri,rk)){
del(ri,I);break;} } }
函数first(I)取过滤规则集I中的第一条规则。函数next(I)取过滤规则集I中的ri的下一条规则,当没有时返回NULL。函数next_after(ri,I)取过滤规则集I中位于ri后面的规则中的下一条,当没有时返回NULL。函数del(ri,I)删除过滤规则集I中的ri规则。
参考文献
[1]王卫平 陈文惠 朱卫未 防火墙规则配置错误快速检测算法.计算机工程,2007,(6)
[2]段海新 吴建平 李星 防火墙规则的动态分配和散列表匹配算法.清华大学学报(自然科学版),2001,41,(1),47-49。
[3]Terry William Ogletree 著 防火墙原理与实施.北京,电子工业出版社,2001。
[4]唐正军 李建华 入侵检测技术.北京,清华大学出版社,2004。
论文作者:顾海清
论文发表刊物:《教育学文摘》2016年11月总第209期
论文发表时间:2016/11/16
标签:规则论文; 冗余论文; 防火墙论文; 算法论文; 遍历论文; 函数论文; 下一条论文; 《教育学文摘》2016年11月总第209期论文;