防火墙规则

2024-08-16

防火墙规则(精选三篇)

防火墙规则 篇1

防火墙对于保护网络系统的安全有很重要的作用。服务器将到达的数据包和防火墙中的规则逐条比较,直到找到与该数据包相匹配的规则。这条规则决定了该数据包的命运。防火墙规则的配置不当将大大影响防火墙的性能。现今虽然有不少文章研究了规则的异常检测,但并没有描述如何利用规则的异常检测对规则进行优化。

本文研究规则间的关系分类及规则冲突异常和处理,引入异常检测算法,避免规则之间出现矛盾、冗余。用户利用web页面参与规则管理,操作简单方便。同时,在保持规则间相互关系的基础上,利用日志管理系统的统计数据,对规则重新排序优化,将最常用的规则赋予高优先级,使到达的数据包可以快速地匹配到相应规则,从而降低规则比较的次数,实现Linux系统下的iptables规则优化。

1防火墙规则分析

1.1防火墙规则形式化表示

防火墙中保存着用户设置的规则集,相当于一个访问控制列表,用以决定当数据包到来时应该采取的操作。每个规则一般由三个部分组成:规则号、过滤域和动作域。规则号是规则在规则集中的顺序,保证了数据包匹配的次序。过滤域可以由许多项构成,但常用的有五项:源IP地址、目的IP地址、源端口、目的端口和协议。动作域通常有两种选择:接受和拒绝。因此,规则可以形式化表示为:

<规则号><协议><源IP地址><源端口><目的IP地址><目的端口><动作>或<order><protocol><sip><sport><dip> <dport> <action>

在本文中,所指的规则将采用上面的形式。规则顺序位置体现了一定的优先级,在前面的规则具有更高的优先级。ip地址可以是主机地址(如:192.168.123.116),或者是网络地址(如:192.168.123.*)。端口可以是具体的端口号,或者是用“any”表示的任意端口号。规则例子见表1。

1.2防火墙规则关系的定义

这里仅考虑规则的过滤域。

(1) 则A和规则B完全无关

当且仅当规则A的每个域不是规则B的对应域的子集(本文中的子集均是指真子集)、超集,且不相等。数学定义为,∀i:A[i]>/<B[i],其中><∈{⊂,⊃,=},i∈﹛协议,源IP地址,源端口,目的IP地址,目的端口﹜。

(2) 规则A和规则B完全相同

当且仅当规则A的每个域和规则B的对应域相等。数学定义为,∀i:A[i]=B[i],其中i∈﹛协议,源IP地址,源端口,目的IP地址,目的端口﹜。

(3) 规则A包含于规则B

当且仅当规则A和规则B不是完全相等,且规则A的每个域是规则B对应域的子集,或相等。数学定义为,∀i:A[i]⊆B[i]且∃j使A[j]≠B[j],其中i,j∈﹛协议,源IP地址,源端口,目的IP地址,目的端口﹜。例如,表1的规则3和规则2,规则3包含于规则2。

(4) 规则A和规则B部分相关

当且仅当规则A至少存在一个域是规则B的子集或超集或与之相等,且A至少存在一个域不是规则B的子集、超集且与之不等。数学定义为,∃i,j:A[i]><B[i],且A[j]>/<B[j],且ij,其中,><∈{⊂,⊃,=},i,j∈﹛协议,源IP地址,源端口,目的IP地址,目的端口﹜。例如,表1的规则6和规则8。

(5) 规则A和规则B相互关联

当且仅当规则A某些域是规则B的子集,而某些域是规则B的超集。数学定义为,∀i:A[i]><B[i],且∃i,j使A[i]⊂B[i],A[j]⊃B[j],其中><∈{⊂,⊃,=},i,j∈﹛协议,源IP地址,源端口,目的IP地址,目的端口﹜。例如,表1的规则1和规则2。

1.3规则冲突异常定义及处理

防火墙规则冲突异常可以定义为存在两个或者多个不同的过滤规则匹配同一个数据包。从上面的规则关系,我们可以分析归纳总结出规则A和规则B存在冲突异常,当且仅当规则A和规则B之间存在关系(2)或(3)或(5)。

当规则A和规则B完全相同时,若动作域相同,则存在冗余异常,删除两条规则中的任一条;若动作域不同,则规则设置存在错误,根据实际需要删除一条或都删除。处理的结果是使得规则集里,不存在完全相同的规则。

当规则A包含于规则B时,若动作域相同,删除规则A;若动作域不同,且规则A位于规则B前面,则不进行任何操作;若动作域不同,且规则A位于规则B后面,存在屏蔽异常,规则A不起作用,可根据实际情况,将规则A调至规则B前,或将规则A删除。处理的结果是,最多存在两个规则动作域不同,子集位于超集前面,两者有严格的顺序。

