河南省防火牆

河南省部署了基於TLS SNI和HTTP Host的審查中間設備，用於檢測和封鎖離開該省的流量。
河南省防火牆（Henan Firewall，HFW），是河南省部署的地區性審查系統，它對離開該省的流量實施基於 HTTP Host 和 TLS SNI的審查。

**歷史**
長期以來，中國的審查系統一直被認為在政策和實現兩方面都相對集中化。實證測量揭示了中國對審查策略 、軟件更新和基礎設施進行統一的協調與管理。審查設備部署在國家網絡邊界 ，檢測並過濾進出國家的流量。因此，早期在中國國內交換的流量不會受到GFW的檢測或封鎖。
2023年8月Github匿名河南省用戶向斯坦福大學、科羅拉多大學博爾德分校GFW Report的反審查團隊報告一些在中國其他地區可以訪問的網站，在當地卻無法訪問。

**架構**
河南的中間設備位於第 5 跳（中國聯通省級網絡），而 GFW 出現在更深的第 7 跳（中國聯通骨幹網）。這些結果證實了兩個審查實體都作為中間設備運行，其中河南設備距離客戶端更近。這一證據有力表明，河南的地區性審查是獨立於GFW部署的，並且這些審查設備位於河南省境內

**主要技術**

**TCP重置攻擊**
重置（reset）是傳輸控制協議（TCP）的一種消息，例如服務器端在沒有客戶端請求的端口或者其它連接信息不符時，系統的TCP協議棧就會給客戶端回覆一個重置通知消息，該功能本來用於應對例如服務器意外重啟等情況，而河南防火牆河南地區性防火牆會針對某些服務器名稱指示（SNI）和 HTTP Host 值封鎖 TLS 和 HTTP 連接，但其運作方式與GFW不同。最顯著的區別是，河南的地區性防火牆通過向客戶端注入一個包含固定 10 字節載荷的 TCP RST+ACK 數據包來封鎖 TCP 連接。這種獨特的 TCP RST 數據包載荷將河南防火牆與 GFW 注入的所有三種類型的數據包區分開來。

**HTTP Host和TLS SNI黑名單**
河南防火牆對基於 HTTP Host 和基於 TLS SNI 的審查使用同一個封鎖列表，在 2025 年 3 月 4 日之前，河南防火牆的封鎖列表一直遠大於 GFW 的封鎖列表。河南防火牆使用的封鎖列表也針對與其他國家相關的州或市政府網站。例如，美國的大多數州政府網站，如 texas.gov、seattle.gov、alabama.gov、nc.gov 都在河南被封鎖，但未被 GFW 封鎖。與 GFW 封鎖列表中出現的 83 個 *.gov* 域名相比，河南防火牆封鎖了 1,002 個 *.gov* 域名，這表明其傾向於封鎖任何展示來自世界各地的治理數據或新聞內容。事實上，河南防火牆比 GFW 更傾向於針對國家代碼頂級域名（ccTLD）。其中一些封鎖範圍很廣：2024 年，河南在1月19日，和2月1日至2月2日封鎖了測試的所有 5,334 個 *.com.au 域名，在 2 月 15 日至 3 月 4 日封鎖了所有 2,075 個 *.co.za 域名，在 2 月 8 日至 3 月 4 日封鎖了所有 1,547 個 *.org.uk 域名。這些可能是過度封鎖的實際例子，即防火牆包含過於寬泛的規則。目前不清楚河南防火牆為何會重複封鎖和解封這些國家代碼二級域名。

**與防火長城的區別和聯繫**

**單向封鎖**
從中國境外發送探測不會觸發河南防火牆，因為河南的防火牆只審查離開河南的流量，只有離開河南的流量被河南防火牆封鎖。

**流量解析邏輯**
河南防火牆似乎是無狀態的，並且在應對不同網絡流量時不如 GFW 健壯。

**TCP 握手完整性要求**
網絡中間設備的設計者通常需要在流量解析邏輯的健壯性和效率之間進行權衡。例如，由於互聯網的非對稱路由特性，以及河南防火牆和 GFW 並非總是客戶端或服務器的直接鄰居（如表所示），網絡中間設備可能只能觀察到單向的流量。這種特性常常使得中間設備的設計者放棄使用完整的 TCP 三次握手來追蹤 TCP 連接並進行審查。

**TCP 分片**
TCP分片能夠將較大的 TCP 載荷分割成較小的載荷。在規避審查的背景下，將 TLS ClientHello 消息分割成多個 TCP 分段已被用於繞過不對數據包進行重組的無狀態審查者。然而，GFW 執行TCP重組，因此是有狀態的。另一方面，河南防火牆不進行 TCP 重組，因此可以通過將 ClientHello 的 TCP 載荷分割成多個 TCP 分段（SNI 分佈在這些分段之間）來繞過它。

