高吞吐量协作防火墙的双向去冗余方法*
2013-08-14张大方AlexLiu
秦 拯,欧 露†,张大方,Alex X.Liu
(1.湖南大学 信息科学与工程学院,湖南 长沙 410082;2.密歇根州立大学 计算机科学与工程系,密歇根 兰西 48824-1266)
协作防火墙(Cooperative Firewall,CF)与传统的防火墙不同,是部署在网络域内或域间的多个防火墙,基于访问控制列表 (Access Control List,ACL),以协同方式进行多层数据包过滤.ACL是由一系列的规则组成,而规则的数量越多,CF的吞吐量也随之显著降低.因此,通过减少防火墙规则的数量来提高CF的性能成了当务之急.
目前,协作防火墙分为域内协作防火墙和跨域协作防火墙.在域内协作防火墙方面,研究者针对防火墙异常检测方法和防火墙配置错误检测等开展了相关研究工作[1],但是在域内协作防火墙的冗余规则去除方面未见相关工作报道.在跨域协作防火墙方面,研究者构建了加密跨域防火墙模型[2],Liu等[3]解决了在VPN中安全执行协作防火墙策略问题.另外,Chen等[4]提出了基于隐私保护的跨域协作防火墙冗余规则去除方法,但该方法只去除了协作防火墙中一方的冗余规则,未能同时去除两个防火墙的冗余规则,难以明显提高协作防火墙的吞吐量.
为有效去除冗余规则和明显提高吞吐量,本文提出一种可双向去冗余的协作防火墙优化方法,同时删除域内协作防火墙的冗余规则,降低规则数量.
1 双向去冗余方法
1.1 基本思想
将CF简化为由两个防火墙组成,相互合作过滤外来的数据包,防御外来攻击,其工作原理如图1所示.防火墙A和防火墙B组成一个数据流管道T,数据包P经防火墙A处理并被接受后,防火墙B才可对数据包P进行处理;只有在防火墙A和B都接受数据包P的情况下,数据包P才能进入内部网络.倘若两个防火墙中有一个拒绝了数据包P,数据包P就不能进入到内部网络.根据CF工作原理可知,假设数据包P既能匹配防火墙A中accept规则,又可匹配防火墙B中discard规则,则防火墙A中accept规则为冗余规则.同理,若数据包P可同时匹配防火墙A中discard规则和防火墙B中任一规则,则此时防火墙B中此类规则为冗余规则.
图1 协作防火墙模型Fig.1 Cooperative firewall model
当且仅当防火墙A和防火墙B依次都接收了数据包P时,数据包才能通过管道T,进入到内部网络,这些允许数据包进入内部网络的规则为有效规则.为搜寻冗余规则,需先筛选有效规则,筛选出有效规则之后,可将其余的规则进行3种组合:组合1,防火墙A中accept规则和防火墙B中discard规则;组合2,防火墙A中discard规则和防火墙B中accept规则;组合3,防火墙A中discard规则和防火墙B中discard规则,如图2所示.在组合1中,一部分discard规则与有效规则重叠,此类discard规则称为伪有效规则,不能删除.根据上文对协作防火墙冗余规则的定义,此时防火墙A和B中accept规则为冗余规则,可一并删除.此外,防火墙B中除伪有效规则之外的discard规则亦为冗余规则,可删除.
图2 协作防火墙规则组合情况Fig.2 Rules combinations in cooperative firewall
我们给出协作防火墙的冗余规则示例,如图3所示,其中SIP,DIP,SP,DP,PR和Dec分别表示源IP,目标IP,源端口、目标端口,协议类型和相应决策.防火墙FWA和FWB中有效规则分别为r4和r4′.因r5′与r4重叠,所以r5′是伪有效规则.因此r2,r3,r1′,r2′和r3′均为冗余规则,可删除.
图3 协作防火墙冗余规则示例Fig.3 Example cooperative-firewall redundant rules
1.2 域内协作防火墙双向去冗余方法
域内协作防火墙属于同一网络管理域,其去冗余方法分4步进行.
1)提取有效规则 .首先,将防火墙A和B的规则分别转化成等价的全匹配防火墙决策图[5-7](Firewall Decision Diagram,FDD),然后提取全匹配FDD中非重叠的accept规则,比对两个防火墙中提取的accept规则,计算其是否重叠,若重叠,则为协作防火墙管道T中有效规则,否则不是.
2)提取伪有效规则 .比对防火墙B中discard规则和防火墙A中有效规则,若这两类规则重叠,此类discard规则为伪有效规则.
3)寻找备选冗余规则 .首先,剔除防火墙A和B中有效规则,剩余的accept规则均为备选冗余规则.然后,剔除防火墙B中伪有效规则,防火墙B中其余的discard规则亦为备选冗余规则.分别在两个防火墙的全匹配FDD[8-10]中,用虚线标示备选冗余规则.
4)双向去除冗余规则 .分别在防火墙A和B的全匹配FDD中,用虚线标示出备选冗余规则之后,其余规则路径均用实线标示,称为有效路径.首先提取虚线路径中的规则,然后判定各有效路径中编号最小的规则是否为虚线路径中的规则.若提取的规则为有效路径中编号最小的规则,那么该规则不能删除;反之,该规则可以删除.
下面给出双向去冗余方法示例.CF中各防火墙规则提取过程如图4所示.
首先,依次比对防火墙A和B中所有的accept规则.例如,比对nrA3和nrB1,其中[3,4]∩[3,4]≠Ø,[3,8]∩[0,7]≠Ø,那么nrA3和nrB1相重叠,则nrA3和nrB1为有效规则.同理可知,nrA5和 nrB3以及nrA6和nrB4均为有效规则.
然后,依次将防火墙B中的discard规则和防火墙A中的有效规则进行比对.例如,比对nrA3和nrB6,其中[3,4]∩[3,4]≠Ø,[3,8]∩[8,15]≠Ø,那么nrA3和nrB6重叠,因此nrB6为伪有效规则.根据上文双向去冗余方法3),可得防火墙A中备选冗余规则为nrA1,nrA2和nrA4,防火墙B中备选冗余规则为nrB2,nrB5和 nrB7.在图5中用虚线标示出备选冗余规则.
最后,判定备选冗余规则是否为冗余规则,判定过程如图5所示.rA5为有效路径中编号最小规则,因此防火墙A的冗余规则为rA1,删除之.同理,防火墙B的冗余规则为rB1,rB4和rB6,可删除.
图4 防火墙规则的提取过程Fig.4 The detection of rules in firewall
2 仿真实验
2.1 实验方法
在本实验中,实验对象是5组防火墙,分别为Econ,Host,Wan,Ath和Comp.每个防火墙均检测规则的5个元素为:源IP地址,目的IP地址,源端口,目的端口和协议类型,并从协作防火墙规则冗余率和吞吐量两个方面来评估高吞吐量协作防火墙双向去冗余方法.
图5 协作防火墙的双向去冗余过程Fig.5 Cooperative firewall bidirectional redundancy deletion
2.1.1 统计协作防火墙规则冗余率
我们在使用双向去冗余方法优化协作防火墙之前,统计各个防火墙的规则总数,标记为N.然后再统计优化后的协作防火墙规则总数,标记为n.那么可知协作防火墙的冗余规则数量为N-n,其冗余率可定义为在实验中,为了方便辨认统计数据,将入口防火墙A中冗余规则总数标记为a,出口防火墙B中冗余规则总数标记为b,入口防火墙A的规则总数标记为|FWA|,出口防火墙B的规则总数标记为|FWB|,入口防火墙A的冗余率标记为出口防火墙B的冗余率标记为协作防火墙整体的冗余标记为θ在本实验中,将本文方法的实验结果与现有协作防火墙去冗余方法的实验结果进行对比.
2.1.2 测量协作防火墙吞吐量
吞吐量是指防火墙在不丢包情况下能转发的最大网络数据包数量.防火墙作为内外网之间的唯一数据通道,吞吐量的大小将直接影响到网络的性能.因此,设计一种有效可靠的协作防火墙优化方法是非常必要的.
为测量防火墙吞吐量,利用SmartBits6000C(SMB6000C)和 H3CS2126 24口交换机(H3C2126)来测试协作防火墙的吞吐量,测试设备、交换设备和控制台的连接拓扑如图6所示.为了能精确测量优化后的协作防火墙吞吐量,我们采用二分法,其主要方法为:SMB6000C在每一对端口上,以全线速度(或测试设置中规定的速率)在测试设置规定的时间段内生成传输流.如果任何端口上丢失包的话,SMB6000C就将负载减少50%并重新开始测试.然后,SMB6000C用二分搜索法搜索没有包丢失发生时的最大速率.这个速率就是被测试设备的吞吐量,它是按测试设置中规定的每一种包长度测试得出的.
图6 实验拓扑图Fig.6 Experimental topology
先测量运用双向去冗余方法优化前的协作防火墙吞吐量,再测量运用本文方法优化后的协作防火墙吞吐量,然后根据测量数据,计算统计出协作防火墙的吞吐量提高的百分比.
2.2 实验结果
通过大量仿真对比实验,验证了双向去冗余方法能更有效可靠地去除协作防火墙中冗余规则,并提高了协作防火墙的吞吐量.表1为现有协作防火墙去冗余方法的实验结果.由于现有协作防火墙去冗余方法只去除了出口防火墙B中的冗余规则,所以每个防火墙组的入口防火墙A的冗余率均为0,平均总冗余率为9.6%.表2为双向去冗余的实验结果.由表2可得,域内协作防火墙双向去冗余方法在Econ,Host,Ath和Comp 4组协作防火墙中,均取得了明显成效.在5组域内协作防火墙检测结果中,平均FWA冗余率达到了21.3%,平均总冗余率达到了22.7%.
表1和表2的实验结果表明,在协作防火墙中冗余规则是普遍存在的,需要设计一种有效可靠的方法来优化协作防火墙.同时,对比2种方法中平均总冗余率,双向去冗余方法的平均总冗余率是现有协作防火墙去冗余方法的平均冗余率的两倍多.因此,在减少协作防火墙整体规则数量方面,本文提出的双向去冗余方法明显优于现有方法.
协作防火墙吞吐量的实验计算结果如图7所示.运用双向去冗余方法去除协作防火墙的冗余规则之后,在同等条件下,每组防火墙的吞吐量均有所提高.5组协作防火墙平均吞吐量提高达到了8.2%,其中Host防火墙组的吞吐量提高20.1%.这说明域内防火墙双向去冗余方法能有效提高协作防火墙的吞吐量.
表1 现有协作防火墙去冗余方法的冗余率实验结果Tab.1 Redundant ratios for current redundancy deletion of cooperative firewall
表2 域内协作防火墙中的冗余率实验结果Tab.2 Redundant ratios for domain cooperative firewall
图7 域内协作防火墙的吞吐量Fig.7 Throughput on domain cooperative firewall
3 结 论
本文提出一种高吞吐量协作防火墙的双向去冗余方法,在提取有效规则的基础上,能同时去除两个防火墙中的冗余规则,明显提高协作防火墙的吞吐量.
随着网络的发展,协作防火墙的研究将会是一项长期的工作.在今后的工作中,我们将更深入研究域内和跨域协作防火墙技术理论,重点是如何提高协作防火墙性能,以推动协作防火墙技术的实用化和产业化.
[1] SHAER-AL E,HAMED H.Discovery of policy anomalies in distributed firewalls[C]//Pro of IEEE INFOCOM2004.Hong Kong:IEEE,2004:2605-2616.
[2] CHENG J,YANG H,WONG S H,etal.Design and implementation of cross-domain cooperative firewall[C]//Pro of the 2007IEEE International Conference on Network Protocols.Beijing:IEEE,2007:284-293.
[3] LIU A X,CHEN Fei.Collaborative enforcement of firewall policies in virtual private networks[C]//Pro of 27th Annual ACM Symposium on Principles of Distributed Computing.Toronto:ACM,2008:95-104.
[4] CHEN Fei,BEZAWADA B,LIU A X.A cross-domain privacy-preserving protocol for cooperative firewall optimization[C]//IEEE INFOCOM 2011.Shanghai:IEEE,2011:2903-2911.
[5] YUAN L,CHEN H,MAI J,etal.Fireman:a toolkit for firewall modeling and analysis[C]//Pro of IEEE Symposium on Security and Privacy 2006.Berkeley:IEEE,2006:199-213.
[6] LIU A X,MEINERS C R,YUN ZHOU.All-match based complete redundancy removal for packet classifiers in TCAMs[C]//IEEE INFOCOM2008.Phoenix:IEEE,2008:574-582.
[7] LIU A X,GOUDA M G.Complete redundancy removal for packet classifiers in TCAMs[J].IEEE Transactions on Parallel and Distributed Systems,2010,21(4):424-437.
[8] LIU A X,CHAD R M,ZHOU Yun.All-match based complete redundancy removal for packet classifiers in TCAMs[C]//Pro of the 27th Annual IEEE Conference on Computer Communications (INFOCOM).Phoenix,Arizona:IEEE,2008:574-582.
[9] LIU A X,GOUDA M G.Diverse firewall design[C]//Pro of the IEEE International Conference on Dependable Systems and Networks.Florence,Italy:IEEE,2004:595-604.
[10] GOUDA M G,LIU A X.Firewall Design:consistency,completeness and compactness[C]//Pro the 24th IEEE International Conference on Distributed Computing Systems (ICDCS).Tokyo,Japan:IEEE,2004:320-327.