顺序很重要,先精确后宽泛,先常用后少用
收到报文以后,防火墙按照安全策略列表的顺序来匹配。一旦匹配到某一条安全策略就不再向下匹配,否则会一直检查到策略列表底部,命中默认策略。因此,安全策略的顺序非常重要,相同的安全策略,不同的排列顺序,可能会导致不同的结果,还可能影响设备性能。
首先,精确的安全策略优先。在安全策略列表的顶部,应该是按照最小授权原则配置的、最精确的策略。请始终把更精确的安全策略放在前面,把更宽泛的安全策略放在后面。对于这些宽泛的安全策略,要持续分析,逐渐精确化,或者停用。
另一个经验法则是:把频繁命中的安全策略放在更前面。命中次数越多,说明匹配此安全策略的流量越多。让网络中主要的流量快速完成安全策略匹配,能显著提高性能。这在高负载环境中尤为明显。
把高命中率的安全策略放在更前面,并不等于按照命中率设置安全策略的顺序。你需要评估对业务的影响,不能让高命中率的安全策略覆盖低命中率的安全策略(这样低命中率的安全策略就永远不会被命中了)。
关于安全策略的顺序,推荐参考以下顺序。
防欺骗的安全策略。如果来自公网的访问使用了私网地址,说明其有意伪装成内部设备发起的流量,需要禁止此类流量。华为防火墙提供了IP欺骗攻击防范功能(firewall defend ip-spoofing enable),但是应用场景受限,可使用安全策略规避。
允许合法的用户业务的安全策略。例如,允许内网用户访问外部Web服务的HTTP流量。
允许合法的管理业务的安全策略。例如,防火墙与网管之间的SNMP流量,防火墙向网管发送SNMP Trap等。
阻断非法流量的安全策略。对于明确需要禁止的非法业务,配置阻断策略,用于快速丢弃,以提高匹配速度。
阻断可疑流量的安全策略。可疑流量通常需要管理员及时关注,因此需要阻断的同时记录日志,以便分析和调整安全策略的动作。
有必要说明的是,虽然防火墙会默认阻断所有未明确允许的报文,但是,让流量被默认策略阻断是非常不明智的。安全策略的匹配需要时间和设备系统资源,让每一条流量都完成整个安全策略列表的匹配,会严重影响设备性能。因此,请务必为已知的、需要被阻断的流量设置明确的禁止策略。
有两种调整安全策略顺序的方法。第一种是使用安全策略列表顶部的“移动”菜单。其对应的CLI操作命令是rule move rule-name1 { { after | before } rule-name2 | up | down | top | bottom }。
第二种方法是拖拽。选中一条安全策略,按住鼠标左键,可以把该安全策略拖拽到任意位置。