几千个网站逐个加名单不现实?华为防火墙URL分类远程查询按类别放行

URL 过滤最原始的做法是加黑白名单,一条条手工敲。放到企业就露怯了——“研发部门只能查资料和用搜索引擎”,资料网站和门户成千上万,名单录不完。华为防火墙对此给的是另一套武器:URL 预定义分类。设备通过远程查询从华为的查询服务器获取 URL 与分类的对应关系,策略里只需写"教育/科学类放行、论坛类阻断",成千上万个网站按类别整批管住。

官方这个 Web 举例:DeviceA 作企业网关,内网分研发(10.1.1.0/24)和市场(10.1.2.0/24)两个部门。研发员工每天 09:00~17:00 只能访问教育/科学类、搜索/门户类网站;市场员工同一时段能多访问一个社会焦点类;其他网站一律阻断。

配置步骤(Web 界面)

第一步,配接口。选择"网络 > 接口":GE0/0/2 安全区域 trust、IP 地址 10.1.0.1/24;GE0/0/1 安全区域 untrust、IP 地址 1.1.1.1/24。

第二步,阻断加密 DNS 流量——浏览器的安全 DNS 属加密流量,默认不做 URL 过滤处理,堵住后浏览器会退回非加密 DNS 查询。先在"对象 > 服务 > 服务"新建 service_encrypted(UDP 目的端口 443、TCP 目的端口 443、TCP 目的端口 853,源端口均 0-65535),再在"策略 > 安全策略 > 安全策略"新建两条阻断策略:policy_deny_dot(目的地址 1.0.0.3/32;1.1.1.3/32;8.8.4.4/32;8.8.8.8/32,目的安全区域 untrust,服务 service_encrypted,动作禁止)、policy_deny_ech(应用 DNS_ECH;DNS_Over_HTTPS,动作禁止)。

第三步,配远程查询服务器。前提:激活 License 且在有效服务期内;配好 DNS(本例服务器地址 3.3.3.3)确保设备能解析 sec.huawei.com;在"对象 > 安全配置文件 > 全局配置"把国家选"中国",配好远程查询服务器参数。再放行设备访问调度中心的流量:新建自定义服务 service_sec_huawei_com(TCP 目的端口 443、TCP 目的端口 12612、UDP 目的端口 12600,源端口均 5000-65535),新建安全策略 policy_sec_huawei_com(源安全区域 local、目的安全区域 untrust、该服务、动作允许)。

第四步,配 URL 过滤配置文件。在"对象 > 安全配置文件 > URL过滤"新建 profile_url_research:加密流量过滤开启;Host 黑名单加 dns-tunnel-check.googlezip.net 和 tunnel.googlezip.net——Chrome 等浏览器的私有预取代理功能会借这两个域名加密封装请求导致过滤失效,拉黑即可关掉旁路;缺省动作允许;URL 过滤级别选"自定义":先把所有预定义分类设为"阻断",再把教育/科学类和搜索/门户类改为"允许"。同法新建 profile_url_marketing,放行分类多一个社会焦点类。配完单击右上角"提交"。

第五步,配时间段。在"对象 > 时间段"新建 time_range:周期时间段 09:00 到 17:00,每周一到周日全选。

第六步,配安全策略挂上配置文件。在"策略 > 安全策略 > 安全策略"新建 policy_sec_research:源安全区域 trust、目的安全区域 untrust、源地址 10.1.1.0/24、时间段 time_range、动作允许、内容安全引用 URL 过滤 profile_url_research;再新建 policy_sec_marketing:源地址 10.1.2.0/24,URL 过滤换 profile_url_marketing,其余相同。

配置脚本骨架如下(两个过滤配置文件的"其余分类全部阻断"为上百条 category 行,摘录首条示意,完整清单见官方配置脚本):

#
 dns resolve                                                                    
 dns server 3.3.3.3                                                            
#                                                                               
ip service-set service_sec_huawei_com type object                               
 service 0 protocol tcp source-port 5000 to 65535 destination-port 443              
 service 1 protocol tcp source-port 5000 to 65535 destination-port 12612           
 service 2 protocol udp source-port 5000 to 65535 destination-port 12600   
ip service-set service_encrypted type object
 service 0 protocol tcp source-port 0 to 65535 destination-port 443
 service 1 protocol tcp source-port 0 to 65535 destination-port 853
 service 2 protocol udp source-port 0 to 65535 destination-port 443
#                                                                               
 country CN                                                                     
#                                                                               
 time-range time_range 09:00 to 17:00 daily 
#
profile type url-filter name profile_url_research 
 https-filter enable
 add blacklist host dns-tunnel-check.googlezip.net
 add blacklist host tunnel.googlezip.net
 category pre-defined subcategory-id 101 action block
 category pre-defined subcategory-id 102 action block
 (此处省略其余 pre-defined 分类逐条 block 行)
#
security-policy
 rule name policy_deny_dot
  destination-address 1.0.0.3 mask 255.255.255.255
  destination-address 1.1.1.3 mask 255.255.255.255
  destination-address 8.8.4.4 mask 255.255.255.255
  destination-address 8.8.8.8 mask 255.255.255.255
  service service_encrypted
  action deny
 rule name policy_deny_ech
  application app DNS_ECH 
  application app DNS_Over_HTTPS
  action deny
 rule name policy_sec_huawei_com                                                
  source-zone local                                                             
  destination-zone untrust                                                      
  service service_sec_huawei_com                                                
  action permit                                                                 
 rule name policy_sec_research                                                  
  source-zone trust
  destination-zone untrust
  source-address 10.1.1.0 mask 255.255.255.0
  time-range time_range
  profile url-filter profile_url_research
  action permit
 rule name policy_sec_marketing
  source-zone trust
  destination-zone untrust
  source-address 10.1.2.0 mask 255.255.255.0
  time-range time_range
  profile url-filter profile_url_marketing
  action permit

验证

配置完成后分部门实测:研发部门在 09:00~17:00 访问教育/科学类、搜索/门户类网站正常,访问社会焦点类、论坛类等被阻断;市场部门多一个社会焦点类可访问,论坛类等被阻断。时段外策略不生效。

按类别管网站,管理量从"几万个域名"降到"十几个分类"。贵州诚鑫致达科技给客户配上网行为管控时,分类策略都按部门角色分开建配置文件。你们单位管员工上网用的什么办法?评论区聊聊。