URL过滤配了加密流量全漏管?华为防火墙SSL解密把HTTPS网址看清楚
不少管理员有过这样的困惑:防火墙上 URL 过滤配得明明白白,黑名单白名单一条条列好,可员工照样能打开不该上的网站,策略像是纸糊的。原因其实不复杂——今天九成以上的网页访问走 HTTPS,URL 就裹在加密报文里,设备根本看不见;再叠加 QUIC 协议、加密 DNS、浏览器 ECH 选项这些"帮浏览器藏域名"的新机制,传统 URL 过滤的可见性被一层层绕开。
要管到 HTTPS 里的具体网址,华为防火墙的正规做法是配 SSL 加密流量检测做解密,把域名和 URL 提出来交给 URL 过滤引擎;同时对解密不了的 QUIC 和加密 DNS 流量直接阻断,逼浏览器回落到能被检测的 HTTPS 和明文 DNS 上。整个方案的配套动作不少,逐项过一遍。
第一步:先把绕行的路堵死
选择"策略 > 安全策略 > 安全策略",新建阻断 QUIC 的安全策略。预定义协议里没有 QUIC,需要在策略创建界面配置"协议"时选择"添加协议或协议号",协议选 UDP、目的端口 443。
加密 DNS 同理要阻断:设备不支持对加密类 DNS 流量做 URL 过滤,要实现基于域名的管控就得禁止加密 DNS。端口对照是——TCP 443 对应 DNS over HTTPS(DoH),TCP 853 对应 DNS over TLS(DoT),UDP 853 对应 DNS over QUIC(DoQ),UDP 443 对应 DNS over HTTP3。策略目的地址配常见 DNS 服务器的 IP(如 1.0.0.1、1.1.1.1、8.8.8.8 等),按实际环境增删。
还要阻断 ECH 选项报文。浏览器开启 ECH(Encrypted Client Hello)后,TLS 握手的 Client Hello 被加密,设备从 SNI 字段提取的域名与实际访问不一致,URL 过滤就不生效——要么在浏览器里禁用 ECH 选项,要么在设备上用安全策略阻断 DNS 的 ECH 报文。设备上查不到 DNS_ECH 应用时,把业务感知特征库升到最新版本。
第二步:SSL 解密证书准备
选择"对象 > 证书 > CA证书"上传企业信任的证书颁发机构 CA 证书。设备默认已存 100 多个常见服务器 CA 证书,一般够用;个别校验不过的对端证书再单独导入。
然后在"对象 > 证书 > SSL解密证书"的"服务器CA证书"页签,把导入的证书指定为服务器 CA 证书;再进"SSL解密证书"页签新建解密证书,下载后分发给内网用户,安装在 PC 的受信任的根证书颁发机构里。不装这个证书不影响解密本身,但用户浏览器会弹服务器证书不受信任的告警,个别应用还会直接断连,所以建议统一推送安装。
第三步:检测策略与 URL 过滤
选择"策略 > 加密流量检测 > 检测配置文件"和"检测策略",分别新建,让 trust 到 untrust 方向的 HTTPS 流量进入解密。注意 V600R024C10 及之前版本,SSL 加密流量检测仅支持通过 CLI 配置。
再打开界面右上角的 CLI 控制台,补两条只能命令行下发的功能:
<DeviceA> system-view
[DeviceA] decoder HTTP2 enable
[DeviceA] undo decoding fast-forward protocol dns
decoder HTTP2 enable 开启 HTTP/2 协议解码,才能对 HTTP/2 报文做精细化过滤;undo decoding fast-forward protocol dns 关闭 DNS 协议快速转发,防止部分 DNS 流量绕过 URL 过滤和 DNS 过滤处理。
接着选"对象 > 安全配置文件 > URL过滤"新建配置文件:开启"加密流量过滤"即可对 HTTPS 请求做域名级过滤;级别设为"中级",阻断成人网站和非法网站;按访问需求把 www.example1.com/path、www.example2.com/path 加白名单,www.example3.com/path、www.example4.com/path 加黑名单。有个细节容易被忽略:黑名单里还要添加 dns-tunnel-check.googlezip.net 和 tunnel.googlezip.net 两个域名——Chrome 的私有预取代理功能靠它们探测和封装 HTTPS 请求,会让网络设备提取不到真实 URL,拉黑后浏览器不再启用该功能,不影响正常上网。
最后在安全策略里引用这个 URL 过滤配置文件,并在界面右上角提交编译,内容安全配置提交后才生效。完整配置脚本如下:
#
sysname DeviceA
#
interface GE0/0/1
ip address 10.1.1.1 255.255.255.0
#
interface GE0/0/2
ip address 1.1.1.1 255.255.255.0
#
firewall zone trust
add interface GE0/0/1
#
firewall zone untrust
add interface GE0/0/2
#
profile type url-filter name URL_FILTER_1
https-filter enable
add whitelist url www.example1.com/path
add whitelist url www.example2.com/path
add blacklist url www.example3.com/path
add blacklist url www.example4.com/path
add blacklist host dns-tunnel-check.googlezip.net
add blacklist host tunnel.googlezip.net
category pre-defined control-level medium
#
decoder HTTP2 enable
#
undo decoding fast-forward protocol dns
#
ssl-decryption ca-certificate trust filename https_server_ca.crt
#
ssl-decryption ca-certificate reissue filename ssl-decryption-certificate.cer
#
profile type decryption name profile_outbound
detect type outbound
unsupport ssl-cipher block
unsupport ssl-version block
untrust-certificate block
#
decryption-policy
rule name rule_outbound
source-zone trust
destination-zone untrust
source-address 10.1.1.0 mask 255.255.255.0
service https
action decrypt profile ssl_profile
#
security-policy
rule name BLOCK_QUIC
source-zone trust
destination-zone untrust
service protocol udp source-port 0 to 65535 destination-port 443
action deny
rule name BLOCK_ENC&TCP_DNS
source-zone trust
destination-zone untrust
destination-address 1.0.0.1 mask 255.255.255.255
destination-address 1.0.0.2 mask 255.255.255.255
destination-address 1.0.0.3 mask 255.255.255.255
destination-address 1.1.1.1 mask 255.255.255.255
destination-address 1.1.1.2 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
destination-address 2606:4700:4700::1002 128
destination-address 2606:4700:4700::1003 128
destination-address 2606:4700:4700::1112 128
destination-address 2606:4700:4700::1113 128
service protocol tcp source-port 0 to 65535 destination-port 443
service protocol tcp source-port 0 to 65535 destination-port 853
service protocol udp source-port 0 to 65535 destination-port 443
service protocol udp source-port 0 to 65535 destination-port 853
action deny
rule name BLOCK_ECH
source-zone trust
destination-zone untrust
service dns
service dns-tcp
application app DNS_ECH
action deny
rule name policy_sec_01
source-zone trust
destination-zone untrust
source-address 10.1.1.0 mask 255.255.255.0
profile url-filter URL_FILTER_1
action permit
验证
配置生效后,员工访问 HTTP、HTTPS 网站均按策略走:绝大多数网站可以访问,成人网站和非法网站被阻断并收到推送信息;黑名单网址同样被拦。管理员选择"监控 > 日志 > URL日志",能看到访问非法网站时生成过滤类型为"预定义分类"、动作为"阻断"的日志,访问 www.example3.com/path 这类黑名单网址时生成过滤类型为"黑名单"、动作为"阻断"的日志。日志里过滤类型对得上,说明解密过滤链路真正在工作。
SSL 解密对设备性能有一定消耗,规模大的网络建议解密与分类过滤配合使用。贵州诚鑫致达科技在给企业做上网行为管控落地时,习惯先用一周日志看清员工实际绕行路径,再决定封堵和解密的边界。有同类困扰的读者欢迎留言交流。