1.3 在安全策略中应用对象
在防火墙产品中,不仅配置安全策略会使用IP地址、服务等作为匹配条件,配置NAT(Network Address Translation,网络地址转换)策略、代理策略、认证策略、策略路由等,都会使用它们。为了简化配置操作,华为防火墙产品中引入了“对象”的概念。对象是通用元素(如IP地址、服务、应用等)的集合。创建了集合形式的对象,用户就可以在各种业务策略中直接引用该对象,而不需要一次次重复输入或选择。当需要修改多个业务策略的适用范围时,只需要修改其引用的对象,就可以快速完成多个策略的调整。使用对象,可以显著降低管理成本,提高维护效率。
1.3.1 地址对象和地址组
IP地址是最常用的安全策略匹配条件,地址对象和地址组是最广泛使用的对象。通常,在创建对象时,要将具有相同特征、需要相同访问权限的对象加入同一个集合。例如,所有的数据库服务器部署在同一个安全区域、占用一个连续的IP地址段,则可以将这个IP地址段加入一个地址对象,并在安全策略中引用此地址对象。
1. 地址对象
地址对象是地址的集合,可以包含一个或多个IPv4地址、IPv6地址、MAC(Medium Access Control,介质访问控制)地址。地址对象可以被各种业务策略直接引用,也可以加入一个或多个地址组中。
# 创建一个名为“Research_Dept”的地址对象,并指定起止范围。
ip address-set Research_Dept type object //object表示地址对象 address 10 range 192.168.1.1 192.168.1.120 //指定IPv4地址段的起止地址
使用起止地址指定地址对象范围是最常用的做法。用户也可以使用通配符或掩码、掩码长度来指定地址范围。
# 使用通配符指定地址范围。通配符为点分十进制,其二进制形式中的“0”位是匹配值,“1”位表示不需要关注。例如,192.168.1.1/0.0.0.255表示所有“192.168.1.*”形式的地址。
ip address-set Research_Dept type object address 11 192.168.1.1 0.0.0.255 //使用通配符指定地址范围
# 使用掩码指定地址范围。掩码为点分十进制,其二进制形式中的“1”位是匹配值,“0”位表示不需要关注。例如,192.168.1.1/255.255.255.0表示所有“192.168.1.*”形式的地址。
ip address-set Research_Dept type object address 11 192.168.1.1 mask 255.255.255.0 //使用掩码指定地址范围
# 使用掩码长度指定地址范围。
ip address-set Research_Dept type object address 11 192.168.1.1 mask 24 //使用掩码长度指定地址范围
在地址对象中添加MAC地址时,其格式可以为XXXX-XXXX-XXXX、XX:XX:XX:XX:XX:XX或XX-XX-XX-XX-XX-XX(其中X是1位十六进制数)。
ip address-set Research_Dept type object address 12 68-05-CA-90-A1-C9
2. 地址组
地址组也是地址的集合。跟地址对象不同的是,地址组中不仅可以添加各种地址,也可以添加地址对象、地址组。这样,就可以更加方便地管理各种地址对象和地址组。
向地址组中添加地址的操作,跟向地址对象中添加地址的方法是一样的。下面重点介绍如何向地址组中添加地址对象和地址组。
ip address-set R&D_Dept type group //group表示地址组 address address-set Research_Dept //将地址对象Research_Dept加入地址组R&D_Dept address address-set Test_Dept ip address-set Product type group address address-set R&D_Dept //将地址组R&D_Dept加入地址组Product
3. 在安全策略中应用地址组
下面以禁止研发部R&D_Dept访问DMZ的财务服务为例,展示地址组的应用方法。
security-policy rule name “Deny R&D_Dept to Finance” source-zone trust destination-zone dmz source-address address-set R&D_Dept //以地址组方式指定源地址 service FinanceService //自定义的财务服务 action deny
4. 地址排除
在安全策略中应用地址组的时候,还可以根据业务需要,排除该地址组中的某些特殊IP地址。以禁止研发部访问DMZ的财务服务为例,地址组R&D_Dept(192.168.1.1/24)中的192.168.1.66不受此安全策略控制,则可以在前述配置中排除该IP地址。
security-policy rule name “Deny R&D_Dept to Finance” source-zone trust destination-zone dmz source-address address-set R&D_Dept //以地址集方式指定源地址(192.168.1.1/24) source-address-exclude 192.168.1.66 32 //排除此地址 service FinanceService //自定义财务服务 action deny
1.3.2 地区和地区组
地区是公网IP地址在地理位置上的映射,地区组是地区的集合,因此,地区和地区组在本质上是IP地址组。使用地区和地区组,可以根据地理位置配置安全策略。例如,某企业对外提供Web服务,出于安全考虑,不允许A国家的用户访问。此时,可以配置源地址为“A国家”、动作为“禁止”的安全策略,禁止A国家的用户访问该Web服务。
为了简化用户操作,华为防火墙提供了地区识别特征库,即预定义地区。目前,国内的预定义地区支持到省和城市级别,国外支持到国家(地区)级别。
地区识别特征库是按照国家(地区)划分的IP地址组,由华为收集和维护,可以通过升级中心定期更新或者手动更新。由于地区识别特征库的更新有一定的滞后性,防火墙还提供了3种自定义配置手段。自定义配置的优先级高于预定义地区。
自定义地区: 手动创建新的地区,并指定符合条件的IP地址。
向预定义地区中添加IP地址: 当发现某地区中缺少某IP地址时,可以向预定义地区中添加。
排除预定义地区中的IP地址: 当发现某地区中的IP地址归属错误时,可以将该地址加入正确的地区或者未知区域,以排除该地址。
1. 自定义地区
自定义地区是孤立的,跟预定义地区没有归属关系。私网IP地址用于本地局域网,不属于任何地理意义上的国家(地区),默认归属为“未知区域”。如果需要从地区维度来管理和展示本地局域网的业务,可以为局域网的私网IP地址创建自定义地区。
# 创建自定义地区HangZhouBranch,并添加本地局域网地址段。
location geo-location user-defined HangZhouBranch description Hangzhou branch add address 10.10.1.0 mask 24
2. 向预定义地区中添加IP地址
IP地址的缺失可能会影响正常的业务访问。例如,管理员配置了允许A地区访问Web服务的安全策略,结果A地区的某个PC无法访问Web服务。如果安全策略配置正确,说明此PC的IP地址错误地划入了其他地区,此时可以将此IP地址加入A地区。
# 在预定义地区HangZhou中添加IP地址段10.20.20.20~10.20.20.30。
location geo-location pre-defined HangZhou add address range 10.20.20.20 10.20.20.30
3. 排除预定义地区中的IP地址
排除IP地址是通过在其他地区中添加IP地址来实现的,不能通过命令在当前地区中直接删除IP地址。如果用户清楚这些IP地址所属的真实地区,可以参照上一步,将这些IP地址添加到对应地区。如果不清楚,可以将这些IP地址添加到“未知区域”。
# 排除预定义地区HangZhou中的IP地址段10.10.10.1~10.10.10.20到未知区域。
location geo-location pre-defined unknown-zone add address range 10.10.10.1 10.10.10.20
4. 在安全策略中应用地区组
下面以禁止某些国家(地区)访问DMZ的HTTPS服务为例,展示地区组的应用方法。
# 创建地区组Five。在命令行中添加国家(地区)时可以使用ISO标准定义的两位国家(地区)代码,或者直接输入国家(地区)名称。
location geo-location-set Five add geo-location AU //以两位国家(地区)代码形式添加 add geo-location CA add geo-location NewZealand //直接输入国家(地区)名称,注意大小写并去掉空格 add geo-location UnitedKingdom add geo-location UnitedStates
由于国家(地区)很多,且命令行严格限制了国家(地区)的输入规范,使用命令行配置地区组不方便,推荐在Web界面上操作,如图1-13所示。在“可选”区域的搜索框输入国家(地区)名,可以快速定位并选择该国家(地区)。

