正向代理 HTTPS 主要有兩種方案,分別是基于證書的解密與再加密方案和基于 HTTP CONNECT 隧道的方案,以下是這兩種方案的具體信息:
一、基于證書的解密與再加密方案
原理
- 工作原理:代理服務器擁有自己的證書,客戶端需要信任該證書。當客戶端通過代理服務器訪問目標網站時,代理服務器會使用自己的證書與客戶端建立加密連接,同時與目標服務器建立另一個加密連接,然后對客戶端和目標服務器之間的數據進行解密和再加密,從而實現對 HTTPS 流量的代理。
- 優缺點:
- 優點:代理服務器可以解析出請求和響應內容,便于進行內容過濾、監控和緩存等功能。
- 缺點:需要客戶端信任代理服務器的證書,配置相對復雜,且存在一定的安全風險,因為代理服務器可以查看和修改加密數據。
- 適用場景:適用于需要對 HTTPS 流量進行深度解析和控制的場景,如企業內部的網絡安全管理、內容過濾等。
常見應用與場景舉例
- 企業安全網關 / 防火墻:
- 場景: 大型企業內網出口。
- 用途:
- 深度檢測惡意軟件、勒索軟件(檢查文件下載內容)。
- 防止數據泄露(DLP - 監控信用卡號、機密文件上傳)。
- 過濾非法/違規內容(如色情、賭博網站)。
- 實施精細化上網策略(基于內容類別而非僅域名)。
- 舉例: 員工訪問
https://drive.google.com
時,代理解密并掃描上傳的文件是否含公司機密。
- 合規性審計:
- 場景: 金融、醫療等強監管行業。
- 用途:
- 記錄所有進出流量以滿足法規要求(如 GDPR、HIPAA 日志審計)。
- 監控員工行為是否符合公司政策。
- 舉例: 銀行記錄員工通過企業微信發送的所有文件,確保無客戶數據違規外泄。
- 內容優化與加速:
- 場景: 學校、大型機構網絡。
- 用途:
- 緩存 HTTPS 內容(如軟件更新、視頻資源)。
- 壓縮傳輸數據節省帶寬。
- 屏蔽廣告或惡意腳本。
- 舉例: 校園網代理緩存
https://windowsupdate.com
的更新文件,減少外網帶寬消耗
二、基于 HTTP CONNECT 隧道的方案
原理
- 工作原理:代理服務器不涉及對加密數據的解密和再加密,而是通過 HTTP CONNECT 方法為客戶端和目標服務器建立一個 TCP 隧道。客戶端通過代理服務器與目標服務器建立連接后,數據直接在客戶端和目標服務器之間傳輸,代理服務器只起到轉發的作用。
- 優缺點:
- 優點:不需要客戶端信任代理服務器的證書,配置相對簡單,安全性較高,因為代理服務器無法查看和修改加密數據。
- 缺點:代理服務器無法解析 HTTPS 流量的內容,無法實現內容過濾和監控等功能。
- 適用場景:適用于只需要代理服務器幫忙建立連接,而不對 HTTPS 流量進行深度解析的場景,如簡單的網絡訪問代理等。
常見應用與場景舉例
- 企業安全出站控制(基礎層):
- 場景: 公司或學校網絡。
- 用途:
- 基于域名/IP 實施訪問控制(如禁止訪問
facebook.com
)。 - 僅記錄訪問的域名(不記錄具體內容)。
- 防止內部主機直接暴露公網 IP。
- 基于域名/IP 實施訪問控制(如禁止訪問
- 舉例: 員工通過代理訪問
https://online.visa.com
支付賬單,代理僅知道訪問了online.visa.com
,無法看到卡號。
- 繞過網絡限制:
- 場景: 受防火墻限制的環境(如辦公室、學校)。
- 用途:
- 通過外部代理訪問被封鎖的服務(如 GitHub、Google)。
- 不觸發深度檢測(因內容未解密)。
- 舉例: 開發者在企業網內配置 VS Code 使用
CONNECT
代理連接https://api.github.com
,繞過企業防火墻對代碼倉庫的封鎖。
- 移動設備安全接入:
- 場景: 企業 BYOD(自帶設備)或 MDM(移動設備管理)。
- 用途:
- 在不安裝企業根證書的前提下,強制流量經過企業代理。
- 保護企業數據(隔離內網與外網流量)。
- 舉例: 員工的個人手機通過企業 Wi-Fi 上網時,所有
CONNECT
流量經代理過濾,阻止訪問惡意域名。
- 開發者調試工具:
- 場景: 本地開發環境(如 Charles Proxy、Fiddler)。
- 用途:
- 默認以
CONNECT
模式工作,除非用戶顯式啟用 HTTPS 解密。 - 查看加密流量的元數據(域名、IP、連接時間)。
- 默認以
- 舉例: 開發者使用 Charles Proxy 調試 App,僅監控 API 請求的域名和響應大小,無需導入證書解密內容。