Regular-Expression

頁面不會被 Squid over HTTPS 阻止

  • July 6, 2016

我已經設置 Squid 來阻止我自己系統上的頁面(即不在網路上),並且我正在嘗試讓 SSL 與頁面阻止一起工作。為此,我設置了 ssl-bump 並將證書安裝到我的瀏覽器中。

我想阻止*.reddit.com/*(在 HTTPS 和 HTTP 上),但我只想允許子 URL *.reddit.com/r/LearnJapanese(在 HTTP 和 HTTPS 上)

這是我的 squid.conf 文件的一部分:

acl bad_domain url_regex "/usr/local/squid/etc/block.acl"
acl good_domain url_regex "/usr/local/squid/etc/allow.acl"

http_access deny bad_domain !good_domain
http_access allow good_domain

http_access allow localnet
http_access allow localhost

http_access deny all

# Squid normally listens to port 3128
http_port 3128 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=10MB cert=/usr/local/squid/etc/squid.pem

ssl_bump allow all

sslproxy_cert_error allow all
sslproxy_flags DONT_VERIFY_PEER

block.acl 的內容:

^http(s)?://(.+)?reddit\.com(.+)?$

allow.acl 的內容:

^http(s)?://(.+)?reddit\.com/r/LearnJapanese(.+)?$

它在 HTTP 上執行良好(即可以訪問 reddit.com/r/LearnJapanese,但 Reddit 的其餘部分不能),但我對 HTTPS 沒有同樣的運氣。

當我通過 HTTPS 訪問 Reddit 時,這些頁面根本沒有被阻止,但它們應該被阻止(當然除了 reddit.com/r/LearnJapanese)。

如何阻止通過 HTTP 和 HTTPS訪問所有 Reddit(除了*.reddit.com/r/LearnJapanese/ )?*謝謝你。

我通過編寫ssl_bump server-first all和刪除ssl_bump allow all. 我不確定它是否有助於解決問題,但我也將這些行放入我的終端:

/sbin/iptables -t nat -A PREROUTING -p TCP -s 127.0.0.1 --dport 80 -j REDIRECT --to-port 3128
/sbin/iptables -t nat -A PREROUTING -p TCP -s 127.0.0.1 --dport 443 -j REDIRECT --to-port 3128

雖然當我嘗試使用 HTTPS 導航到黑名單頁面時這不會產生“訪問被拒絕”消息,但當我將 Firefox 配置為對所有協議(即 HTTP 和 HTTPS)使用 Squid 代理時,它確實給了我“代理伺服器拒絕連接” ) 並且我添加了之前生成的根證書 ( /usr/local/squid/etc/squid.pem)。

由於 SSL 是端到端加密,因此像 Squid 這樣的代理對 HTTPS 請求的了解通常比對 HTTP 的了解要少得多(http://wiki.squid-cache.org/Features/HTTPS#CONNECT_tunnel ):

$$ Many $$CONNECT 請求中不存在請求 URL 的公共部分:

  • URL 方案或協議(例如,http://、https://、ftp://、voip://、itunes:// 或 telnet://),
  • URL 路徑(例如,/index.html 或 /secure/images/),
  • 和查詢字元串(例如 ?a=b&c=d)

要了解更多關於 HTTPS 請求的資訊,Squid 必須對其客戶端執行基本上是中間人攻擊。Squid 文件解釋瞭如何執行此操作,但請注意,這會帶來一些關於隱私的問題(您的使用者應該信任您的正常加密資訊,並且 Web 瀏覽器可能會警告攻擊)。

引用自:https://unix.stackexchange.com/questions/190330