图1-13 新建地区组
# 配置安全策略,禁止源地址为Five的流量访问HTTPS服务。
security-policy rule name “Deny Five” source-zone untrust destination-zone dmz source-address geo-location Five //以地区组方式指定源地址 service protocol https action deny
1.3.3 域名组
顾名思义,域名组是域名的集合。域名组的本质也是IP地址组。
在动态网络环境中,IP地址不断变化,网络管理员很难及时跟踪到IP地址的变化并更新安全策略。在这种情况下,可以使用域名组代替IP地址,作为安全策略的匹配条件。常见的场景如下。
① 放行或阻断所有去往指定域名的流量。例如,数据中心的Web服务器www.example.com要访问图片服务器img.hi4example.com。
② 阻断去往某个指定域名的流量,但是放行去往其子域名的流量。例如,禁止员工访问salesforce.com,但是允许访问公司站点huawei.my.salesforce.com。
③ 禁止员工访问外网,但是允许软件自动更新。例如,Windows系统要经常从WSUS(Windows Server Update Services,Windows Server更新服务)服务器下载补丁,杀毒软件要定期更新病毒库。
1. 域名组的工作原理
客户端以域名形式访问指定服务,首先需要向DNS服务器发起DNS请求。防火墙从DNS服务器的响应报文中解析出域名和IP地址的映射关系,确认该域名归属于某域名组,并记录到域名映射表中。在客户端向服务器发起业务访问时,防火墙根据域名映射表检查安全策略。在这种场景下,客户端的DNS请求报文必须经过防火墙,如图1-14所示。

