跳轉到

HTTPS Inspection

現在的網路流量幾乎全是 HTTPS 加密。防火牆若不解密,就像隔著毛玻璃看流量 —— 看得到「連去哪」,卻看不到「傳了什麼」。HTTPS Inspection 讓 Gateway 能解密檢查,再重新加密送出。

為什麼需要它

沒有 HTTPS Inspection:

  • App Control / URL Filtering 只能靠 SNI / 憑證網域 做粗略判斷。
  • Anti-Virus / Threat Emulation 看不到加密通道裡下載的惡意檔案。

開啟後,IPS、AV、App Control 等才能對加密內容真正生效。

運作原理:合法的「中間人」

graph LR
    C[用戶端] -->|TLS 連線 1| GW[Gateway<br/>解密 → 檢查 → 重加密]
    GW -->|TLS 連線 2| S[目標網站]

Gateway 扮演受信任的中間人:

  1. 攔截用戶端往外的 TLS 連線。
  2. 自己的 CA 憑證簽一張假冒目標網站的憑證給用戶端。
  3. 同時以正常方式連真正的網站。
  4. 在中間解密 → 檢查 → 重新加密。

用戶端必須信任 Gateway 的 CA

第 2 步成立的前提是:用戶端要把 Gateway 的 CA 憑證裝進「受信任的根憑證」。企業環境通常透過 AD GPO 派送這張 CA 憑證,否則使用者會狂跳憑證警告。

設定重點

  1. 產生 / 匯入 CA 憑證:在 Gateway 的 HTTPS Inspection 設定產生 outbound CA(或用企業內部 CA 簽發的中繼憑證)。
  2. 派送 CA 給用戶端:GPO 或手動匯入受信任根。
  3. 建立 HTTPS Inspection 規則庫:決定哪些流量要解密、哪些繞過(Bypass)
  4. Install Policy。

一定要設定的 Bypass

某些流量基於隱私 / 法規 / 技術原因不該解密:

  • 金融、醫療、政府等隱私敏感類別
  • 使用 憑證綁定(certificate pinning) 的 App(解密會直接連不上,例如部分銀行 App、軟體更新)

用分類做 Bypass

HTTPS Inspection 規則可直接用 URL 分類(如 Financial ServicesHealth)設 Bypass,比逐一列網域省事。

效能考量

解密 + 重新加密非常吃 CPU。

  • 上線前用 cpview 評估 CPU 餘裕。
  • 善用 SecureXL / 硬體加速(依型號)。
  • 只解密「需要檢查」的流量,其餘 Bypass,別全開。
  • Bypass Under Load:可設定當 CPU 飆高時自動暫時 bypass HTTPS Inspection,避免斷線;此功能預設停用,per-gateway 開啟。
# HTTPS Inspection 狀態與統計(expert)
fw stat
cpstat -f all                  # 視版本查看相關統計
# Logs 中該筆連線會標示 Inspect / Bypass

版本提醒(TLS 1.3)

Gateway 自 R81 起可攔截 TLS 1.3(RFC 8446)流量;自 R81.10 起,對使用 User Space Firewall (USFW) 的 Gateway 預設啟用 TLS 1.3 Inspection。R81.20 / R82 沿用並改進。R82 新增可建立 / 匯入「多張」outbound CA 憑證。要用 TLS 1.3,建議 R81.10 以上。

Outbound vs Inbound

  • Outbound:保護內部 client 連外 —— Gateway 攔截、驗證外部伺服器憑證、為連線重新簽發憑證、解密檢查再重新加密送出。
  • Inbound:保護內部伺服器 —— Gateway 用內部伺服器的憑證對外部 client 建立連線,另對內部伺服器建一條連線。

小結

  • HTTPS Inspection 讓 Gateway 能解密檢查加密流量,IPS/AV/App Control 才完整生效。
  • 原理是「合法中間人」,用戶端必須信任 Gateway 的 CA(用 GPO 派送)。
  • 務必設定 Bypass:隱私敏感類別、憑證綁定的 App。
  • 很吃 CPU,先評估效能、只解密必要流量。
  • 要用 TLS 1.3,盡量上 R81.20 以上。