是什麼在阻止你訪問facebook、youtube、twitter?

當你在國外留學的朋友,給你分享了一個youtube的鏈接,讓你看她最近拍的視頻短片,可是你點開連接卻發現無法訪問這個網站。當你使用google的Gmail服務時,發現網絡時斷時好,你收否在心裏咒罵google的垃圾服務而轉投國內郵箱呢?



    你知道這一切到底是什麼原因嗎?
    阻擋你的就是中國防火牆
   ——————————————————————————————————
    防火長城(英語:Great Firewall,常用簡稱:GFW或功夫網,中文也稱中國國家防火牆、長城防火牆)是對中國政府在其管轄互聯網內部建立的多套網絡審查系統的稱呼。中文“牆”和英文“GFW”已被用於動詞,“GFWed”及“被牆”均指被防火長城所屏蔽。
    防火長城主要指中國政府監控和過濾互聯網內容的軟硬件系統,由服務器和路由器等設備,加上相關的應用程序所構成。它的作用主要是監控網絡上的通訊,對認爲不符合中國官方要求的傳輸內容,進行干擾、阻斷、屏蔽。由於中國網絡審查廣泛,中國國內含有“不合適”內容的的網站,會受到政府直接的行政干預,被要求自我審查、自我監管,乃至關閉。
    由於facebook、youtube、twitter等國外網站,政府無法對"不合適"的內容進行審查,所以牆的存在就成了必然,除了這些衆所周知的網站,一些境外黃色網站,反動網站等大量網站也納入了被牆的範圍。由於牆一個網站需要耗費cpu運算資源,所以境外網站依據“危害”程度被牆的等級也是不同的,訪問某些被牆的網站只需更改host文件(防止dns劫持),而一些危害級別高的網站,只通過修改host是無法訪問的。故防火長城主要作用在於分析和過濾中國境內外網絡的資訊互相訪問(因此如果你***後,在百度搜索敏感字,連接也會被中斷)
    中國工程院院士、北京郵電大學校長方濱興是防火長城關鍵部分的首要設計師。
    主要技術
    1.域名劫持
    原理:防火長城對所有經過骨幹出口路由的在UDP的53端口上的域名查詢進行IDS***檢測,一經發現與黑名單關鍵詞相匹配的域名查詢請求,防火長城會馬上僞裝成目標域名的解析服務器給查詢者返回虛假結果。由於通常的域名查詢沒有任何認證機制,而且域名查詢通常基於的UDP協議是無連接不可靠的協議,查詢者只能接受最先到達的格式正確結果,並丟棄之後的結果。而用戶直接查詢境外域名查詢服務器(如Google Public DNS)又可能會被防火長城污染,從而在沒有任何防範機制的情況下仍然不能獲得目標網站正確的IP地址。    
    從2002年左右開始,中國大陸的網絡安全單位開始採用域名劫持(域名污染)技術,使用思科(Cisco)提供的路由器IDS監測系統來進行域名劫持,防止了一般民衆訪問被過濾的網站,2002年Google被封鎖期間其域名就被劫持到百度,而中國部分ISP也會通過此技術插入廣告。對於含有多個IP地址或經常變更IP地址逃避封鎖的域名,防火長城通常會使用此方法進行封鎖,具體方法是當用戶向境內DNS服務器提交域名請求時,DNS服務器返回虛假(或不解析)的IP地址。    
    全球一共有13組根域名服務器(Root Server),先前中國大陸有F、I這2個根域DNS鏡像,但現在均已因爲多次DNS污染外國網絡,威脅互聯網安全和自由而被斷開與國際互聯網的連接。

    2.特定IP地址封鎖
    原理:相比起之前使用的控制訪問列表(ACL)技術,現在防火長城採用了效率更高的路由擴散技術封鎖特定IP地址。正常的情況下,靜態路由是由管理員根據網絡拓撲或是基於其它目的而給出的一條路由,所以這條路由最起碼是要正確的,這樣可以引導路由器把報文轉發到正確的目的地。而防火長城的路由擴散技術中使用的靜態路由其實是一條錯誤的路由,而且是有意配置錯誤的,其目的就是爲了把本來是發往某個IP地址的報文統統引導到一個“黑洞服務器”上,而不是把它們轉發到正確目的地。這個黑洞服務器上可以什麼也不做,這樣報文就被無聲無息地丟掉了。更多地,可以在服務器上對這些報文進行分析和統計,獲取更多的信息,甚至可以做一個虛假的迴應。這些錯誤靜態路由信息會把相應的IP報文引導到黑洞服務器上,通過動態路由協議的路由重分發功能,這些錯誤的路由信息可以發佈到整個網絡。這樣對於路由器來講現在只是在根據這條路由條目做一個常規報文轉發動作,無需再進行ACL匹配,與以前的老方法相比,大大提高了報文的轉發效率。但也有技術人員指出,從以前匹配ACL表到現在匹配路由表是“換湯不換藥”的做法,依然非常耗費路由器的性能。而且中國大陸共有9個國際互聯網出口和相當數量的骨幹路由,通過這種方法封鎖特定IP地址需要修改路由表,故需要各個ISP配合配置,所以其封鎖成本也是各種封鎖方法裏最高的。    
    一般情況下,防火長城對於中國大陸境外的“非法”網站會採取獨立IP封鎖技術,然而部分“非法”網站使用的是由虛擬主機服務提供商提供的多域名、單(同)IP的主機託管服務,這就會造成了封禁某個IP地址,就會造成所有使用該服務提供商服務的其他使用相同IP地址服務器的網站用戶一同遭殃,就算是“內容健康、政治無關”的網站,也不能倖免。其中的內容可能並無不當之處,但也不能在中國大陸正常訪問。

    3.特定IP地址端口封鎖
    原理:防火長城配合上文中特定IP地址封鎖里路由擴散技術封鎖的方法進一步精確到端口,從而使發往特定IP地址上特定端口的數據包全部被丟棄而達到封鎖目的,使該IP地址上服務器的部分功能無法在中國大陸境內正常使用。    
    經常會被防火長城封鎖的端口(均爲TCP協議):
    SSH的22端口;      
    ***的1723端口;    
    TLS/SSL/HTTPS的443端口    
    在中國移動、中國聯通等部分ISP(手機IP段),所有的PPTP類型的***都遭到封鎖。    
    2011年3月起,防火長城開始對Google部分服務器的IP地址實施自動封鎖(按時間段)某些端口,按時段對 www.google.com (用戶登錄所有Google服務時需此域名加密驗證)和 mail.google.com 的幾十個IP地址的443端口實施自動封鎖,具體是每10或15分鐘可以連通,接着斷開,10或15分鐘後再連通,再斷開,如此循環,令中國大陸用戶和Google主機之間的連接出現間歇性中斷,使其各項加密服務出現問題。[15] Google指中國這樣的封鎖手法高明,因爲Gmail並非被完全阻斷,營造出Google服務“不穩定”的假象,表面上看上去好像出自Google本身。

    4.無狀態TCP連接重置    
    原理:防火長城會監控特定IP地址的所有數據包,若發現匹配的黑名單動作(例如 TLS加密連接的握手),其會直接在TCP連接握手的第二步即SYN-ACK之後僞裝成對方向連接兩端的計算機發送RST包(RESET)重置連接,使用戶無法正常連接服務器。    
    這種方法和特定IP地址端口封鎖時直接丟棄數據包不一樣,因爲是直接切斷雙方連接因此封鎖成本很低,故對於Google的多項(強制)加密服務例如Google文件、Google網上論壇、Google+和Google個人資料等的TLS加密連接都是採取這種方法予以封鎖。

    5.特定TLS證書阻斷    
    原理:在TLS加密連接握手時,因爲TLS證書是明文傳輸的,所以防火長城會阻斷特定證書的加密連接,方法和無狀態TCP連接重置一樣都是發現匹配的黑名單證書後通過僞裝成對方向連接兩端的計算機發送RST包(RESET)干擾兩者間正常的TCP連接,進而打斷與特定IP地址之間的TLS(HTTPS,443端口)握手,從而導致TLS連接失敗。但由於TLS本身的特點,這並不意味着與網站傳輸的內容可被破譯。    
    Tor項目的研究人員則發現防火長城會用隨機的二進制數據刺探加密連接,對任何從中國訪問境外HTTPS 443端口的連接都會在幾乎實時的情況下被刺探。而對於Tor,當中國的一個Tor客戶端與境外的網橋中繼建立連接時,探針會以15分鐘週期嘗試與Tor進行SSL協商和重協商,但目的不是建立TCP連接。

    6.明文HTTP協議關鍵字過濾阻斷    
    原理:防火長城用於切斷TCP連接的技術其實是TCP的一種消息,用於重置連接。一般來說,例如服務器端在沒有客戶端請求的端口或者其它連接信息不符時,系統的TCP協議棧就會給客戶端回覆一個RESET通知消息,可見RESET功能本來用於應對例如服務器意外重啓等情況。而發送連接重置包比直接將數據包丟棄要好,因爲如果是直接丟棄數據包的話客戶端並不知道具體網絡狀況,基於TCP協議的重發和超時機制,客戶端就會不停地等待和重發加重防火長城審查的負擔,但當客戶端收到RESET消息時就可以知道網絡被斷開不會再等待了。而實際上防火長城通過將TCP連接時服務器發回的SYN/ACK包中服務器向用戶發送的序列號改爲0從而使客戶端受騙認爲服務器重置了連接而主動放棄向服務器發送請求,故這種封鎖方式不會耗費太多防火長城的資源而效果很好,成本也相當的低,但因爲中國大陸的出口流量非常龐大因此就算是防火長城擁有極強的計算能力也只會監控第一個發起的TCP連接從而節省資源。


    7.間歇完全封鎖國際出口
    從2011年5月6日起,中國大陸境內很多互聯網公司以及高校、學院、科研單位的對外網絡連接都出現問題,包括中國科學院。有分析指斷網可能是因爲防火長城已經具有了探測和分析大量加密流量,並對用戶IP地址執行封鎖,而各大機構的出口被封也在其中。具體表現爲:當用戶使用了破網軟件後,其所在的公共網絡IP地址會被臨時封鎖,所有的國際網站都無法訪問,包括MSN、iTunes Store等,而訪問國內網站卻正常,但如果使用境外的DNS解析域名則將會由於DNS服務器被封鎖導致無法解析任何域名,國內網站也會無法打開。也有分析指,此舉是中國當局在測試逐步切斷大部分人訪問國際網站的措施,以試探用戶反應並最終達到推行網絡“白名單”制,也就是凡沒有在名單上的企業或團體其網絡域名將不能解析,一般用戶也無法訪問。

    8.對電子郵件通訊的攔截
    2007年7月17日,大量使用中國國內郵件服務商的用戶與國外通信出現了退信、丟信等普遍現象。
    GFW會過濾進出郵件,當發現關鍵字後會通過僞造RST包阻斷連接。
    也有網友測試發現,如果附件的名字或內容包含關鍵字,即使附件壓縮成壓縮包,GFW也能檢測到,並對產生動作。

    硬件
    據估計,防火長城可能擁有數百臺曙光4000L服務器。另外,思科公司也被批評參與了中國網絡審查機制。    
    1.防火長城(北京)使用曙光4000L機羣,操作系統爲Red Hat系列(從7.2 到7.3 到AS 4),周邊軟件見曙光4000L一般配置    
    2.防火長城實驗室(哈爾濱工業大學)使用曙光服務器,Red Hat操作系統    
    3.防火長城(上海)使用Beowulf集羣。GFW是曙光4000L的主要需求來源、研究發起者、客戶、股東、共同開發者。2007年防火長城機羣規模進一步擴大,北京增至360節點,上海增至128節點,哈爾濱增至64節點,共計552節點。機羣間星型千兆互聯。計劃節點數上千。    
    4.有理由相信防火長城(北京)擁有16套曙光4000L,每套384節點,其中24個服務和數據庫節點,360個計算節點。每套價格約兩千萬到三千萬,佔005工程經費的主要部分。有3套(將)用於虛擬計算環境實驗牀,計千餘節點。13套用於骨幹網絡過濾。總計6144節點,12288CPU,12288GB內存,峯值計算速度48萬億次。    
    5. 2GHz CPU的主機Linux操作系統下可達到600Kbps以上的捕包率。通過骨幹網實驗,配置16個數據流總線即可以線速處理八路OC48接口網絡數據。曙光4000L單結點的接入能力爲每秒65萬數據包,整個系統能夠滿足32Gbps的實時數據流的併發接入要求。有理由相信GFW的總吞吐量爲512Gbps甚至更高(北京)。




   更多網絡技術歡迎關注公共主頁:網絡工程師——熱愛網絡技術的聚集地
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章