图1-14 域名组的基本原理
如果客户端的DNS请求不经过防火墙,防火墙无法从DNS响应报文中解析域名和IP地址的映射关系。此时,需要在防火墙上配置DNS服务器,由防火墙主动发起DNS请求来获得域名映射关系。当TTL小于7分钟时,防火墙每隔3分钟主动发起一次DNS请求,以刷新域名映射表。受地理位置、时区、负载均衡配置等的影响,不同DNS服务器的域名解析结果可能不同。因此,在防火墙上配置的DNS服务器,必须与客户端使用的DNS服务器保持一致。
域名映射表存储在防火墙的内存中,当防火墙重启时,会清空域名映射表。此时,客户端已经记录了DNS缓存,不会再次发起DNS请求,防火墙也就不能再次获得域名映射表。在这种情况下,也需要在防火墙上配置DNS服务器。
考虑到防火墙重启的可能性,不管客户端DNS请求是否经过防火墙,都建议在防火墙上配置DNS服务器。
2. 域名组的配置方法
以Windows系统更新场景为例,域名组的完整配置包括3个步骤。
步骤一,配置域名组。Windows系统更新使用的域名较多,具体请以微软官方文档为准,此处仅为示例,不保证域名列表完整。
system-view domain-set name WindowsUpdate description WindowsUpdate add domain windowsupdate.microsoft.com add domain *.windowsupdate.microsoft.com add domain *.update.microsoft.com add domain *.windowsupdate.com add domain download.microsoft.com add domain wustat.windows.com
域名组中添加的域名信息,可以是具体的域名(download.example.com),也可以使用通配符(*.example.com)。以下域名都可以匹配*.example.com。
- www.example.com
- news.example.com
- www.news.example.com
如果使用通配符,最多只能包含1个“*”且必须以“*”开头,其格式只能是表1-16支持的类型。
表1-16 使用通配符的域名格式

