1987年,中國發出了第一封電子郵件:Across the Great Wall, we can reach every corner in the world(越過長城,走向世界每個角落)。從那一年開始,我們用互聯網和這個世界聯係在一起了,但是就在12年後,那個越不過去長城,回來了。
1998年,為了防止大家訪問部分網站,針對IP和DNS的汙染,開始了。伴隨著汙染,牆和梯的較量正式開始。 早期的GFW不能稱之為牆,更像是一個補丁,隻是單純的汙染DNS,那麽我們修改DNS服務器就可以繞過去。 加上國內的DNS也流氓,所以大家大多會把DNS改成Google提供的 8.8.8.8/8.8.4.4
。
這樣幼稚的屏蔽方式,政府也知道是不行的,於是,真正的GFW正式登上曆史舞台。
除了屏蔽特定的IP或者域名之類,GFW還會審查流量內容,因為當時大部分的網站都沒有用HTTPS進行加密,所以流量是非常透明的,審查起來很容易。 當然,也會對URL進行審查,有一段時間Google無法訪問,就是因為URL裏麵又一個叫gs_rfai
的參數,其中rfa字樣,與在大陸被封鎖的自由亞洲電台的網址和英文縮寫巧合而被GFW屏蔽。 近幾年HTTPS普及了,針對內容審查手段也就慢慢失效了。
牆的其它升級就簡單的多了,主要就是兩個任務:
針對IP、域名列表的擴充,擴大黑名單範圍;
對新增的翻牆工具的封堵。
這些是功能上的升級,性能上也在升級,據傳說16年,GFW就擁有100多台小型機做的集群了(而且,各地的GFW似乎也沒能完美的同步(也可能是故意的),大致是以省為單位,有的時候會出現某個網站隻能被某些省訪問的情況出現)。
舉些升級的例子:
比如你用HTTP/SOCKS代理翻牆,那我就檢測代理的流量特征(於是HTTP/SOCKS代理,卒)。
你用SSH翻牆,我就檢測你的流量特征,分析你到底是在執行命令,傳輸文件還是在打隧道翻牆
但是SSH隧道目前仍然可用,技術角度說,完全區分SSH/SFTP和翻牆流量還是有難度的
你用GoAgent翻牆,那我就屏蔽Google的所有IP。
你用PPTP翻牆,那我就檢測PPTP的協議,直接殺。
OpenVPN也遭遇了PPTP同樣的待遇。
但是AnyConnect沒有,因為很多外企在使用它連接公司內網。
Shadowsocks也差點遭受和各大VPN一樣的待遇,但是因為SS的流量實在難以識別,所以當時(大約2015年)解決的方式更加粗暴:請Shadowsocks的作者喝茶。
後來(大約2020年前)Shadowsocks還是被識別了,參見這個報告。
目前最強大的工具應該是V2Ray,除了支持的協議多,其中的VMess協議對計算機時鍾的要求讓這個係統可以抵禦一定的流量重放攻擊。
最近大家開始用Vultr/Linode搭建服務器這個的確不好管,但是重要節假日(每年0110月/0100日前後,國慶,兩會)就批量屏蔽這些IP。
GFW不僅防止國內用戶訪問國外主機,有的時候還會禁止一些境外IP訪問國內的主機,這樣可以屏蔽部分使用內網穿透技術的人。
HTTPS代理,TLS給HTTP代理穿上了鎧甲,使之又能再戰500年。但是考慮到GFW會主動刺探,所以最好將代理的endpoint隱藏在正常網站的某個子路徑下。
SSH隧道,SSH采用非對稱加密,再加上有廣泛的正常用途(管理服務器)所以目前SSH隧道還是可用的。
Shadowsocks/V2Ray/GoProxy 其實可以理解為對你的代理流量進行加密和混淆的工具,但是GFW在慢慢嚐試識別這些流量。
需要特別說明一下的是,GoProxy比較特殊,支持內網穿透。
AnyConnect等商用方案。
突發!中共偽政權用於阻塞人民耳目的防火牆(GFW)今日被黑客攻破,並在網上公布包括源代碼在內的超過500GB的內部文檔 - 精木發表於 時事述評 - 論壇 | 文學城
Enlace Hacktivista提供了獲取泄露數據的途徑:
泄漏文件總計約 600 GB。其中mirror/repo.tar
單個文件,作為RPM打包服務器的存檔就占了500 GB。
具體的文件的使用方法,David Fifield已經在Net4People 上提供了更詳盡的說明。
根據泄露文件,積至公司至少向五個國家提供了技術服務:哈薩克斯坦、埃塞俄比亞、緬甸、巴基斯坦,以及一個僅以代號A24出現的未公開國家。這些國家在泄露材料中都以代號標識,多數情況下代號由國家名稱首字母與兩位年份組成。