集成NAT功能的防火墙测试方法

2022-09-17

防火墙能否起到防护作用, 常用的证明方法是对其进行测试。文献[1]提出了一种基于TTCN3的防火墙测试系统, 该方法具有一定的规范性、普适性和可重复性。文献[2]提出了一种防火墙测试生成方法。针对1目前大多数防火墙都支持网络地址转换NAT功能的情况, 本文在文献[1][2]的基础上, 提出了改进方法, 使其能够适应集成N A T的防火墙测试。

1 NAT简介

网络地址转换[3]功能是防火墙的一项重要的功能, 其实现的核心是把内部网络中的数据报文的地址转换为外部合法的地址并向外部网络发送, 而在收到外部数据报文后, 再转换成内部地址并向内部网络发送。

地址转换从实现方法上可以分为静态地址转换和动态地址转换。

在静态地址转换中, 私有IP地址和合法IP地址之间是一一映射的关系, 每个内部IP都有一个外部IP与之对应, 系统通过维护一张固定的映射表来完成这项功能。

在动态地址转换中, 内核动态的决定了外部与内部IP之间的映射关系。对于实际的应用来说, 防火墙必须维持一个动态的映射表, 并随时对这个表进行更新。

当数据包到达防火墙的内部接口后, 查找路由。之后, 数据包要接受系统内核的转换处理, 即将包头中的源IP地址修改为防火墙外部接口的地址, 并在系统中做下记录, 以便之后对其回应包的目的IP进行“恢复”。这样, 当该数据包顺利从外部接口出来时, 其包头中源IP已被修改为防火墙外网卡的IP地址, 然后向外网发出。在数据包回来时会根据系统关于IP转换的记录对数据包的目的IP进行恢复。

2 集成动态NAT的防火墙测试方法

在静态N A T中, 私有地址与公有地址是一一映射的关系, 而且不改变端口号。情况比较简单, 本文主要介绍动态NAT的防火墙测试方法。

在动态N A T中, 地址映射通常是内网私有地址映射到同一个公有地址, 即防火墙的外网地址, 这时我们可以进行其一致性测试。由于端口号的分配是动态的, 所以只有在防火墙测试运行时才能捕获端口号的变化, 因此在测试时需要加入运行时支持才能够实现测试目的。

测试流程与结构同文献[1], 我们需要修改的是测试例的生成。

3 测试生成

用FW_OuterIP表示防火墙的外网地址, 因为地址映射是内网私有地址映射到防火墙的外网地址, 所以有O u t e r I P=f (InnerIP) ≡FW_OuterIP。

用1p'表示1p经过NAT后动态分配的端口号, 那么对于防火墙测试例 (x1/x1) , 经过NAT后, 得到 (x1/x2) , 其中:

(1) 当x1=F:A:p1→B:p2时,

(2) 当x1=F:B:p2→A:p1时,

UT捕捉到x2时, 分析x2, 比较f (A) 是否是防火墙的外网地址, 如果是, 则说明被测防火墙运行正确, 同时记录p1′, 当此测试序列中需要UT主动向LT发送报文的时候, UT将对由同步报文中收到的原始报文的目的地址和目的端口号, 分别使用f (A) 和p1′进行替代即可;如果不是, 则说明被测防火墙运行错误, 测试终止。

比如防火墙外网地址为202.38.73.50, 对于以下防火墙测试例:

构造后的防火墙测试例为。

其中p为防火墙动态分配的端口号, UT不必检查p, 只需记录下p, 在本测试例没有被reset之前, UT向LT发送的包的目的地址就是202.38.73.50, 目的端口号就是p。

4 结语

本文针对集成了NAT功能的防火墙测试, 在文献[1]的测试方法基础上, 将NAT规则引入测试例生成, 并对动态NAT引入运行时支持, 使该方法生成的测试用例同样适用于集成了NAT的防火墙测试, 并以具体的例子描述了测试例的构造过程。

摘要:目前大多数防火墙都支持网络地址转换NAT功能, 当防火墙启用了NAT功能, 防火墙不仅会对数据包进行检查和过滤, 同时也会改变数据包的IP地址和端口号, 对此本文提出了一种启用了NAT的防火墙测试方法。

关键词:防火墙测试,NAT

参考文献

[1] 魏蓉.基于TTCN-3的防火墙测试系统[J].科技资讯, 2009 (1) .

[2] 郐吉丰, 魏蓉, 蒋凡.基于策略分段的防火墙一致性测试[J].计算机系统应用, 2007 (3) .

[3] P.Srisuresh, K.Egevang, RFC3022.Janu-ary 2001"Traditional IP Network Ad-dress Translator (Traditional NAT) "1~13.

本文来自 99学术网(www.99xueshu.com),转载请保留网址和出处

上一篇:“牵一发而动全身”新解——对新课程下的阅读教学新策略的系统解读下一篇:浅谈LED照明技术及应用