步骤二,在防火墙上配置DNS服务器,该DNS服务器必须与客户端使用的DNS服务器保持一致,此处以114DNS为例。
system-view dns resolve dns server 114.114.114.114 dns server 114.114.115.115
步骤三,在安全策略中引用域名组的配置如下。注意,请务必为DNS请求报文配置安全策略。
security-policy rule name “Allow Windows update” source-zone trust destination-zone untrust source-address 10.1.1.10 24 destinatoin-address domain-set WindowsUpdate //引用已创建的域名组 action permit rule-name “Allow DNS” source-zone trust //允许客户端DNS请求经过防火墙 source-zone local //允许防火墙发送DNS请求报文 destination-zone untrust //DNS服务器所在区域 destination-address address-set 114DNS //目的地址是114DNS的地址 service dns action permit
配置完成后,从客户端ping域名组中的域名,触发DNS解析,然后使用 display domain-set verbose domain-name 命令查看解析出来的IP地址。
<sysname> display domain-set verbose WindowsUpdate Domain-set: WindowsUpdate
Description: WindowsUpdate
Reference number(s): 1
Item number(s): 6
Item(s):
Domain: windowsupdate.microsoft.com
ID : 0
Total IP Address:1
IP Address: 52.185.71.28
TTL : 38400 seconds
Left Time : 38400 seconds
Hit Times : 1
Domain: *.windowsupdate.microsoft.com
ID : 1
Total IP Address: 0
Domain: *.update.microsoft.com
ID : 2
Total IP Address: 0
Domain: *.windowsupdate.com
ID : 3
Total IP Address: 0
Domain: download.microsoft.com
ID : 4
Total IP Address: 0
Domain: wustat.windows.com
ID : 5
Total IP Address: 0
3. 域名解析失败的常见原因
域名解析失败的常见原因如下。
① 客户端的DNS请求不经过防火墙。请在防火墙上配置相同的DNS服务器。
② 客户端已有DNS缓存,未主动发起DNS请求。请在客户端或者防火墙上清除DNS缓存,命令如下:Windows客户端上的命令为ipconfig/flushdns;防火墙上的命令为reset dns dynamic-host。
③ 客户端的Hosts文件中配置了本地域名解析。请删除本地域名。
④ 域名组中指定的域名为别名。早期版本的防火墙仅支持type A,当域名组中使用别名时,DNS响应报文为type CNAME,防火墙不能解析出最终的IP地址。最新版本的防火墙同时支持type A和type CNAME,请将防火墙升级到最新版本。
1.3.4 用户和用户组
用户是访问网络资源的主体,表示“谁”在进行访问,是网络访问行为的重要标识,自然也是防火墙进行网络访问控制的重要维度。
在防火墙上部署用户管理与认证,可以将网络流量的IP地址识别为用户,并将用户与IP地址的对应关系记录在在线用户表中。基于用户配置安全策略,本质上就是针对该用户对应的IP地址应用安全策略。基于用户的安全策略可以提高访问控制的易用性和准确性:用户和用户组反映了真实的组织结构,基于用户的访问控制符合真实的业务需求,易于理解,提高了策略的易用性;在线用户表记录了用户当前登录状态下使用的IP地址,避免了IP地址动态变化场景下的访问控制问题,以不变的用户应对变化的IP地址。
1. 用户组织结构
防火墙中的用户组织结构是现实中的组织结构的映射,是基于用户进行访问控制的基础。用户组织结构有两种维度,体现为两种用户对象,如表1-17所示。
表1-17 两种用户组织结构

