防火墙安全策略之URL过滤与域名组

2023-12-14 11:29:32
一、URL过滤
1、URL过滤
1.1 简介

定义

URL过滤功能可以对用户访问的URL进行控制,允许或禁止用户访问某些网页资源,达到规范上网行为的目的。另外,对于指定URL分类的HTTP报文,FW可以修改报文中的DSCP字段,即DSCP优先级,从而便于其他网络设备根据修改后的DSCP优先级区分流量,对不同分类的URL流量采取差异化处理

目的

随着互联网应用的迅速发展,计算机网络在经济和生活的各个领域迅速普及,使得信息的获取、共享和传播更加方便,但同时也给企业带来了前所未有的威胁:

  • 员工在工作时间随意地访问与工作无关的网站,严重影响了工作效率
  • 员工随意访问非法或恶意的网站,造成公司机密信息泄露,甚至会带来病毒、木马和蠕虫等威胁攻击
  • 在内部网络拥堵时段,无法保证员工正常访问与工作相关的网站(如公司主页、搜索引擎等),影响工作效率

URL过滤技术可以根据不同的用户/组、时间段和安全区域等信息,对用户/组进行URL访问控制,达到精确管理用户上网行为的目的。同时,URL过滤技术还可以对不同URL分类的HTTP报文修改其DSCP优先级,以便于其他网络设备对不同分类的URL流量采取差异化处理

1.2?应用场景

URL过滤功能通常用于企业网关,精确管理用户使用HTTP或HTTPS访问网络资源的行为

FW作为企业网关部署在网络边界,当企业用户发起HTTP或HTTPS的URL请求时,通过URL过滤功能可以实现对用户的请求进行放行、告警或者阻断。如图1所示,使用URL过滤后:

  • 当用户访问合法的网站时,放行此请求,并选择是否重标记报文的DSCP优先级
  • 当用户访问非法的网站时,阻断此请求

URL过滤还可以通过引用时间段或用户/组等配置项,实现针对不同时间段或不同用户/组的请求进行放行或者阻断,达到更加精细化和准确化控制员工上网权限的需求

1.3 原理描述

URL格式

URL地址用来完整地描述Internet上的网页或者其他资源的地址

URL的一般格式为:“protocol://hostname[:port]/path[?query]”。各参数含义如表1所示

字段含义
protocol使用的应用协议,最常用的是HTTP或HTTPS协议
hostnameWeb服务器的域名或者IP地址
:port可选,通信端口。各种应用协议都有默认的端口号,如HTTP协议的默认端口为80、HTTPS协议的默认端口号为443。当Web服务器采用非默认端口时,URL中不能省略端口号
path由零个或多个“/”符号隔开的字符串,一般用来表示主机上的一个目录或文件地址
?query可选,用于给动态网页传递参数

例如,如图1所示,对于“http://www.example.com:8088/news/edu.aspx?name=tom&age=20”:

图1?URL格式介绍

URL匹配方式

URL匹配方式包括前缀匹配、后缀匹配、关键字匹配、精确匹配。

管理员可以在白名单、黑名单、自定义分类和预定义分类中配置URL规则和域名规则,其中URL规则的匹配范围是全部URL,域名规则的匹配范围只是域名(或者IP地址)部分。URL规则和域名规则支持相同的匹配方式,表1对几种匹配方式做了简单比较

匹配方式定义条目????????匹配结果
前缀匹配匹配所有以指定字符串开头的URLwww.example*

匹配所有以www.example开头的URL,如:

  • www.example.com
  • www.example.com/solutions.do
后缀匹配匹配所有以指定字符串结尾的URL*aspx

匹配所有以aspx结尾的URL,如:

  • www.example.com/news/solutions.aspx
  • www.example.com/it/price.aspx
  • 10.1.1.1/sports/abc.aspx
关键字匹配匹配所有包含指定字符串的URL*sport*

匹配所有包含sport的URL,如:

  • sports.example.com/news/solutions.aspx
  • sports.example.com/it/
  • 10.1.1.1/sports/
