配置防火墙安全策略之前,在《防火墙基础——安全区域、安全策略》一文的基础上,还需要对状态检测和会话进行了解。
目前的防火墙多是以状态检测技术为基础的,而状态检测技术是包过滤技术的改进(两者在《包过滤与状态检测防火墙的区别浅述》中有过简单的比较),状态检测是基于连接状态的检测机制——将属于通信双方同一个连接的所有交互报文作为一个数据流看待,对这个数据流进行检查时会考虑数据报文之间的联系。
而这个连接状态则是用会话来体现——如果安全策略允许,状态检测防火墙会为通信双方同一个连接的第一个报文建立一个会话并暂存在会话表中,后继报文将会直接匹配该会话而进行转发,不再进行安全策略检查,示意如图1。防火墙中的这个会话表就是快速、准确配置防火墙安全策略的关键。
图1
下面通过图2所示的拓扑进行模拟实验:
实验场景是:在某单位的出口防火墙FW2(USG5500)上配置安全策略:仅允许内网的特定计算机Client1(10.1.1.1)可以ping通和访问外网中的特定Web服务器(1.1.1.1)。
图2
一、配置防火墙的接口IP地址
[FW2]interface GigabitEthe.NET 0/0/0
[FW2-GigabitEthernet0/0/0]ip address 10.1.1.254 24
[FW2-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/1
[FW2-GigabitEthernet0/0/1]ip address 1.1.1.254 24
[FW2-GigabitEthernet0/0/1]quit
二、将防火墙的接口加入安全区域
将连接内网的G0/0/0口加入trust区域,连接外网的G0/0/1口则加入untrust区域。
[FW2]firewall zone trust
[FW2-zone-trust]add interface GigabitEthernet 0/0/0
[FW2-zone-trust]firewall zone untrust
[FW2-zone-untrust]add interface GigabitEthernet 0/0/1
[FW2-zone-untrust]quit
此时,因为防火墙缺省安全策略是禁止,所以内网的Client1还无法ping通和访问外网的Web服务器。
三、将防火墙的缺省安全策略从禁止临时修改为允许
[FW2]firewall packet-filter default permit all
注:
四、查看防火墙会话表
(一) 用内网的Client1访问外网的Web服务器
操作如图3
图3
注:
Web服务器返回的HTTP的状态是404,这应该是模拟器的原因,不影响实验效果。
(二) 查看防火墙的会话表
[FW2]display firewall session table
显示如图4
图4
可以看到内网的Client1访问外网的Web服务器时,防火墙为其建立的会话。其中使用的协议:http;(Client1的)源IP地址:10.1.1.1,源端口:2050;(Web服务器的)目的IP地址:1.1.1.1,目的端口:80,IP地址和端口之间的“-->”代表的是Client1主动访问Web服务器——数据请求方向从安全区域trust 到 untrust。这几个就是配置Client1访问web服务器所需安全策略的要素。
注:
(三) 用内网的Client1 ping 外网的Web服务器
操作如图5
图5
可以看到ping发了10次测试包,均成功。
(四) 再次查看防火墙的会话表
[FW2]display firewall session table
显示如图6
图6
可以看到Client1 ping Web服务器时,防火墙也为其建立了会话。其中使用的协议:icmp;(Client1的)源IP地址:10.1.1.1,源端口:256;(Web服务器的)目的IP地址:1.1.1.1,目的端口:2048,IP地址和端口之间的“-->”代表的是Client1 ping Web服务器。这几个则是配置ping所需安全策略的要素。
注:
五、 配置防火墙的安全策略
[FW2]policy interzone trust untrust outbound
[FW2-policy-interzone-trust-untrust-outbound]policy 1
[FW2-policy-interzone-trust-untrust-outbound-1]policy source 10.1.1.1 0
[FW2-policy-interzone-trust-untrust-outbound-1]policy destination 1.1.1.1 0
[FW2-policy-interzone-trust-untrust-outbound-1]policy service service-set http i
cmp
[FW2-policy-interzone-trust-untrust-outbound-1]action permit
[FW2-policy-interzone-trust-untrust-outbound-1]quit
[FW2-policy-interzone-trust-untrust-outbound]quit
注:
六、将防火墙的缺省安全策略修改为禁止
[FW2]firewall packet-filter default deny all
七、验证配置
(一) 用Client1访问Web服务器
图7
结果如图7,访问成功。
(二) 用Client1 、 Web服务器相互ping
图8
Client1 ping Web服务器,结果如图8,可以ping通。
图8
Web ping Client1服务器,结果如图8,不能ping通。
综上,安全策略配置正确。
以上输入和描述可能有疏漏、错误,欢迎大家在下方评论区留言指正!
另以上文字如有帮助,望不吝转发!