**TLS 分片**
雖然 TCP 分片長期以來被用來繞過無狀態審查者，但 TLS 分片的使用直到最近才由 Niere 等人  分析並在他們的 DPYProxy 工具中實現。鑑於 TLS 消息的最大大小超過了 TLS 記錄的最大允許大小，TLS 標準允許將 TLS 消息分割到多個 TLS 記錄中。Niere 等人發現 GFW 不執行 TLS 重組，因此可以通過將 TLS ClientHello 消息分片到多個 TLS 記錄中（其中 SNI 被分割到同一 TCP 載荷內的多個 TLS 分段中）來繞過它。
截至 2024 年 4 月 4 日，河南防火牆和 GFW 都不執行 TLS 重組，因此可以通過 TLS ClientHello 分片來繞過它們。

**TCP 頭部長度必須為 20 字節**
TCP頭部的第 13 個字節的前四個有效位表示 TCP 數據偏移量，它指定了 TCP 頭部的長度（以 32 位字為單位）。當沒有 TCP 選項存在時，TCP 數據偏移字段的最小值為 5 個字（20 字節），最大值為 15 個字（60 字節）。
河南防火牆確實解析了 TCP 頭部中的 TCP 頭部長度字段，但有一個條件，即僅在 TCP 頭部長度為 20 字節時才封鎖連接。這一結果表明，河南防火牆可能只能審查大約 20% 的目標連接。

**不封鎖IPV6和UDP連接**
據github匿名用戶的分析，所有tor中繼的IPv6地址都沒有被GFW封禁。
河南省防火牆也不以網絡層的IP為阻斷依據。

**封鎖列表**
河南防火牆封鎖的國家代碼頂級域名（ccTLD）多於 GFW，據GFWreport分析，河南防火牆的封鎖列表比 GFW 的封鎖列表更不穩定，主要是由於頻繁添加和刪除通用二級域名封鎖規則所致。
河南防火牆在封鎖域名方面，就其流行度而言，表現得更為同質化，而 GFW 的封鎖列表則呈現出更異構的分佈。雖然 GFW 防火牆針對更流行的網站，但河南防火牆更均勻地針對網站。
在 2023 年 12 月 26 日至 2025 年 3 月 31 日期間，每週測試 2.27 億個域名。在實驗期間，河南防火牆封鎖了 4,196,532 個域名——是 GFW 曾封鎖的 741,542 個域名的五倍多。有 479,247 個域名同時被兩個防火牆封鎖。兩個封鎖列表之間的 Jaccard 指數約為 0.0885，表明它們的相似度低於 9%，因此在覆蓋範圍上很大程度上是獨立的，但又互為補充。
河南防火牆比 GFW 更傾向於針對商業、經濟、計算機和互聯網信息領域的域名。河南防火牆封鎖列表上出現的總域名中，超過 35% 來自這兩個類別。另一方面，GFW 則更多地針對新聞和媒體以及成人內容域名。

**封鎖規則**
河南防火牆和 GFW 使用的最流行的封鎖正則表達式模式是 ^(.*\.)?keyword$。此模式旨在用於封鎖域名及其子域名。GFW 使用的第二種最流行的封鎖正則表達式模式是 ^keyword$，僅用於封鎖域名本身，而不封鎖其子域名。GFW 使用的第三種最流行的封鎖正則表達式模式是 ^(.*\.)?keyword，這很可能是在正則表達式模式中未包含結束錨點的錯誤。
與 GFW 有時採用沒有結束錨點的正則表達式模式不同，河南防火牆總是在其正則表達式模式中包含結束錨點。這一結果可能是由於封鎖列表維護得更仔細、更一致，或者可能是審查軟件本身強制使用以結束錨點結尾的正則表達式模式，以防止人為錯誤。

**評價**
2025年來自 GFWreport認為：對中國七個不同城市和省份的測量表明河南省存在一個全新的地區性防火牆。這個河南防火牆對離開該省的流量實施基於 HTTP Host 和 TLS SNI 的審查。與 GFW 相比，它展現出獨特的特徵，包括獨特的數據包注入行為和指紋、不同的連接追蹤、解析和封鎖邏輯、一個一度比GFW大十倍且更動態的封鎖列表，以及更靠近客戶端的網絡位置。這種本地化的審查表明中國可能正在偏離其集中化的審查體系，允許地方當局在各自區域內施加更大程度的控制。預計未來中國其他地區可能也會進行類似部署，因此需持續監控區域審查的發展，並鼓勵開發者利用公開資源改進翻牆工具，進一步探索審查技術的演變及其對全球互聯網生態的影響。

**參見**
 長城防火牆（Great Firewall）- 大炮（Great Canon）

**參考來源 ==