当规则A和规则B相互包含关联时,存在相关性交叉异常。若动作域相同,规则A和规则B的顺序位置对规则集没有影响,可以不进行任何操作;若动作域不同,则存在交叉冲突,可以另外生成一条规则,过滤域取两者的交集,动作域取规则AB中优先级低的动作域。这里不另外生成规则,处理结果是在动作域不同时定义规则AB间严格顺序。

2规则冲突异常检测处理的实现

2.1规则异常检测算法

一般的冲突异常检测算法含有大量if else语句,如文献[2],这里我们做一定的改进。由上面分析可知,rule1和rule2不存在冲突当且仅当它们的protocol,sip,sport,dip,dport至少有一项不是属于子集或超集或相等的关系。在本算法中,protocol ,sport,dport为整型,sip,dip为字符串型。protocol为0时表示任意协议,不同的整数值表示不同的协议;sport,dport为0时表示任意端口;action为0表示拒绝,为1表示接受。由于整数处理比字符串处理快,因此先比较protocol ,sport,dport域,再比较sip,dip域,最后根据action域判断规则关系并进行处理。设置两个整型参数:Flag和FFlag,Flag表示两条规则rule1、rule2之间的关系,FFlag表示rule1、rule2规则域之间的关系。FFlag共有4种取值:0、1、2、3; 0表示rule1的域(这里指过滤域)和rule2对应域不属于子集、超集或相等的关系,1表示rule1的域和rule2对应域相同,2表示rule1的域是rule2对应域的子集,3表示rule2的域是rule1对应域的子集。由过滤域的比较决定FFlag值,由第一项域比较结果FFlag值初始化Flag的值,此后Flag值在每一项域比较后由公式Flag=FFlag*Flag决定。如果FFlag值为0,则规则无冲突异常,跳出比较;如果Flag值为1,则rule1和rule2过滤域完全相同;否则计算Flag%2和Flag%3值,两者值均为0则rule1和rule2间存在相关性交叉异常,前者值为0后者非0则rule1是rule2的子集,前者非0后者为0则rule2是rule1的子集。再根据动作域,对规则进行或删除或调整顺序的处理。

在防火墙实验中,添加防火墙规则,每确定插入一条规则之前,将该规则与已有的每一条规则比较(置底的默认规则除外),检查是否有冲突或错误,根据检测的提示信息对规则处理。若无冲突,加入规则;若存在冗余或有错误,则删除,再重新编写规则;若存在屏蔽或交叉异常,则调整规则顺序。默认规则添加在最后,如表1中规则11。表1的规则表经过冲突异常检测处理后,见表2。

2.2根据规则命中率,对规则重新排序优化

随着时间增长,规则原有的顺序并没有体现出实际情况,数据包要寻找许久才能找到匹配的规则。有些规则匹配的次数高,有些规则匹配的次数低,可以将那些具有较高命中率的规则调到前面。在重新安排顺序时,要注意那些需要保持相互间严格顺序的规则。如表2中,规则1必须在规则2前面,规则2必须在规则3前面,规则2必须在规则5前面,规则4必须在规则5前面。本算法采用类似冒泡排序的思想,将hit值较高的规则调至前面位置,hit值表示一段时间内,规则命中率。需要调换位置的规则,在调换之前进行冲突检测判断,如果规则间存在先后顺序,不能调换,将hit值改变为较小值,即降低该规则的优先级。为了避免hit值的改变对排序的影响,设置标志位,表示在本趟排序过程中如果hit值有改变,则在本趟排序结束后不进入下一趟的排序,继续重新这一趟的排序。同时,为了避免数据的大量交换,这里只取规则编号和hit值进行排序。表2所示规则经重新排序前后由表3所示。

2.3规则重新排序优化算法的改进

在添加规则进行冲突异常检测时,可以保留一张规则冲突异常的关系表,记录顺序有严格要求的规则。这样在排序过程中就不需要调用规则冲突检测的函数,只要查找规则关系表查看next值,就知道是否可以将规则位置交换了。

3结论

本实验系统中用户利用web页面参与规则管理,操作简单方便。在实现防火墙规则的冲突检测功能基础上,利用日志管理系统的统计数据,对规则重新排序优化,提高防火墙的安全性,实现Linux系统下的iptables规则优化。

参考文献

[1]Gouda MG,Liu X Y A.Firewall Design:Consistency,Completeness,and Compactness[C].Proceedings.24th International Conference on,distributed Computing Systems,2004:320-327.

[2]Al-Shaer E S,Hamed H H.Firewall Policy Advisor for Anomaly Dis-covery and Rule Editing[C].Integrated Network Management,2003.IFIP/IEEE Eighth International Symposium on,24(28)March2003:17-30.