用户组/用户是“纵向”的组织结构,体现了用户的所属关系;安全组是“横向”的逻辑结构,体现了安全等级和业务访问权限。安全组有两种典型的应用场景:基于项目维度,组建跨部门的群组,可以把不同部门的用户划分到同一个安全组,从新的管理维度来设置访问控制策略;企业已经采用第三方认证服务器,且启用了横向群组(如AD服务器上的安全组、SUN ONE LDAP服务器上的静态组和动态组),为了基于这些群组配置策略,管理员需要创建安全组,与认证服务器上的组织结构保持一致。
有关用户组/用户、安全组的具体原理和配置方法,请参考产品文档。
2. 在安全策略中引用用户组/用户、安全组
在安全策略中引用用户组/用户、安全组作为安全策略的匹配条件,用户获得的访问权限是其所属用户组和安全组的权限的并集。值得注意的是,在安全策略中引用用户组/用户和安全组,组内用户的策略继承关系略有区别。
用户组/用户: 用户组内的直属用户、所有下级子用户组内的用户都继承该用户组的安全策略和访问权限。
安全组: 只有安全组内的直属用户继承该安全组的安全策略和访问权限,安全组内的子安全组的用户不继承上级安全组的安全策略和访问权限。
但是,当需要为某个用户组/用户配置继承策略之外的特殊权限时,用户组/用户策略的继承关系将失去意义。以图1-15为例,假设“研发部”所有员工都拥有相同的基础权限(资源A),同时“研发1部”还拥有特有权限(资源B)。

图1-15 用户组的权限继承关系与特殊需求
在这个场景中,针对研发部的基础权限,需要配置1条安全策略A,允许研发部员工访问资源A。那么针对研发1部的特有权限,这条安全策略B应该怎么配置呢?
首先,根据安全策略的匹配规则,针对研发1部的安全策略B必须置于安全策略A之前。否则,研发1部用户的访问请求会命中安全策略A,并不再继续向下匹配,因此只能获得访问资源A的权限。
其次,安全策略B中必须同时指定资源A和资源B。同样是因为安全策略的匹配规则,研发1部用户的访问请求命中安全策略B,并不再向下匹配,只能获得安全策略B指定的访问权限。也就是说,在这种场景下,子组无法继承父组的访问权限。
正确的安全策略配置方法如表1-18所示。
表1-18 安全策略配置方法

1.3.5 服务和服务组
服务是一个或多个应用协议的集合,由协议类型、源端口、目的端口等信息来指定。服务组是服务的集合,服务组的成员可以是服务,也可以是服务组。
防火墙可以根据服务和服务组识别常用的应用协议。如果数据流量的协议类型和端口号符合服务的条件,就会被认为是指定应用协议的流量。在安全策略中,指定服务或服务组是非常常见和必要的。
1. 自定义服务
防火墙默认提供了常见的服务,即预定义服务,例如HTTP、FTP、Telnet、DNS等。在现实网络中,如果协议使用端口与预定义服务的端口不同,需要创建自定义服务。例如,预定义服务ILS(Internet Locator Server,互联网定位器服务器)的端口号为1002,但是某些旧版软件可能使用端口389来接收ILS报文。此时,用户需要自定义一个端口号为389的服务,才能在安全策略中引用。
system-view ip service-set new_ils type object //object表示自定义服务 service protocol tcp destination-port 389 //以目的端口指定ILS服务
对于TCP、UDP和SCTP(Stream Control Transmission Protocol,流控制传输协议)服务,可以通过源端口和目的端口来定义,通常只定义目的端口即可。
对于ICMP和ICMPv6服务,需要使用类型号和消息码来定义。ICMP服务常用于ping和Tracert,一般直接使用预定义的ICMP服务即可。但是,ICMP服务也经常被攻击者用来窥测网络或建立隐蔽通道。因此,如果用户对安全性有更高的要求,可以自定义服务,仅开放特定类型的ICMP报文。
以ping为例,如图1-16所示,ping需要使用两种类型的ICMP报文:Echo Request(Type 8)和Echo Reply(Type 0)。源端连续发送几个Echo Request报文,目的端收到之后,回送响应报文Echo Reply报文。如果在超时时间之内,响应报文到达源端,说明目的端可达。防火墙收到源端发出的Echo Request报文后,创建会话并转发报文,目的端返回的Echo Reply报文命中会话表转发。

