Https
如何通過squid透明轉發HTTPS流量?
我想將所有 HTTP 和 HTTPS 流量重定向到
squid
充當透明代理。然後,此流量將在特定時間內被阻止或授權(批量)。具體來說,我不想解密/重新加密 HTTPS 流量,而是將其推送。HTTP 部分起作用,一條
REDIRECT
規則shorewall
將用於目標埠的所有流量傳輸80
到模式下的偵聽3128
squid 埠transparent
。埠的相同技巧
443
不起作用。有關於如何為 HTTPS 流量設置透明代理的教程,但我發現的所有教程都描述了創建證書對來解密/重新加密流量 - 這是我不想做的事情。
squid wiki提到 CONNECT 作為隧道 HTTPS 流量的一種方式,但添加到
http_access allow CONNECT all
配置(並禁用預設值deny
)不會改變任何內容。然後一些先前的 答案表明,如果不破壞 TLS 隧道,就不可能進行透明的 HTTPS 傳輸。
因此:有沒有辦法進行配置
squid
,以便通過重新路由到它的 HTTPS 流量iptables
然後透明地傳輸,而不進行任何修改?(當滿足某些時間規則時,我最終會阻止(也就是說,該阻止不會基於 HTTPS 流本身的任何內容))
但我發現的所有內容都描述了創建證書對來解密/重新加密流量 - 這是我不想做的事情。
由於 https 協議的工作方式,您所要求的根本不可能。您的選擇是:
- 允許通過防火牆傳出 https,並且不要嘗試使用任何代理
- 將客戶端配置為使用您的代理/過濾器,它們將使用對代理的 HTTP CONNECT 呼叫。
- 將您的代理設置為中間人,然後執行 sslbump。
當滿足某些時間規則時,我最終會阻止
您可以使用正確的iptables 模組根據一天中的時間進行過濾。也許您應該只在防火牆中處理一天中的時間過濾?