防火墙和VPN技术与实践
上QQ阅读APP看书,第一时间看更新

1.1.4 匹配规则与默认策略

通常,防火墙上会配置大量的安全策略。那么,防火墙收到报文时是如何匹配的呢?防火墙接收到业务发起方的第一个报文后,按照安全策略列表的顺序,从上向下依次匹配。一旦某一条安全策略匹配成功,则停止匹配。防火墙按照该安全策略指定的动作处理流量,并使用会话表记录该条流量的连接状态。该流量的后续报文直接根据会话表来处理。

假设客户端访问服务器的首包到达防火墙时,按照安全策略列表顺序匹配,命中ID为3的安全策略,如图1-5所示。防火墙停止策略匹配流程,根据该安全策略指定的动作,放行首包,同时建立会话表,记录会话状态。服务器收到首包以后,返回给客户端的响应报文到达防火墙,首先查找和匹配会话表,根据会话表转发。

图1-5 安全策略的匹配规则

防火墙出厂时就存在一条显式的默认策略“default”,默认禁止所有的域间流量。默认策略永远位于策略列表的最底端,且不可删除。用户创建的安全策略,按照创建顺序从上往下排列,新创建的安全策略默认位于策略列表底部,默认策略之前。如果流量跟所有手工创建的安全策略都不匹配,必将命中默认策略,防火墙根据默认策略阻断流量。

基于防火墙的安全策略匹配规则以及默认策略的设计,我们知道:安全策略的顺序至关重要,在创建安全策略之后,还要根据业务需要手动调整安全策略的顺序,以保证策略匹配结果符合预期;建议保持默认策略的动作为禁止,不要修改,默认策略的目的是保证所有未明确允许的流量都被禁止,这是防火墙作为一个安全产品所遵循的基本设计理念。

例如,安全策略列表中已经有一条名为“Block high-risk ports”的101号安全策略,阻断了所有高风险服务。现在,用户要为来自trust区域的管理终端访问位于DMZ(Demilitarized Zone,非军事区)的服务器开放RDP(Remote Desktop Protocol,远程桌面协议)的远程桌面服务,新增了一条名为“Allow RDP for admin”的201号安全策略,如表1-3所示。

表1-3 安全策略的顺序——新增配置后

因为101号安全策略完全包含了201号安全策略的匹配条件,按照安全策略的匹配规则,201号安全策略永远也不会被命中。来自trust区域的远程桌面访问命中101号安全策略,就按照其动作被阻断了。因此,新增201号安全策略之后,用户需要手动调整其顺序,把它放到101号安全策略前面,如表1-4所示。调整后安全策略的序号自动变化。

表1-4 安全策略的顺序——调整顺序后