图1-16 ping的基本工作原理
在这种情况下,用户可以自定义一个ICMP Echo Request服务,用于安全策略。关于ICMP类型和消息代码更详细的说明可以参考RFC792。
system-view ip service-set ICMP_Echo_Request type object service protocol icmp icmp-type 8 //自定义ICMP type 8
trust区域的PC要ping untrust区域的交换机,安全策略配置如下。
security-policy rule name “Allow Ping” source-zone trust destination-zone untrust source-address 10.1.1.10 24 destinatoin-address 10.1.2.10 24 service ICMP_Echo_Request action permit
2. 配置服务组
服务组中可以添加预定义服务(动态端口除外)和自定义服务,也可以添加服务组,其配置命令相同。
system-view ip service-set MgtProt4 type group //group表示自定义服务组 service service-set ftp //添加预定义服务 service service-set ICMP_Echo_Request //添加自定义服务 ip service-set MgtProt type group service service-set MgtProt4 //添加服务组
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. 策略未决
在安全策略中配置完成以后,需要向内容安全引擎发送流量进行应用识别。防火墙需要获取多个报文才能识别出应用。因此,在应用识别完成之前,防火墙不能确定命中的安全策略,即处于策略未决状态。防火墙会先根据首包匹配安全策略中应用以外的条件(主要是五元组),暂时放行流量并建立一条会话,其中应用信息保留为空。在应用识别完成后,重新匹配安全策略,并刷新会话信息。
1.3.7 URL分类
URL分类是根据网页内容划分URL地址类型的结果。华为采用机器学习和人工智能技术,扫描海量网页内容,划分URL地址类型。利用URL分类,可以控制用户的上网行为。
方法 1:在安全策略中添加URL过滤配置文件,可以利用URL分类、URL黑白名单等功能,精确地控制网站访问。关于URL过滤的详细内容,请参考产品文档。
方法2: 在安全策略中应用URL分类,实现简单的、基于URL分类的访问控制。在安全策略中应用URL分类以后,可以基于URL分类指定内容安全配置文件。例如,只为访问高风险URL分类的流量附加反病毒检查和文件过滤。
下面展示两个在安全策略中应用URL分类的配置实例。
场景1:限制访问特定类型的网站。
假设防火墙上已经配置了一条安全策略inside-out,允许所有人访问互联网,未做任何限制,如图1-22所示。

图1-22 初始安全策略
现在要禁止公司员工在工作期间访问社交网络和求职招聘类的网站。用户可以复制安全策略inside-out,修改其名称,指定URL分类,并将动作修改为禁止,如图1-23所示。

图1-23 复制并修改安全策略
复制完成后,需要把inside-out-exclude调整到inside-out前面,如图1-24所示。

图1-24 调整安全策略的顺序
场景2:仅特定员工可以访问特定类型的网站。
根据某公司的信息安全政策,普通员工可以访问常用网站,并使用URL配置文件设置了详细的访问控制。同时,为了工作需要,允许IT员工访问IT相关网站。在这个场景中,用户需要配置两条安全策略,如图1-25所示。

图1-25 特定访问需求
策略1:允许IT员工(用户it)访问URL分类为“IT相关”的网站。
策略2:允许普通员工(不指定用户)访问常用网站。常用网站的范围由内容安全部分的URL过滤配置文件指定,其中不包含“IT相关”URL分类。
注意策略1必须位于策略2的前面。因为安全策略是按照顺序从上向下依次匹配的,当IT员工试图访问IT相关网站时,命中策略1并被允许访问。当其他员工(普通员工)试图访问IT相关网站时,命中策略2,并继续检查URL过滤配置文件。因为允许访问的常用网站范围中不包含“IT相关”URL分类,其他员工的访问请求被阻断。
防火墙需要先识别出HTTP应用,再识别URL分类,然后才能将识别结果反馈给安全策略模块去匹配。在识别出URL分类之前,此安全策略处于未决状态。防火墙会先根据URL分类以外的匹配条件建立一个会话,放行流量并继续检测。识别出URL分类之后,流量重新匹配安全策略。对于采用HTTPS的网站,需要配合SSL解密功能使用。