三、防御保护---防火墙安全策略篇
- 一、什么是安全策略
- 二、安全策略的组成
- 1.匹配条件
- 2.动作
- 3.策略标识
- 三、防火墙的状态检测和会话表
- 1.会话表
- 2.状态检测技术
- 四、ASPF--隐形通道
- 五、用户认证
- 1.用户认证的分类
- 2.认证方式
- 3.认证策略
- 4.认证域
一、什么是安全策略
传统的包过滤防火墙 — 其本质为ACL列表,根据数据报中的特征进行过滤,之后对比规制,执行动作。
五元组 — 源IP,目标IP,源端口,目标端口,协议
安全策略 — 相较于ACL的改进之处在于,首先,可以在更细的颗粒度下匹配流量,另一方面是可以完成内容安全的检测。
安全策略:1,访问控制(允许和拒绝)
2,内容检测 — 如果允许通过,则可以进行内容检测
二、安全策略的组成
每一条安全策略都是由匹配条件和动作组成的规则。防火墙接收到报文以后,将报文的属性与安全策略的匹配条件进行匹配。如果所有条件都匹配,则此报文成功匹配安全策略,防火墙按照该安全策略的动作处理这个报文及其后续双向流量。因此,安全策略的核心元素是匹配条件和动作。
1.匹配条件
安全策略的匹配条件描述了流量的特征,用于筛选出符合条件的流量。安全策略的匹配条件包括以下要素。
谁:谁发出的流量,即用户。在Agile Controller单点登录场景下,还可以指定用户的接入方式、用户使用的终端设备类型。
从哪里来,到哪里去:流量的来源和目的,包括源/目的安全区域、源/目的IP地址、源/目的地区和VLAN。地区本质上是IP地址在地理区域上的映射。
干什么:访问的服务、应用或者URL分类。
什么时候:即时间段。
以上匹配条件,在一条安全策略中都是可选配置;但是一旦配置了,就必须全部符合才认为匹配,即这些匹配条件之间是“与”的关系。一个匹配条件中如果配置了多个值,多个值之间是“或”的关系,只要流量匹配了其中任意一个值,就认为匹配了这个条件。
一条安全策略中的匹配条件越具体,其所描述的流量越精确。你可以只使用五元组(源/目的IP地址、端口、协议)作为匹配条件,也可以利用防火墙的应用识别、用户识别能力,更精确、更方便地配置安全策略。
2.动作
安全策略的基本动作有两个:允许和禁止,即流量能否通过。
如果动作为允许,你还可以对此符合此策略的流量执行进一步的内容安全检查。华为防火墙的内容安全检查功能包括反病毒AV、入侵防御IPS、URL过滤、文件过滤、内容过滤、应用行为控制、邮件过滤、APT防御、DNS过滤等。每项内容安全检查都有各自的适用场景和处理动作。防火墙如何处理流量,由所有内容安全检查的结果共同决定。
如果动作为禁止,你还可以选择发送向服务端或客户端反馈报文,快速结束会话,减少系统资源消耗。
用户、终端设备、时间段、地址、地区、服务、应用、URL分类等匹配条件,以及内容安全检查所需的各种配置文件,在防火墙上都以对象的形式存在。你可以先创建对象,然后在多个安全策略中引用。
3.策略标识
为了便于管理,安全策略还提供了如下属性。
名称:用于唯一标识一条安全策略,不可重复。为每一条安全策略指定一个有意义的名称(如安全策略的目的),能提高维护工作效率。
描述:用于记录安全策略的其他相关信息。例如,你可以在这个字段记录触发此安全策略的的申请流程编号。这样,在例行审计时可以快速了解安全策略的背景,比如什么时间引入此安全策略,谁提出的申请,其有效期多久,等等。
策略组:把相同目的的多条安全策略加入到一个策略组中,可以简化管理。你可以移动策略组,启用/禁用策略组等。
标签:标签是安全策略的另一种标识方式,你可以给一条安全策略添加多个标签,通过标签可以筛选出具有相同特征的策略。例如,你可以根据安全策略适用的应用类型,添加高风险应用、公司应用等标签。在为安全策略设置标签时,建议使用固定的前缀,如用“SP_”代表安全策略,并用颜色区分不同的动作。这会使标签更容易理解。
三、防火墙的状态检测和会话表
基于流的流量检测 — 即设备仅对流量的第一个数据包进行过滤,并将结果作为这一条数据流的“特征”记录下来(记录在本地的“会话表”),之后,该数据流后续的报文都将基于这个特征来进行转发,而不再去匹配安全策略。这样做的目的是为了提高转发效率。
如下图所示,PC和Web服务器位于不同的网络,分别与防火墙相连,PC与Web服务器之间的通信受到防火墙的控制。
当PC需要访问Web服务器浏览网页时,在防火墙上必须配置如下的一条规则,允许PC访问Web服务器的报文通过。
在这条规则中,源端口处的*表示任意的端口,这个值是不确定的,所以这里设定为任意端口。
配置了这条规则后,PC发出的报文就可以顺利通过防火墙,到达Web服务器。然后Web服务器将会向PC发送回应报文,这个报文也要穿过防火墙才能到达PC。在状态检测防火墙出现之前,包过滤防火墙还必须配置如下所示的规则2,允许反方向的报文通过。
在规则2中,目的端口也设定为任意端口,因为我们无法确定PC访问Web服务器时使用的源端口,要想使Web服务器回应的报文都能顺利穿过防火墙到达PC,只能将规则2中的目的端口设定为任意端口。
如果PC位于受保护的网络中,这样处理将会带来很大的安全问题。规则2将去往PC的目的端口全部开放,外部的恶意攻击者伪装成Web服务器,就可以畅通无阻地穿过防火墙,PC将会面临严重的安全风险。
接下来让我们看一下状态检测防火墙怎么解决这个问题。还是以上面的网络环境为例,首先我们还是需要在防火墙上设定规则1,允许PC访问Web服务器的报文通过。当报文到达防火墙后,防火墙允许报文通过,同时还会针对PC访问Web服务器的这个行为建立会话,会话中包含了PC发出的报文信息,如地址和端口等。
当web服务器给PC进行回报时,来到防火墙上,防火墙会将报文中的信息和会话表的信息进行性比对,如果,发现报文中的信息与会话表中的信息相匹配,并且,符合协议规范对后续报文的定义,则认为该数据包属于PC,可以允许该数据包通过。
1,会话表;2,状态检测
1.会话表
会话表本身也是基于5元组来区分流量,会话表在比对时,会通过计算HASH来比较五元组。因为HASH定长,所以,可以基于硬件进行处理,提高转发效率。
因为会话表中的记录只有在流量经过触发时才有意义,所以,如果记录长时间不被触发,则应该删除掉。即会话表中的记录应该存在老化时间。如果会话表中的记录被删除掉之后,相同五元组的流量再通过防火墙,则应该由其首包重新匹配安全策略,创建会话表,如果无法创建会话表,则将丢弃该数据流的数据。
-
如果会话表的老化时间过长:会造成系统资源的浪费,同时,有可能导致新的会话表项无法正常建立
-
如果会话表的老化时间过短:会导致一些需要长时间首发一次的报文连接被系统强行中断,影响业务的转发。
不同协议的会话表老化时间是不同
2.状态检测技术
状态检测主要检测协议逻辑上的后续报文,以及仅允许逻辑上的第一个报文通过后创建会话表。可以选择开启或者关闭该功能。
[USG6000V1]display firewall session table --- 查看会话表
[USG6000V1]display firewall session table verbose -- 查看会话表详情
数据通过防火墙的流程
四、ASPF–隐形通道
FTP协议是一个典型的多通道协议,在其工作过程中,FTP Client和FTP Server之间将会建立两条连接:控制连接和数据连接。控制连接用来传输FTP指令和参数,其中就包括建立数据连接所需要的信息;数据连接用来获取目录及传输数据。数据连接使用的端口号是在控制连接中临时协商的。
根据数据连接的发起方式FTP协议分为两种工作模式:主动模式(PORT模式)和被动模式(PASV模式)。主动模式中,FTP Server主动向FTP Client发起数据连接;被动模式中,FTP Server被动接收FTP Client发起的数据连接。
模式在一般的FTP客户端中都是可以设置的,主动模式的协议交互流程如下:
被动模式的协议交互流程如下:
ASPF — 针对应用层的包过滤 — 用来抓取多通道协议中协商端口的关键数据包,之后,将端口算出,将结果记录在sever-map表中,相当于开辟了一条隐形的通道。
记录临时协商的数据连接的表项称为Server-map表,这相当于在防火墙上开通了“隐形通道”,使得像FTP这样的特殊应用的报文可以正常转发。当然这个通道不是随意开的,是防火墙分析了报文的应用层信息之后,提前预测到后面报文的行为方式,所以才打开了这样的一个通道。
默认FTP协议开启了ASPF。
五、用户认证
防火墙管理员登录认证 — 检验身份的合法性,划分身份权限
用户认证 — 上网行为管理的一部分
- 用户,行为,流量 — 上网行为管理三要素
1.用户认证的分类
上网用户认证 — 三层认证 — 所有的跨网段的通信都可以属于上网行为。正对这些行为,我们希望将行为和产生行为的人进行绑定,所以,需要进行上网用户认证。
入网用户认证 — 二层认证 — 我们的设备在接入网络中,比如插入交换机或者接入wifi后,需要进行认证才能正常使用网络。
接入用户认证 — 远程接入 — VPN — 主要是校验身份的合法性的
2.认证方式
本地认证 — 用户信息在防火墙上,整个认证过程都在防火墙上执行
服务器认证 — 对接第三方服务器,防火墙将用户信息传递给服务器,之后,服务器将认证结果返回,防火墙执行对应的动作即可
单点登录 — 和第三方服务器认证类似。
认证域 — 可以决定认证的方式和组织结构
登录名 — 作为登录凭证使用,一个认证域下不能重复
显示名 — 显示名不能用来登录,只用来区分和标识不同的用户。如果使用登录名区分,则也可以不用写显示名。显示名可以重复。
账号过期时间 — 可以设定一个时间点到期,但是,如果到期前账号已登录,到期后,防火墙不会强制下线该用户。
允许多人同时使用该账号登录
- 私有用户 — 仅允许一个人使用,第二个人使用时,将顶替到原先的登录
- 公有用户— 允许多个人同时使用一个账户
IP/MAC绑定 — 用户和设备进行绑定(IP地址/MAC地址)
- 单向绑定 — 该用户只能在这个IP或者这个MAC或者这个IP/MAC下登录,但是,其他用户可以在该设备下登录
- 双向绑定 — 该用户只能在绑定设备下登录,并且该绑定设备也仅允许该用户登录。
安全组和用户组的区别 — 都可以被策略调用,但是,用户组在调用策略后,所有用户组成员
以及子用户组都会生效,而安全组仅组成员生效,子安全组不生效。
3.认证策略
Portal — 这是一种常见的认证方式。我们一般见到的网页认证就是portal认证。我们做上网认证,仅需要流量触发对应的服务时,弹出窗口,输入用户名和密码进行认证。
免认证 — 需要在IP/MAC双向绑定的情况下使用,则对应用户在对应设备上登录时,就可以选择免认证,不做认证。
匿名认证 — 和免认证的思路相似,认证动作越透明越好,选择匿名认证,则登录者不需要输入用户名和密码,直接使用IP地址作为其身份进行登录。
4.认证域
如果这里的上网方式选择protal认证,则认证策略里面也要选择portal认证。
如果这里的上网方式选择免认证或者单点登录,则认证策略中对应动作为免认证
如果认证策略中选择的是匿名认证,则不触发这里的认证动作。
不同的认证域之间是或的关系