傳輸層安全標準 (TLS) 加密的網頁流量佔所有網頁流量的大部分,而威脅行為人可以利用這些加密管道發動惡意攻擊。因此,在將 TLS 加密流量轉送至目的地之前,請務必先檢查該流量。
Secure Web Proxy 提供 TLS 檢查服務,可讓您攔截 TLS 流量、檢查加密要求並強制執行安全性政策。
根據實施的安全規則和 TLS 檢查設定,Secure Web Proxy 解決方案會建立兩個安全連線,一個連線與用戶端連線,另一個連線與外部伺服器連線。接著,Secure Web Proxy 解決方案會檢查兩個安全連線之間的流量。驗證成功後,您就能將相同的篩選和安全性控管機制套用至加密流量,就像套用至未加密流量一樣。
憑證授權單位在 TLS 檢查中的角色
為判斷 Secure Web Proxy 是否應檢查 TLS 連線,系統會檢查個別安全性政策規則的 tls_inspection_enabled
標記。如果已設定標記,且系統偵測到 TLS 連線,Secure Web Proxy 就會產生新的伺服器憑證。系統會將此憑證傳送至憑證授權單位服務 (CAS),由從屬憑證授權單位 (CA) 集區簽署。接著,這項憑證會呈現給用戶端,並建立 TLS 連線。系統會將產生的憑證快取一段時間,以便在後續連線至相同主機時使用。
如果您想檢查 TLS 流量,必須為用戶端嘗試連線的主機產生伺服器憑證。這個伺服器憑證必須由機構管理的私人 CA 簽署。只有已設定為信任此私人 CA 的用戶端,才會信任這些產生的伺服器憑證。包括瀏覽器和嵌入式 HTTP 用戶端。因此,TLS 檢查只能用於攔截及檢查貴機構管理的用戶端 TLS 連線。
即使在機構有管理權的機器上,也無法成功攔截所有 TLS 連線。這是因為部分用戶端 (尤其是嵌入其他應用程式中的用戶端) 已硬式編碼,只接受特定伺服器憑證,或特定 CA 簽署的憑證 (稱為憑證綁定)。例如 Microsoft Windows、macOS 和 Google Chrome 軟體更新。在 TLS 檢查的情況下,這類連線會失敗。這是因為 Secure Web Proxy 向用戶端提供的伺服器憑證公開金鑰和 CA 鏈結,與本機儲存的參數不符。
如果您設定規則來檢查 TLS 流量,但用戶端不信任 Secure Web Proxy 提供的檢查憑證,連線就會失敗。在這些情況下,即使伺服器是可信任的,TLS 檢查也會中斷用戶端-伺服器連線。如要解決這個問題,您可以新增規則,針對特定條件略過 TLS 檢查。您也可以使用 FQDN、來源 (使用安全標記、服務帳戶或 IP 位址) 和規則的 SessionMatcher
屬性,將 TLS 檢查限制在特定目的地主機。
支援功能
Secure Web Proxy TLS 檢查支援下列功能:
- 與 CAS 緊密整合,這是私人 CA 的高度可用且可擴充的存放區。
- 在必要時使用自己的信任根。您也可以使用現有的根 CA 為 CA 持有的從屬 CA 簽署。如有需要,您可以在 CAS 中產生新的根憑證。
- 在 Secure Web Proxy 政策規則中使用
SessionMatcher
,以便設定精細的解密條件。這項條件包括網址清單、規則運算式、IP 位址範圍和類似運算式中的相符主機。如有需要,條件可以與布林運算式結合。 - 每項 Secure Web Proxy 政策都可以設定專屬的 TLS 檢查政策和 CA 集區。或者,多個 Secure Web Proxy 政策可以共用單一 TLS 檢查政策。
常見用途
如要啟用 TLS 檢查功能,您可以使用下列任一方法:
使用現有的根 CA 簽署 CA 集區中儲存的從屬 CA。CAS 中保存的次要 CA 會用來簽署在執行階段產生的伺服器憑證。
使用外部 (非 CA 中) 的現有根 CA 簽署從屬 CA。當從屬 CA 由根 CA 簽署時,您可以使用這些 CA 簽署在執行階段產生的伺服器憑證。
使用 CAS 產生的根憑證。建立根憑證後,您可以建立由新根 CA 簽署的從屬 CA。該從屬 CA 會用於簽署在執行階段產生的伺服器憑證。
如要進一步瞭解這些方法,請參閱「建立從屬 CA 集區」。