精确匹配首先判断URL和指定字符串是否匹配,如果未匹配,则去除URL的最后一个目录,再和指定字符串进行匹配;如果还未匹配,则继续去除URL的最后一个目录,再和指定字符串进行匹配。以此类推,直到用域名去匹配指定的字符串为止www.example.com

根据匹配规则,以下URL可以匹配

www.example.com

  • www.example.com
  • www.example.com/news
  • www.example.com/news/en/

以下URL不会匹配该条目:

  • www.example.com.cn/news
  • www.example.org/news/www.example.com

URL进行匹配时,不同的匹配方式存在如下优先级顺序,由高至低如下所示:

精确匹配 > 后缀匹配 > 前缀匹配 > 关键字匹配

例如,URL“www.example.com/news”同时符合以下条目,则查询结果以精确匹配条件“www.example.com/news”对应的URL分类为准

  • 精确匹配:www.example.com/news
  • 前缀匹配:www.example.com/*
  • 关键字匹配:*example*

在同一种匹配方式下,匹配规则越长优先级越高。例如以下条目均属于前缀匹配方式,则URL“www.example.com/news/index.html”会优先匹配“www.example.com/news/*”条目。

  • www.example.com/news/*
  • www.example.com/*

在同一种匹配方式下,如果匹配规则长度也相同,则最终以配置的动作模式为准。如表2所示,两个条目均属于“关键字匹配”方式,且匹配规则长度相同均为4。对于URL“www.example.com/welcome.html”来说:

  • 当动作模式为“严格模式”时,则最终查询结果以动作最为严格的URL分类为准,本例中为URL分类B,动作为阻断
  • 当动作模式为“松散模式”时,则最终查询结果以动作最为宽松的URL分类为准,本例中为URL分类A,动作为允许

表2?动作模式

条目URL分类控制动作
*.com*URL分类A允许
*html*URL分类B阻断

URL过滤方式

当用户的URL访问请求匹配到某条URL规则或域名规则后,FW会根据URL过滤方式对此URL访问请求作出相应的处理

FW提供基于黑白名单、URL分类查询、URL信誉和恶意URL的过滤方式,达到精确管理用户上网行为的目的

  • 黑白名单:FW将解析出的URL地址与黑白名单进行匹配,如果匹配白名单则允许该URL请求;如果匹配黑名单则阻断该URL请求,同时访问者的浏览器上会显示一个Web推送页面
  • URL分类查询:URL分类分为自定义分类和预定义分类,一个URL分类可以包含若干条URL,一条URL可以属于多个分类。设备提取URL信息后,优先进行自定义分类的查询。如果匹配自定义分类,则按照URL过滤配置文件中配置的响应动作进行处理。当控制动作为阻断时,FW将阻断该URL请求,同时访问者的浏览器上会显示一个Web推送页面

URL预定义分类查询分为两种方式:

  • 本地查询:设备初次上电时,已经将URL分类预置库加载到缓存里。当设备提取了URL信息后,首先会在缓存中查询该URL对应的分类。如果查询到URL分类,则按照URL过滤配置文件中配置的响应动作进行处理。当控制动作为阻断时,FW将阻断该URL请求,同时访问者的浏览器上会显示一个Web推送页面。如果查询不到,则到远程查询服务器上继续查询。如果远程查询服务器不可用,则按照缺省响应动作进行处理

  • 远程查询:远程查询服务器可以部署在广域网或本地网络中,提供更庞大的URL分类信息。当本地缓存中查询不到URL对应的分类时,设备将该URL送入远程查询服务器继续查询。如果查询到URL对应的分类,则按照URL过滤配置文件中配置的响应动作进行处理,并将该URL和其对应的分类信息保存到本地缓存中,以便下次快速查询。当控制动作为阻断时,FW将阻断该URL请求,同时访问者的浏览器上会显示一个Web推送页面。如果查询不到,则按照分类为“其他”的响应动作进行处理。如果在指定时间内没有返回任何分类信息,则按照超时动作进行处理。设备运行一段时间后,缓存的内容会不断更新,并以文件的形式保存到存储介质中。当设备重启后,系统会自动加载保存的缓存信息,减少远程分类服务器查询的过程

URL过滤的控制动作包括允许、告警和阻断,其严格程度依次增高

  • 允许:指允许用户访问请求的URL
  • 告警:指允许用户访问请求的URL,同时记录日志
  • 阻断:指阻断用户访问请求的URL,同时记录日志

当URL属于多个分类时,响应动作将按照动作模式执行

  • 严格模式:最终动作取所有命中分类中最严格的动作。例如URL属于2个分类,响应动作分别为“告警”和“阻断”,此时执行“阻断”
  • 松散模式:最终动作取所有命中分类中最宽松的动作。例如URL属于2个分类,响应动作分别为“告警”和“阻断”,此时执行“告警”

URL信誉

URL信誉反映了用户访问的URL是否值得信赖。FW可以利用远程查询服务获取URL的信誉值,并对低信誉的URL实施阻断。

FW可以利用URL信誉热点库和远程查询服务获取URL的信誉值

  • URL信誉热点库是由安全中心平台(sec.huawei.com)发布的,用来快速获取云端最新的URL信誉数据到本地,以便对不可信的URL进行及时阻断。URL信誉热点库只有在加载URL远程查询License和URL远程查询组件包后,相应的配置才会生效
  • 如果FW未启用URL信誉热点库升级功能,在本地查询不到URL信誉值时,可通过URL远程查询功能来获取最新的URL信誉值

恶意URL

恶意URL的来源有2个:

  • 反病毒功能反馈的恶意URL。

  • 在FW与沙箱联动场景下,沙箱反馈的恶意URL。

开启恶意URL检测功能后,URL过滤功能利用这些恶意URL信息即可对后续流量进行检测,提升设备的检测能力。如果解析出的URL地址匹配恶意URL,FW将阻断该URL请求,同时访问者的浏览器上会显示一个Web推送页面,推送信息可在FW上编辑

从实现效果上看,恶意URL和黑名单类似,二者的区别如下:

  • 黑名单需要手动配置,恶意URL不需要手动配置
  • 黑名单不存在超时时间,配置后一直生效。恶意URL存在超时时间,达到此时间后恶意URL会被自动删除
  • 黑名单配置信息存储在配置文件中,恶意URL信息存储在缓存中。当FW重启时,恶意URL缓存将被清空

在线查询URL分类

  • 如果在FW上查询不到某个URL的分类,可以通过在线查询的方式获取该URL的分类信息。当FW针对该URL进行远程查询时,相应的分类信息将被更新到本地URL分类库。这样可确保访问控制和行为审计等配置的准确性,防止错误地阻断或放行用户访问网站。

    在线查询URL分类的服务由华为安全中心(sec.huawei.com)提供。登录网站后,选择“客户支持?>?URL分类查询”。在页面显示的文本框中输入要查询的URL地址,即可查询出其所属的URL分类。如果您认为URL分类信息不准确,或者华为安全中心平台无法识别该URL地址所属的分类,您可以填写反馈信息,帮助我们更好地完善URL分类信息

1.4?URL过滤处理流程

介绍FW进行URL过滤的处理流程

在FW启用URL过滤功能的情况下,当用户通过FW使用HTTP或HTTPS访问某个网络资源时,FW将进行URL过滤。处理流程如图1所示:

图1?URL过滤处理流程图

1. 用户发起URL访问请求,如果数据流匹配了安全策略,且安全策略的动作为允许,则进行URL过滤处理流程

2.?FW检测HTTP报文是否异常

  • 如果HTTP报文异常,则阻断该请求
  • 如果HTTP报文正常,则进行下一步检测

3.?FW将URL信息与白名单进行匹配

  • 如果匹配白名单,则允许该请求通过
  • 如果未匹配白名单,则进行下一步检测

4.?FW将URL信息与黑名单进行匹配

  • 如果匹配黑名单,则阻断该请求
  • 如果未匹配黑名单,则进行下一步检测

5.?FW将URL信息与自定义分类进行匹配

  • 如果匹配自定义分类,则按照自定义URL分类的控制动作处理请求(管理员自行向预定义分类中添加的URL属于自定义分类的URL)
  • 如果未匹配自定义分类,则进行下一步检测

6.?FW将URL信息与恶意URL、低信誉URL进行匹配

  • 如果匹配恶意URL或低信誉URL,则阻断该请求
  • 如果未匹配恶意URL或低信誉URL,则进行下一步检测

7.?FW将URL信息与本地缓存中的预定义分类进行匹配

  • 如果在本地缓存中查询到对应的分类,则按照该分类的控制动作处理请求
  • 如果在本地缓存中没有查询到对应的分类,则进行远程查询
  • 如果远程查询服务器可用,则继续进行远程查询
  • 如果远程查询服务器不可用,则按照缺省动作处理请求

8.?启动远程查询

  • 如果远程查询服务器在设定的超时时间内没有返回结果,则按照管理员配置的“超时后动作”处理
  • 如果远程查询服务器上明确查询到该URL属于某个预定义分类,则按照该分类的控制动作处理
1.5?URL远程查询过程

介绍FW进行URL远程查询的过程:

当FW支持URL远程查询功能时,可以通过远程查询扩充本地的预定义URL分类库,便于下一次的快速查询

一般来说,URL远程查询由安全中心、调度服务器和查询服务器共同完成。各设备的作用如下:

  • 安全中心:安全中心的域名为sec.huawei.com,作用是对FW进行设备认证。如果认证通过,安全中心将根据FW所在的国家/地区信息,向FW提供该区域内的调度服务器地址和端口。和安全中心进行交互时,FW上需要配置安全策略放行相关流量,协议为TCP,目的端口为80

  • 调度服务器:调度服务器的作用是向FW提供区域内的查询服务器地址和端口。由于调度服务器是分区域部署的,所以FW上必须配置正确的国家/地区信息,否则无法成功获取到调度服务器的地址和端口,和调度服务器进行交互时,FW上需要配置安全策略放行相关流量,协议为TCP,目的端口为12612。

  • 查询服务器:查询服务器的作用是处理查询请求,并将查询结果返回给FW。查询服务器也是分区域部署的,且和调度服务器存在配套关系,即调度服务器只能向FW提供同一区域内的查询服务器地址和端口。和查询服务器进行交互时,FW上需要配置安全策略放行相关流量,协议为UDP,目的端口为12600

由以上内容可知,FW需要和Internet连接,才能与安全中心通信。而部分用户的FW不能与Internet连接,如果这部分用户需要获取URL远程查询功能,可以购买华为公司的产品SecoCenter,并部署在本地网络中。SecoCenter同时集成了调度服务器和查询服务器,相关介绍请参考对应的产品手册

按照服务器部署位置来划分,FW相应支持两种远程查询方式,分别为远程模式和本地模式

  • 远程模式下,FW与安全中心进行通信。调度服务器根据FW上配置的国家/地区信息,转发查询请求给该国家/地区内的查询服务器处理
  • 本地模式下,FW与SecoCenter进行通信,不会连接安全中心

远程模式下的大致交互过程如图1所示。如果是本地模式,将省略图1中和安全中心的交互过程

交互过程如下:

  1. FW向华为安全中心发起认证请求,并请求调度服务器的地址
  2. 认证通过后,华为安全中心根据FW的国家/地区信息,向FW提供该区域内的调度服务器地址和端口
  3. FW向调度服务器请求查询服务器的地址和端口
  4. 调度服务器确认FW的设备信息无误后,向FW提供查询服务器的地址和端口。一般来说,FW将收到多个查询服务器的地址和端口
  5. FW向所有查询服务器发起测速消息,并根据响应速度从中选出最优服务器,然后向该服务器请求URL分类信息
  6. 查询服务器反馈URL分类信息,FW将根据此分类信息继续进行URL过滤
2、使用限制和注意事项
2.1?HTTPS URL过滤的加密流量过滤功能使用限制

URL过滤功能只支持过滤HTTP或HTTPS协议的URL请求。当过滤HTTPS协议的URL请求时,还需要配置SSL加密流量检测功能或加密流量过滤功能。如果用户希望HTTPS URL过滤更精确,建议配置SSL加密流量检测功能,而加密流量过滤功能实现的URL过滤是基于域名级别,不够精确,即通过从客户端Client Hello报文的SNI(Server Name Indication)字段、服务器Certificate报文的CN(Common Name)和SAN(Subject Alternative Name)字段中获取用户访问的网站域名。如果用户使用加密流量过滤功能实现HTTPS URL过滤,请先阅读以下使用限制:

  • 在浏览器存在代理的情况下,当用户访问某些网站时,FW从客户端Client Hello报文的SNI字段、服务器Certificate报文的CN和SAN字段中提取的网站域名可能与实际网站的域名不匹配,这会导致URL过滤功能不生效。例如当用户通过手机的UC浏览器访问优酷网站时,URL过滤功能不生效,通过关闭手机UC浏览器的云加速功能可以解决
  • 当某些浏览器传输数据采用私有协议时,可能导致URL过滤功能不生效。例如谷歌浏览器默认使用私有协议QUIC(Quick UDP Internet Connection)进行数据传输,该协议使用专门的加密方式,FW不能解密,导致URL过滤无法过滤通过谷歌浏览器访问的HTTPS网站,通过配置安全策略将QUIC应用阻断可以解决
  • 当某些网站服务器通过相同的IP地址为多个域名提供服务时,SNI字段可能会包含多个域名,如果URL过滤黑名单只配置了其中一个域名,则无法阻断所有来自这个网站的流量。例如,用户通过HTTPS访问网站www.example.com,该网站可能有多个域名,例如1.example.com、2.example.com等,如果仅在URL过滤黑名单中配置1.example.com,则不能完全阻断这个网站的流量,通过在黑名单中配置一级域名*.example.com可以解决
  • 当一个证书中有多个URL(即多个网站使用一个证书)时,SAN字段可能会包含多个URL,如果其中一个URL被阻断,会导致这条流量都被阻断,其他的URL也访问不了
  • 如果将某个网站的域名加入URL过滤白名单,则不能保证该网站下的所有内嵌网页都正常访问。例如:当访问网站www.example.com时,如果只配置白名单为www.example.com,则该网站下不是以www.example.com为域名的内嵌网页均不能正常访问,通过将不是以www.example.com为域名的内嵌网页都加入白名单可以解决
  • 由于加密流量过滤功能是通过SSL握手报文实现URL过滤的,客户端尚未发起HTTP请求,因此不支持发送URL推送信息,通过配置SSL加密流量检测功能,可以发送URL推送信息
二、域名组
1、简介

介绍域名组的基本概念和使用场景

域名组是域名的集合,可以被多种类型的策略引用,策略包括安全策略、认证策略、带宽策略、策略路由、NAT策略和审计策略。域名组的工作原理如图1所示

假设FW已配置域名组“domain_group”,并包含域名成员“example.com”。并同时配置了带宽策略,在目的地址中使用域名组“domain_group”作为匹配条件

  1. 客户端访问域名“example.com”,发起DNS请求
  2. FW解析DNS服务器返回的应答报文,由于域名“example.com”匹配到已配置的域名组,于是记录该域名与IP地址的映射关系
  3. 客户端使用返回的IP地址进行数据访问,根据IP与域名的映射关系,该访问会命中带宽策略,并执行带宽通道的动作,如重标记DSCP优先级等
2、原理描述

介绍域名的匹配方式和匹配过程

2.1 匹配方式

域名匹配方式分为精确匹配和后缀匹配,表1对两种匹配方式做了简单比较。

匹配方式定义条目匹配结果
精确匹配和指定的字符串完全匹配的域名www.example.com

根据匹配规则,以下域名可以匹配该条目:

  • www.example.com

以下域名不会匹配该条目:

  • www.example.com.cn/news
  • www.example.org/news
后缀匹配匹配所有以指定字符串结尾的域名*.example.com

匹配所有以example.com结尾的域名,如:

  • www.example.com
  • test.example.com
  • test.abc.example.com

以下域名不会匹配该条目:

  • example.test.com
2.2?匹配过程

FW收到DNS报文后,会对其进行域名解析。在通过域名进行安全策略匹配时,会根据策略所引用的域名不同而匹配规则不同,具体如下:

  • 如果某安全策略只引用了精确域名或后缀域名,则FW只能通过对DNS报文的域名进行精确匹配或后缀匹配的方式来匹配该策略
  • 如果某安全策略同时引用了精确域名和后缀域名,则FW对DNS报文的域名分别进行精确匹配和后缀匹配,只要有一个匹配成功,则成功匹配该策略的域名

例如,某DNS报文解析后域名为www.example.test.com,若配置的某条安全策略policy1引用域名时分别存在三种情况及对应的策略匹配结果如下表所示

DNS报文域名policy1引用的域名域名匹配结果
www.example.test.com

精确域名:

www.example.com

匹配失败

后缀域名:

*.test.com

匹配成功

精确域名和后缀域名:

  • www.example.com
  • *.test.com
匹配成功

对于后缀匹配,存在以下几点要求:

  • 配置域名只支持*通配符,且域名只支持*.X.X格式
  • DNS请求和应答报文必须经过FW,否则FW无法学习*.X.X相关的域名和IP地址对应关系。
2.3?使用限制和注意事项

配置域名组之前请先阅读使用限制

  • 学习域名和IP地址的对应关系有两种方式:
  1. DNS请求报文经过FW
  2. 在FW上配置DNS服务器,FW主动发起DNS请求刷新域名和IP地址的对应关系

虚拟系统下仅支持DNS请求报文经过FW来学习域名和IP地址的对应关系,不支持配置DNS服务器,因此FW在虚拟系统下不会主动发起DNS请求刷新域名和IP地址的对应关系

  • 以下两种情况,在使用域名组作为匹配条件前,需要在FW上配置DNS服务器(与PC端配置的DNS服务器一致),以便FW和PC端学习到的域名和IP地址的对应关系一致:
  1. 当DNS报文不经过FW时,FW无法记录域名和IP地址的对应关系
  2. 当FW进行了重启操作时,由于PC端已经有DNS记录,PC端不会重新发起DNS请求,导致FW学习不到DNS记录

对于以上两种情况,虚拟系统下由于不支持配置DNS服务器,因此FW不会主动发起DNS请求刷新虚拟系统下域名和IP地址的对应关系,导致虚拟系统下引用域名组的策略失效

  • 域名组不支持IPv6
  • 域名组仅支持解析A类型的DNS应答报文,不支持解析其他类型的DNS应答报文,例如对于CNAME类型(表示当前域名存在多种别名),当配置域名组作为策略的匹配条件时,在域名解析的过程中,如果DNS服务器返回的DNS应答报文是CNAME类型,域名无法解析出IP地址,导致无法命中该策略。此时建议将当前域名的所有别名都加入域名组,并在策略中引用,使域名可以解析出IP地址,保证策略可以命中
  • 对域名组中的域名进行解析时,设备发送的DNS请求报文源地址为报文出接口IP地址。因此,为了FW可以收到响应报文并学习到域名对应的IP地址,需要保证报文出接口与DNS服务器之间路由可达
3、维护域名组
display domain-set?{?verbose?domain-set-name?[?domain?domain-name?] |?all?}? ? //可以查看域名组的具体信息
三、总结

区别:

  • URL过滤提供更精细的控制,可以基于具体的URL路径进行过滤。域名组则更注重整体管理,适用于一组域名需要相同策略的情况
  • URL过滤通常需要管理员指定每个要过滤的URL。域名组允许将多个相关域名组织在一起,使管理更加简便

应用场景:

  • 在实际应用中,这两者可以结合使用。例如,可以使用域名组来管理一组相关的域名,并在需要更精细控制的情况下,通过URL过滤来指定具体的URL策略
  • 使用域名组的主要优势是更容易维护和更新,尤其在有大量相关域名的情况下
  • 如果只是使用域名作为对象,只是单纯的做域名与IP之间的映射关系,那么域名组的形式会更加适合,那如果是域名的后面还跟着目录,比如www.xxxx.com/aaa.htmc/,那这样子的话URL效果会更好些

那么本篇文章就到这里结束了,谢谢各位帅哥靓女!

文章来源:https://blog.csdn.net/zljszn/article/details/134870567
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。