感謝總結。你提的幾點安全策略也很實用,但這裏有幾點要補充的:
各個作業系統和瀏覽器對加密 DNS 的支援度不一
一般來說 DoH (DNS Over HTTPS) 由於其復用 tcp/443 和HTTP報文,因此支援度最廣 (Google Chrome, Firefox, Safari; Windows 10/11, Android, macOS/iOS 都有提供支援,但各自的實現方式稍有不同)。但像 DoT (DNS Over TLS),DoQ (DNS Over QUIC) 相對支援程度就少很多 (特別是 DoQ .客戶端和服務端的實作少得可憐.)
關於加密 DNS 的選擇,這裏不做推薦
但請記住: DNS 服務商可以同時看到你的IP和你查詢的域名 (除非使用 ODoH 等技術)
關於 ECH (Encrypted Client Hello)
這部分可能最容易被誤解,首先一個連接是否使用 ECH 並非完全由使用者端決定.
- 你連接的網站必須支援 ECH (目前支援 ECH 的大型網絡基建只有 Cloudflare)
- 網絡中不能有節點攔截 ECH 封包 (目前 GFW 尚未主動阻斷 ECH 連接,但觀察到部分劣化情況)
- 你所使用的 DNS 需要支援查詢 HTTPS 記錄 (因爲目前 ECH 主要靠這個分發公鑰. 雖然原則上不強求加密 DNS,但主流客戶端都將 DoH 視作 ECH 的條件之一)
另外 ECH 並非完全抹掉了 SNI (出於兼容性考慮,ECH 會在 SNI 上放一個不相關的域名。例如 Cloudflare 使用 cloudflare-ech.com )
而且由於目前尚未大範圍鋪開,爲了兼容性,當 ECH 連接失敗時瀏覽器會自動回退.
這意味着只要封鎖cloudflare-ech.com就能讓大部分的 ECH 失效 (目前已經出現劣化跡象)
關於混淆代理
這部分可能是變動最頻繁的技術之一了. 但從技術上主要分爲兩類:
- 以 Shadowsocks 爲代表的無特徵代理協議
- 以 Trojan/VLESS 爲代表的混淆式代理
第一種沒什麼好說的 (感興趣的話可以去看 這個 )
這裏講下第二種: 這裏代理主要通過將流量模仿爲標準的 TLS (準確來說是 模仿 HTTPS) 流量來規避 GFW.
但實務上時常因爲模仿得不像(如 TLS 內嵌套 TLS 也就是 TLS in TLS) 帶來額外的麻煩:
2025-12-20T18:04:56+01:00 INFO ruleset log {"name": "block trojan", "id": 2002560879681339392, "src": "1
92.168.30.117:33512", "dst": "1.1.1.1:18249", "props": {"fet":{"ex1":2.6283524,"ex2":false,"ex3":0.20689656,"ex4
":8,"ex5":true,"yes":false},"tls":{"req":{"alpn":["h2","http/1.1"],"ciphers":[52393,52392,49195,49199,49196,49200,491
61,49171,49162,49172,156,157,47,53,49170,10,4867,4865,4866],"compression":"AA==","random":"uOM5Tkepx4/ZOeRmBd/E2xr7Zd
1QjKplUwquPGyNEsU=","session":"gd/v6k3B5t9v3AHV3Yao98eio2czN+8ckA5pFaD1uFI=","supported_versions":[772,771],"version"
:771},"resp":{"cipher":4867,"compression":0,"random":"95MrDU7yAjjSQ1XoF3+ojARuhC7Jpagm7eqyx0clkrM=","session":"gd/v6k
3B5t9v3AHV3Yao98eio2czN+8ckA5pFaD1uFI=","supported_versions":772,"version":771}},"trojan":{"seq":[419,4690,167,135],"
yes":true}}}
2025-12-20T18:04:56+01:00 INFO TCP stream action {"id": 2002560879681339392, "src": "192.168.30.117:335 12", "dst": "1.1.1.1:18249", "action": "block"}
再比如這個:
而且長時間的向同一個IP的同一埠發起連接,(不管有沒有套TLS,盜用的是哪個網域) 本身就讓人起疑 (儘管 XHTTP 試圖通過上下行分離改善,但仍然是杯水車薪)