数据包源派地址目的地址目标行为操作ABC行为操作BAC行为操作 135.7999.1 12345.1.1 拒绝拒绝(B)拒绝(B) 1234 135.79991 1234561 允许允许()拒绝(B 135.79.1.1 123.456.1 允许 允许(A) 允许(A 135.79.1.1 123.45.1.1 拒绝 拒绝(C)拒绝O 表33使用样本数据包测试结果 ■由表3.3可见,按ABC的规则顺序,能够得到想要的操作 结果;而按BAC的规则顺序则得不到预期的操作结果, 原本允许的数据包2被拒绝 仔细分析可以发现,表3.2中用来禁止合作网的特定子网 的访问规则B是不必要的。它正是在BAC规则集中造成数 据包2被拒绝的原因。如果删除规则B,得到表3.4所示的 行为操作
表3.3 使用样本数据包测试结果 ▪ 由表3.3可见,按ABC的规则顺序,能够得到想要的操作 结果;而按BAC的规则顺序则得不到预期的操作结果, 原本允许的数据包2被拒绝了。 数据包 源地址 目的地址 目标行为操作 ABC行为操作 BAC行为操作 1 135.79.99.1 123.45.1.1 拒绝 拒绝(B) 拒绝(B) 2 135.79.99.1 123.45.6.1 允许 允许(A) 拒绝(B) 3 135.79.1.1 123.45.6.1 允许 允许(A) 允许(A) 4 135.79.1.1 123.45.1.1 拒绝 拒绝(C) 拒绝(C) ▪ 仔细分析可以发现,表3.2中用来禁止合作网的特定子网 的访问规则B是不必要的。它正是在BAC规则集中造成数 据包2被拒绝的原因。如果删除规则B,得到表3.4所示的 行为操作
数据包源地址目的地址目标行为操作AC行为操作 135799911234511 拒绝 拒绝C) 234 13579911234561 允许 允许(4) 135.79.1.1 123.456.1 允许 允许() 3579.1.1 123.45.1.1 拒绝 拒绝)」 表34删除规则B后的行为操作 这才是想要的结果。由此得出两点结论: 正确地制定过滤规则是困难的; 过滤规则的重新排序使得正确地指定规则变得越发困难
表3.4 删除规则B后的行为操作 这才是想要的结果。由此得出两点结论: 数据包 源地址 目的地址 目标行为操作 AC行为操作 1 135.79.99.1 123.45.1.1 拒绝 拒绝(C) 2 135.79.99.1 123.45.6.1 允许 允许(A) 3 135.79.1.1 123.45.6.1 允许 允许(A) 4 135.79.1.1 123.45.1.1 拒绝 拒绝(C) ▪ 正确地制定过滤规则是困难的; ▪ 过滤规则的重新排序使得正确地指定规则变得越发困难
313数据包的服务过滤策略 ■按服务进行过滤,就是根据 TCP/UDP的端口号制 定过滤策略。但是,由于源端口是可以伪装的, 所以基于源端口的过滤是会有风险的。同时还需 要确认内部服务确实是在相应的端口上。下面进 行一些分析
3.1.3 数据包的服务过滤策略 ▪ 按服务进行过滤,就是根据TCP/UDP的端口号制 定过滤策略。但是,由于源端口是可以伪装的, 所以基于源端口的过滤是会有风险的。同时还需 要确认内部服务确实是在相应的端口上。下面进 行一些分析
(1)关于外部服务的端口号 如果过滤规则完全依赖于外部主机的端口号,例如允许 内部主机向外部服务器的邮件发送服务,而且TCP的端 口25就是常规邮件(STMP)端口时,这样的配置是安 全的。但是,包过滤路由器是无法控制外部主机上的服 务确实在常规的端口上,攻击者往往会通过伪造,利用 端口25向内部主机发送其他应用程序(非常规邮件)的 数据包,建立连接,进行非授权访问。这时,只能禁止 25端口对于内部主机的访问。因为内部主机对这个外部 端口不能信任
(1) 关于外部服务的端口号 如果过滤规则完全依赖于外部主机的端口号,例如允许 内部主机向外部服务器的邮件发送服务,而且TCP的端 口25就是常规邮件(STMP)端口时,这样的配置是安 全的。但是,包过滤路由器是无法控制外部主机上的服 务确实在常规的端口上,攻击者往往会通过伪造,利用 端口25向内部主机发送其他应用程序(非常规邮件)的 数据包,建立连接,进行非授权访问。这时,只能禁止 25端口对于内部主机的访问。因为内部主机对这个外部 端口不能信任
(2)关于内部主机的源端口号 从内部到外部的 TCP/UDE连接中,内部主机的源端口一般 采用大于1024的随机端口。为此,对端口号大于1024的 所有返回到内部的数据包都要允许。对此,就需要辨认端 口号大于1024的数据包中哪些是非法的 对于TCP数据包来说,可以通过fag位辨认哪些是来自外 部的连接请求。但是UDP是无连接的,没有这样的fag位 可使用,只能唯一地辨认端口号。所以允许UDP协议对外 访问会带来风险。因为返回的数据包上的端口号有可能是 攻击者伪造的。当请求端口和目的端口都是固定的时,这 个问题才能解决
(2) 关于内部主机的源端口号 从内部到外部的TCP/UDP连接中,内部主机的源端口一般 采用大于1024的随机端口。为此,对端口号大于1024的 所有返回到内部的数据包都要允许。对此,就需要辨认端 口号大于1024的数据包中哪些是非法的。 对于TCP数据包来说,可以通过flag位辨认哪些是来自外 部的连接请求。但是UDP是无连接的,没有这样的flag位 可使用,只能唯一地辨认端口号。所以允许UDP协议对外 访问会带来风险。因为返回的数据包上的端口号有可能是 攻击者伪造的。当请求端口和目的端口都是固定的时,这 个问题才能解决