赞
踩
每一条安全策略都是由匹配条件和动作组成的,防火墙收到报文,根据报文的属性与安全策略的匹配条件进行匹配,如果所有条件都匹配,则此报文成功匹配安全策略,按照安全策略的动作处理该报文以及后续的双向流量,安全策略的组成如图所示:
Who:通常是用户发出流量,Agile Controller单点登录场景下还可指定接入方式以及终端设备类型。
Where:流量的来源,包括源/目的安全区域、源/目的IP地址、源/目的地区VLAN。
What:访问的服务、应用或者URL分类/
When:时间段,安全策略可以指定时间段,控制安全策略的生效时间,进而根据时间指定不同的动作。
一旦匹配,就需全部符合才认为匹配,匹配条件之间是“与”关系,一个匹配条件若配置多个值,则多个值之间是“或”关系。
基本动作:允许、禁止。
允许则进一步的内容安全检查,禁止则向服务器或者客户端发送反馈报文,快速结束会话,减少系统资源的浪费。
名称:唯一标识一条安全策略,不可重复。
描述:记录安全策略的其他相关信息。
策略组:把相同目的的策略归为一组,简化管理。
标签:添加标签可以筛选出具有相同特征的策略。
序号 | 名称 | 源安全区域 | 目的安全区域 | 源地址/地区 | 目的地址/地区 | 服务 | 动作 |
101 | tr_to_untr | turst | untrust | 192.168.1.0/24 192.168.2.0/24 | any | http https | permit |
- [USG6000V1]sysname USG
- [USG]se
- [USG]security-policy
- [USG-policy-security]rule name tr_to_untr
- [USG-policy-security-rule-tr_to_untr]source-zone trust
- [USG-policy-security-rule-tr_to_untr]destination-zone untrust
- [USG-policy-security-rule-tr_to_untr]source-address 192.168.1.0 mask 255.255.255
- .0
- [USG-policy-security-rule-tr_to_untr]source-address 192.168.2.0 mask 255.255.255
- .0
- [USG-policy-security-rule-tr_to_untr]service http https
- [USG-policy-security-rule-tr_to_untr]action permit
早期防火墙采取的是“逐包检测”机制,也就是防火墙对收到的所有报文都根据包过滤规则检测,如此容易产生一个问题,当外网服务器回包时,指定目的端口为any(内网PC端口号不确定),意味着安全策略开放了PC的所有端口,容易受到攻击者伪装成外网服务器,穿透防火墙访问PC任意服务,为此产生了状态检测防火墙。
即当内网的PC发送初始化流量到达防火墙,防火墙便记录初始化流量的信息,后期只需要回包与状态化表项对比,若信息匹配,就认为该报文属于PC访问外网服务的后续报文,后续报文不再匹配安全策略,都将匹配会话表。
- [USG]display firewall session table
- 2023-12-13 06:39:57.550
- Current Total Sessions : 8
- icmp VPN: public --> public 30.30.30.254:1059 --> 50.50.50.2:2048
五元组:源地址、源端口、目的地址、目的端口、协议。
采用状态检测机制后,就不需要安全策略为上述外网服务器到内网PC,目的端口为any(PC不需要开放所有端口),当攻击者伪装成服务器访问PC,攻击者发出的报文不属于PC访问服务器行为的响应报文,无法匹配会话表,同时防火墙也无此安全策略,不会允许此类报文通过,避免了大范围开放端口带来的安全风险。
- [USG]display firewall session table verbose protocol icmp
- 2023-12-13 07:12:13.220
- Current Total Sessions : 5
- icmp VPN: public --> public ID: c387f81179795c0ba56579594a
- Zone: trust --> untrust TTL: 00:00:20 Left: 00:00:18
- Recv Interface: Vlanif5
- Interface: GigabitEthernet1/0/1 NextHop: 40.40.40.1 MAC: 00e0-fc90-6ad0
- <--packets: 1 bytes: 60 --> packets: 1 bytes: 60
- 5.5.5.1:20057[40.40.40.254:2054] --> 70.70.70.1:2048 PolicyName: tr_to_untr_icm
- p
-
- icmp VPN: public --> public ID: c487f81179794d8149065795948
- Zone: trust --> untrust TTL: 00:00:20 Left: 00:00:16
- Recv Interface: Vlanif5
- Interface: GigabitEthernet1/0/1 NextHop: 40.40.40.1 MAC: 00e0-fc90-6ad0
- <--packets: 0 bytes: 0 --> packets: 1 bytes: 60
- 5.5.5.1:19545[40.40.40.254:2053] --> 70.70.70.1:2048 PolicyName: tr_to_untr_icm
- p
根据安全策略列表自上而下依次匹配,一旦某一条匹配成功,则停止匹配。
这里主要讲解一个“首包”的概念,假设客户端访问服务器的首包到达防火墙时,按照安全策略列表顺序匹配,命中了相关的安全策略,防火墙停止策略匹配流程,根据指定的动作(假设permit),放行首包,此时建立了会话表,记录会话状态,服务器收到首包后,返回给客户端的响应报文到达防火墙,首先查找和匹配会话表,根据会话表转发。
安全策略列表的顺序也是非常重要的,假设安全策略列表顺序如下:
序号 | 名称 | 源安全区域 | 目的安全区域 | 源地址 | 目的地址 | 服务 | 动作 |
---|---|---|---|---|---|---|---|
101 | policy1 | any | any | any | any | icmp | deny |
201 | policy2 | trust | dmz | 自定义组 | 自定义组 | icmp | permit |
202 | default | any | any | any | any | any | deny |
因为101安全策略包含了201策略的匹配条件,因此按照规则,201策略永远不会命中。
默认策略的动作为禁止,如上202策略。
防火墙基本设计理念就是管理网络中的业务,决定哪些流量可以通过,哪些流量不可以通过,这里的业务包括防火墙发出的流量以及访问防火墙的流量,因此针对这类型流量的策略,即源/目的安全区域为local的策略,叫本地安全策略,如下:
为简化管理,防火墙提供了常见管理协议的接口访问控制功能,用来替代101号此类访问防火墙接口的安全策略,如果用户想ping防火墙接口,需要此接口开启访问控制功能,指定ping。
参考资料:防火墙和VPN技术与实践——李学昭
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。