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

1.3.6 应用和应用组

经过多年的发展,互联网已经渗透到工作和生活的方方面面,互联网上承载的服务已经发生了深刻的变化,丰富多彩的应用成为互联网的主流。面对层出不穷的应用,如何对其进行精细化管控,是管理员面临的最大问题,而管控的前提是首先识别出各类应用。

前一节提到,防火墙可以根据服务和服务组识别常用的应用协议。不过,识别服务依赖端口识别技术,其主要依据的是端口号,因此只能用于识别FTP、HTTP等基础协议。然而,大量应用承载在HTTP之上,仅识别出服务已经不能解决应用管控的问题了。

1. 业务感知技术

防火墙采用业务感知技术来精确识别应用。既然传统的端口识别技术只检测报文五元组信息,不能识别应用,那业务感知技术就费点力,继续检测报文的应用层数据。不同的应用软件发出的流量自有其特征,这些特征可能是特定的命令字或者特定的比特序列。这些特征就相当于应用软件的“指纹”,只要我们提取了能够唯一确认各种应用软件的指纹,建立一个指纹库,就可以用来跟流量进行比对。

华为安全能力中心采用业务感知技术,分析并提取大量互联网应用的流量特征,形成了超过6000种应用的特征库,分为5个大类57个小类。用户可以访问华为安全中心网站,在应用百科中查询当前的应用识别能力。在应用百科中,可以按照类别、子类别、标签、数据传输方式和风险级别筛选应用,也可以直接输入应用名称搜索。针对每一个应用,应用识别特征库还提供了多维度的描述信息,可以帮助用户制定有针对性的管控策略。

2. 预定义应用和应用组

应用识别特征库加载到防火墙上,即为预定义应用。互联网上新的应用层出不穷,已有应用的特征也会发生变化,所以必须定期升级应用识别特征库,才能够保证更好的识别效果。

应用组是应用的集合,是为了管理方便而引入的概念。用户可以为具有相同访问策略的应用创建一个应用组,并在安全策略中引用。以创建一个“网盘”应用组为例,可以选择基于列表添加应用,或者基于树结构添加应用,如图1-17所示。

图1-17 新建应用组

(1)基于列表添加应用

调出的界面如图1-18所示,用户可以根据类别、子类别、标签、数据传输方式和风险级别筛选应用,也可以直接输入应用名称来模糊查询。

图1-18 基于列表添加应用

(2)基于树结构添加应用

树结构是一种新的应用组织形式,如图1-19所示。用户可以直接按照应用类别和子类别的树形结构选择应用,也可以先按照标签/软件筛选出一类应用,再使用模糊搜索。

图1-19 基于树结构添加应用

3. 在安全策略中引用一组应用

在安全策略中引用一组应用是常规操作,可以根据应用类别、子类别、标签、软件、自定义的应用组来选择应用,其操作界面和操作方法与基于树结构向应用组中添加应用类似。唯一不同的是,在安全策略中,用户可以直接选择已经创建的应用组。

4. 在安全策略中引用单个应用

在安全策略中引用单个应用时,需要考虑该应用的依赖应用和关联应用。

依赖应用是该应用的底层应用,相应的,该应用为其依赖应用的上层应用。在应用识别过程中,防火墙首先识别出依赖应用,然后才能识别出上层应用。在安全策略检查过程中,防火墙首先根据依赖应用查找安全策略。仅当依赖应用匹配的安全策略动作为允许时,才会继续识别上层应用、根据上层应用查找安全策略。因此,当需要放行某个应用时,需要同步放行该应用的依赖应用。

关联应用是与该应用具有关联关系的其他应用,通常为同一个公司开发的多款相近应用。它们具有相近的流量特征,当需要阻断某个应用时,需要在安全策略中同步阻断关联应用,以确保该应用被完全阻断。

在安全策略中引用单个应用时,依赖应用和关联应用的同步配置要求如表1-19所示,请关注防火墙提供的提示信息。

表1-19 同步配置依赖应用和关联应用

图1-20以“允许访问百度网盘,并执行反病毒检查和文件过滤”为例,展示防火墙的提示信息和配置界面。在安全策略中,设置应用为“百度网盘”,动作为“允许”,反病毒和文件过滤配置文件选择默认配置文件“default”。在配置下发的时候,防火墙会校验配置,并提示用户选择依赖应用。

图1-20 选择依赖应用的提示信息

单击提示信息中的“配置”链接,可以看到百度网盘的依赖应用包括HTTP、HTTPS、SSL,如图1-21所示。选择所有依赖应用,安全策略配置可以正常下发。

图1-21 选择依赖应用

5. 策略未决

在安全策略中配置完成以后,需要向内容安全引擎发送流量进行应用识别。防火墙需要获取多个报文才能识别出应用。因此,在应用识别完成之前,防火墙不能确定命中的安全策略,即处于策略未决状态。防火墙会先根据首包匹配安全策略中应用以外的条件(主要是五元组),暂时放行流量并建立一条会话,其中应用信息保留为空。在应用识别完成后,重新匹配安全策略,并刷新会话信息。