[3]Acharya S,Jia Wang,Zihui Ge,et al.Traffic-Aware Firewall Optimiza-tion Strategies[C].Communications,2006IEEE International Confer-ence on,June2006,5:2225-2230.

防火墙管理软件简化防火墙规则 篇2

防火墙管理的复杂性是很平常的。许多网络工程师喜欢手工或亲自进行防火墙管理,但随着时间的推移,这种方法有很多不便。没有自动化和分析功能的防火墙管理软件无法找出数以千计的规则和错误配置,可能会变成一种黑色幽默,网络安全高级管理人员产生挫败感。

“所以当涉及到这些错误时,我首先问的是‘我们如何管理这些设备的变更?’管理人员空洞的目光基本就告诉了我想知道的一切,”Lepine说。

为了让防火墙基础架构整合到所有的安全操作上,以及帮助组织完成从Cisco防火墙到Juniper Network SRX网关的困难迁移,Lepine需要保证防火墙管理软件可以让安全团队和网络团队都能使用。他还从AlgoSec那购买了防火墙管理软件,一种专门的防火墙变更与配置管理技术,AlgoSec也有很强的防火墙分析能力,能分析出影响网络安全和网络性能的是哪些防火墙规则和配置。

防火墙管理软件揭露出潜在的防火墙规则www.hanwangtx.com

AlgoSec产品能让Lepine与网络工程师们快速了解PIX防火墙,他们还发现手动的防火墙管理太过于复杂。在一台PIX 535中,Lepine说他们就发现了3000条防火墙规则。

Lepine说:“这是非常可怕的,而且其中的条都还是掩盖着的。这种PIX防火墙可能有之久了,并且这些设置的规则已经彻底失去控制了。没有人能处理,Cisco的人习惯用命令行模式做事。”

通过使用命令行,工程师们掩盖了数以千计的规则, Lepine说。每一次公司业务需要网络团队打开防火墙的一个端口时,工程师们就得在命令行接口筛选成百上千的规则。随着时间的推移,当工程师们在处理一个更改请求时,就没有时间去检查庞大的规则了,

“几年后,网络团队就会不考虑已存在的规则集说:‘好的,我会定义这个对象,打开这个端口以及通信路径,’。先前那些规则到结束都未被使用过,因为另外一个规则在事情发生前已被触发了,”他说。

AlgoSec软件能分析这个设备上的3000条规则,然后确定其中的2000条是多余的。Lepine在企业其他PIX设备上也运行了相同的防火墙审计规则。

他说:“因此,我们可以用AlgoSec软件做个快速评估分析,然后它会报告哪些规则从未使用过,只是防火墙上无用的毁坏的资源。”

防火墙管理软件减轻了经销商的转型

去年当PRGX开始用Juniper SRX网关替代原来老的思科PIX防火墙时,AlgoSec软件确实减轻了中间不少的困难。

“在这个迁移开始时,网络工程师讨论过让VAR(经销商)来帮助实现,” Lepine说,“我跟他们说有这么好的工具,你们为什么就不能用它呢?当时他们都非常惊讶。

这个防火墙管理软件可以很轻松地将PIX盒子里设置好的配置和规则迁移到SPX盒子。本来是3000条规则在PIX535,现在在SRX里才是一个600条的规则集。

从Cisco到Juniper的迁移绝非简单的事情,所以我们要给网络团队提供所有他们需要的信息来顺利完成迁移。

防火墙管理软件加强防火墙变更管理和配置管理

虽然PRGX的网络工程师对公司防火墙仍有所有权,但使用AlgoSec技术可加强防火墙变更管理策略,每次有人对它做更改时,Lepine团队都会得到一个通知,然后工程师们会通过公司变更票务系统来核实每次更改。

Lepine还在防火墙上实行了更严密的配置管理策略来应对更为苛刻的安全策略。

防火墙规则 篇3

点击Win7系统桌面左下方的圆形开始按钮,依次打开Win7系统的“控制面板→系统和安全→Windows防火墙”,点击左侧菜单中的“高级设置”。

防火墙高级设置

在“高级安全Windows防火墙”设置面板中,鼠标右键点击“入站规则”,从弹出菜单中点击“新建规则”。

新建规则

在“要创建的规则类型”中,点选“端口”,下一步,选择“TCP”,点选“特定本地端口”后填入端口号80,

填入端口号80

点击“下一步”,点选“允许连接”,再点“下一步”,根据用户的实际情况和需求勾选域、专用或共用等选项,最后为这个规则命名,

允许连接

根据具体需求勾选域、专用或共用等选项

规则命名

上一篇:汽车销售税收筹划下一篇:分层开发