第232篇:HTTPS 过滤原理与挑战

关键词

HTTPS过滤、URL过滤、SNI过滤、SSL解密、加密流量、内容分类、证书固定、合规限制


一、HTTPS 过滤的需求

1.1 为什么需要 HTTPS 过滤

企业需要控制 HTTPS 流量中的风险内容:

HTTPS 上的风险内容:

合法业务(允许) │ 风险内容(需要过滤) │ | 企业 OA 财务系统 邮件服务 业务应用 技术支持 | | | 钓鱼网站 恶意软件下载 违法内容 社交网络(生产力) 视频流(带宽消耗) | | --- | --- | --- | --- | │ 2010 年:80% HTTP → 可过滤 2024 年:95% HTTPS → 过滤面临挑战

1.2 HTTPS 过滤的目标

HTTPS 过滤的三个层次:

层次 1:域名级别过滤
  基于域名控制访问(SNI / DNS)
  优点:简单、不解密
  局限:同一域名下可能包含多种内容

层次 2:URL 级别过滤
  基于完整 URL 路径控制
  需 SSL 解密或 HTTP/2 明文头部
  更精细的控制

层次 3:内容级别过滤
  检测页面内容(文本/图片)
  必须 SSL 解密
  最精确,但成本最高

二、域名级 HTTPS 过滤

2.1 SNI 过滤

SNI(Server Name Indication)是 TLS 握手时客户端发送的明文域名:

SNI 过滤原理:

客户端 ── ClientHello ─────► 过滤器 ──► 服务器 SNI: facebook.com │ 过滤器根据 SNI 做决策:

SNI: facebook.com → 匹配 Social-Networking 分类 → 策略:工作时间阻断 → 返回 RST 或重定向页面

客户端 ←── RST 或 HTTP 重定向 ────

SNI 过滤的优点: 不需要解密 SSL 性能好(只看第一个包) 用户隐私保护

SNI 过滤的局限: 无法看到 URL 路径(不知道具体页面) 一个域名可能同时承载好内容与坏内容 TLS 1.3 ECH 加密 SNI → 失效

2.2 DNS 过滤

通过 DNS 解析阶段阻断恶意域名:

DNS 过滤流程:

客户端 ── DNS Query ──────► DNS 过滤器 ──► 上游 DNS facebook.com │ 过滤器检查域名分类:

facebook.com → Social-Networking 策略:工作时间阻断 返回 NXDOMAIN 或 内网 IP

客户端 ←── NXDOMAIN(域名不存在)

优点: 在 DNS 阶段就阻断,效率最高 不依赖 TLS 版本

缺点: 如果客户端使用 DoH/DoT(加密 DNS),DNS 过滤失效 客户端可配置其他 DNS 服务器绕过

应对 DoH/DoT 绕过: 防火墙:阻断 853 (DoT) 和 443 → DNS 服务器 IP 仅允许企业 DNS 解析

2.3 URL 分类库

URL 分类是过滤的基础:

华为 URL 分类库(超过 1 亿 URL):

分类示例:

分类 举例 Malware malware.example.com Phishing fake-bank-login.com Social-Networking facebook.com Video-Streaming youtube.com P2P thepiratebay.org Gambling 888.com Adult pornhub.com Business company-oa.com Finance bankofchina.com Government gov.cn

分类库更新: 云端实时更新 每 5 分钟更新一次 新站点自动分类 支持自定义分类


三、SSL 解密后的 HTTPS 过滤

3.1 完整过滤流程

SSL 解密 + 深度 HTTPS 过滤:

                    ┌──────────────────────────┐
                    │      NGFW                 │
                    │                           │
  HTTPS ──► SSL 解密 ──► 内容检测 ──► 重新加密 ──► 互联网
                    │                           │
                    │ URL 过滤                   │
                    │ IPS 检测                   │
                    │ DLP 检测                   │
                    │ 反病毒检测                  │
                    └───────────────────────────┘

过滤决策流程:

Step 1: SNI 过滤(不解密阶段)
  └─ 恶意域名 → 直接阻断

Step 2: SSL 解密(如需深度检测)
  └─ 白名单域名 → 不解密
  └─ 其他域名 → 解密

Step 3: HTTP 请求分析
  └─ URL 路径 → 匹配分类
  └─ User-Agent → 识别客户端类型
  └─ Referer → 来源检查

Step 4: 响应内容分析
  └─ HTML 页面 → 分类确认
  └─ 文件下载 → 沙箱检测
  └─ 数据外发 → DLP 检测

Step 5: 执行决策
  └─ 允许 + 记录
  └─ 阻断 + 告警
  └─ 限速
  └─ 替换内容(警告页面)

3.2 HTTPS 过滤配置

# 华为 NGFW URL 过滤配置

# URL 分类策略
url-filter profile Strict-Filter
 # 阻断类别
 block-category Malware
 block-category Phishing
 block-category Adult
 block-category Gambling
 block-category Illegal-Drugs

 # 告警类别
 alert-category Social-Networking
 alert-category Video-Streaming
 alert-category P2P

 # 允许类别
 allow-category Business
 allow-category Finance
 allow-category Government
 allow-category Education

 # 自定义 URL
 custom-block www.example-blocked.com
 custom-allow *.company.com
!

# 安全策略关联 URL 过滤
security-policy
 rule name Internet-Access
  source-zone trust
  destination-zone untrust
  action permit
  profile url-filter Strict-Filter
  ssl-decrypt-profile Decrypt-Policy          # SSL 解密策略
