Https
使用 squid 過濾 http/https 成人內容的本地透明代理
我想使用白名單過濾我所有的網際網路(http 和 https)連接。
我聽說過魷魚,所以我開始嘗試執行它。我找到了兩個主要教程:
https://wiki.squid-cache.org/ConfigExamples/Intercept/SslBumpExplicit
還有一段影片:https ://www.youtube.com/watch?v=Bogdplu_lsE
首先我安裝
squid4
AUR 包(Arch Linux),我通過啟用來建構它--with-openssl \ --enable-ssl-crtd \
我編輯配置文件 (
/etc/squid/squid.conf
) 並添加:# add a custom blocking rule: acl block_websites dstdomain .org .io http_access deny block_websites http_port 3128 intercept https_port 3129 intercept ssl-bump \ cert=/etc/squid/ssl_cert/myCA.pem \ generate-host-certificates=on \ dynamic_cert_mem_cache_size=4MB http_port 3127 ssl-bump \ cert=/etc/squid/ssl_cert/myCA.pem \ generate-host-certificates=on \ dynamic_cert_mem_cache_size=4MB sslcrtd_program /usr/lib/squid/security_file_certgen -s /var/lib/ssl_db -M 4MB acl step1 at_step SslBump1 ssl_bump peek step1 ssl_bump bump all
要生成 SSL 證書(用於 https 過濾),我正在做:
cd /etc/squid/ssl_cert openssl req -new -newkey rsa:2048 -sha256 -days 365 -nodes -x509 -extensions v3_ca -keyout myCA.pem -out myCA.pem openssl x509 -in myCA.pem -outform DER -out myCA.der # now add myCA.der to firefox sudo /usr/lib/squid/security_file_certgen -c -s /var/lib/ssl_db -M 4MB
然後我使用 iptables 來轉移一切:
sudo iptables -A INPUT -j ACCEPT -p tcp --dport 3128 sudo iptables -A INPUT -j ACCEPT -p tcp --dport 3129 sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 127.0.0.1:3128 sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination 127.0.0.1:3129
相應的
iptables-save
*filter :INPUT DROP [8:936] :FORWARD DROP [0:0] :OUTPUT DROP [0:0] -A INPUT -p tcp -m tcp --dport 3128 -j ACCEPT -A INPUT -p tcp -m tcp --dport 3129 -j ACCEPT COMMIT *nat :PREROUTING ACCEPT [8:936] :INPUT ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] -A PREROUTING -p tcp -m tcp --dport 80 -j DNAT --to-destination :3128 -A PREROUTING -p tcp -m tcp --dport 443 -j DNAT --to-destination :3129 COMMIT
最後我啟用魷魚:
sudo systemctl enable squid
但這不起作用(firefox 告訴我“我們無法連接到…的伺服器”)。我究竟做錯了什麼?
對不起,由於誤解而回答錯誤。因為評論,我還沒刪。
使用 Firefox 自動檢測系統代理並不總是給定的。手動設置。可能是也可能不是問題,但很高興知道。