!

四、HTTPS 过滤的主要挑战

4.1 技术挑战

挑战 1:TLS 1.3 ECH
  └─ SNI 加密 → 无法直接做域名过滤
  └─ 对策:
       ├─ 根据 IP 反向匹配域名
       └─ 使用 DNS 过滤作为补充

挑战 2:证书固定(HPKP / Pinning)
  └─ 某些应用使用固定证书(银行、支付)
  └─ 解密代理篡改证书 → 应用拒绝连接
  └─ 对策:
       ├─ 白名单跳过解密
       └─ 与 App 厂商协调

挑战 3:HSTS(HTTP Strict Transport Security)
  └─ HSTS 阻止 HTTP 降级
  └─ 浏览器内置 HSTS Preload List
  └─ 对策:
       ├─ 在 CA 证书下发前就安装
       └─ 企业部署自己的 CA 到信任列表

挑战 4:双向认证(mTLS)
  └─ 服务器也验证客户端证书
  └─ 代理没有客户端私钥 → 无法建立连接
  └─ 对策:
       ├─ 白名单跳过
       └─ 导入客户端证书到代理

4.2 合规挑战

合规与隐私限制:

场景 1:员工个人隐私
  └─ 员工在浏览器登录个人邮箱
  └─ 企业解密 HTTPS 查看邮件内容
  └─ 问题:涉嫌侵犯个人隐私
  └─ 对策:仅解密工作时间/业务相关流量

场景 2:金融交易
  └─ 用户访问网上银行
  └─ 企业解密交易数据
  └─ 问题:解密可能违反支付卡行业规范
  └─ 对策:银行域名加入不解密白名单

场景 3:法律法规
  └─ 行业监管不允许解密通信内容
  └─ 某些国家法律明确规定禁止 SSL 解密
  └─ 对策:只做 SNI 过滤 + DNS 过滤

4.3 性能挑战

HTTPS 过滤的性能影响:

解密流量需要额外的 CPU 开销:

无解密 只 SNI 过滤 解密 10% 解密 50% 解密全部 10 Gbps 9.8 Gbps 8 Gbps 4 Gbps 2 Gbps | ███ ███ | | ███ ███ | | ██ ██ | | █ █ | | █ █ | | --- | --- | --- | --- | --- | --- | --- | --- | --- |

优化策略: 1. 只解密可疑流量(先签名检测后决定是否解密) 2. 硬件加速卡(华为 USG 内置解密芯片) 3. 缓存已解密会话(减少重新解密) 4. 白名单直接跳过


五、HTTPS 过滤的部署建议

5.1 分阶段部署

分阶段部署 HTTPS 过滤:

阶段 1:DNS 过滤 + SNI 过滤(无需解密,快速上线)
  ├─ 阻断已知恶意域名
  ├─ 阻断成人/赌博类别
  ├─ 仅告警不阻断社交/视频
  └─ 监控:误报率、覆盖度

阶段 2:选择性 SSL 解密(可控范围内)
  ├─ 只解密业务相关域名
  ├─ 不解密银行/个人/医疗
  ├─ 部署企业 CA 到受控终端
  └─ 持续观察兼容性问题

阶段 3:深度内容过滤(逐步扩展)
  ├─ 文件下载沙箱检测
  ├─ DLP 扫描解密内容
  ├─ IPS 深度检测
  └─ 每季度评估解密覆盖率和效果

5.2 白名单与例外管理

SSL 解密白名单策略:

必须不解密的域名类别:
  ├─ 银行/金融: *.bank*.com, *.icbc*.com
  ├─ 支付: *.alipay.com, *.wechat.com
  ├─ 政务: *.gov.cn, *.12366.gov.cn
  ├─ 医疗: *.hospital*.com (包含患者隐私)
  └─ 个人邮箱: *.gmail.com, *.outlook.com

可能引发兼容问题的应用:
  ├─ 证书固定 App → 白名单
  ├─ 企业内部应用 → 测试后决定
  └─ 旧系统(TLS 1.0/1.1)→ 升级或白名单

白名单维护:
  定期审核白名单有效性
  新应用上线时测试解密兼容性
  安全事件复盘:是否需要调整白名单

六、总结

知识点 核心要点
HTTPS 过滤需求 95%+ 流量加密,需要控制风险内容
SNI 过滤 无需解密,基于 TLS 握手明文域名
DNS 过滤 DNS 阶段阻断,但 DoH/DoT 可绕过
解密后深度过滤 完整 URL + 内容检测(IPS/DLP/沙箱)
ECH 挑战 加密 SNI,使 SNI 过滤失效
证书固定 部分应用拒绝代理证书,需白名单
合规限制 隐私保护、金融监管、法律限制

七、思考

  1. HTTPS 过滤的三个层次分别是什么?各有什么优缺点?
  2. SNI 过滤的工作原理是什么?为什么 TLS 1.3 ECH 会导致 SNI 过滤失效?
  3. DNS 过滤如何阻止用户访问恶意网站?用户如何通过 DoH/DoT 绕过 DNS 过滤?
  4. 什么是证书固定(Certificate Pinning)?它如何影响 SSL 解密和 HTTPS 过滤?
  5. 如果公司法律部门要求不解密银行和医疗网站的 HTTPS 流量,但安全部门需要检测恶意软件,如何平衡两者需求?

下篇预告:第233篇《TCP 劫持与序列号预测攻击》——理解 TCP 协议的安全漏洞,序列号预测攻击原理和防护措施。