域名劫持域名服務(wù)器上都會保存一大堆的域名記錄(每條記錄包含“域名”和“IP地址”)。當(dāng)收到域名查詢的時候,域名服務(wù)器會從這堆記錄中找到對方想要的,然后回應(yīng)給對方。如果域名服務(wù)器上的某條記錄被【人為修改】了(改成錯的),那么一旦要查詢這條記錄,得到的就是錯誤的結(jié)果。這種情況稱之為“域名劫持”?!镎l有“域名劫持”的企圖?“域名劫持”通常是電信運營商(ISP)干的好事兒。很多寬帶用戶用的域名服務(wù)器就是
域名劫持
域名服務(wù)器上都會保存一大堆的域名記錄(每條記錄包含“域名”和“IP地址”)。當(dāng)收到域名查詢的時候,域名服務(wù)器會從這堆記錄中找到對方想要的,然后回應(yīng)給對方。
如果域名服務(wù)器上的某條記錄被【人為修改】了(改成錯的),那么一旦要查詢這條記錄,得到的就是錯誤的結(jié)果。這種情況稱之為“域名劫持”。
★誰有“域名劫持”的企圖?
“域名劫持”通常是電信運營商(ISP)干的好事兒。很多寬帶用戶用的域名服務(wù)器就是 ISP 提供給你的。
舉例:
前幾年曾經(jīng)出現(xiàn)過:某個 ISP 跟某網(wǎng)站勾結(jié),把維基百科的流量重定向到XX。具體搞法是:該 ISP 篡改自己的域名服務(wù)器的記錄,把里面跟維基百科 相關(guān)的域名記錄的 IP地址 修改為XX的 IP地址。如此一來,假設(shè)你用的是這個 ISP 的域名服務(wù)器,當(dāng)你在瀏覽器輸入 http://zh.wikipedia.org/的時候,你的電腦查詢到的 IP地址 其實是XX的 IP地址,所以瀏覽器打開的是“XX”的主頁。
★如何對付“域名劫持”?
剛才說了,“域名劫持”的根源在于:域名服務(wù)器上的記錄被人給改了。要對付這種耍流氓,最直接的辦法就是不要使用這種流氓 ISP 提供的域名服務(wù)器,改用國外那些比較靠譜的。目前口碑最好的,大概是 Google 提供的兩個域名服務(wù)器,IP地址 分別是 8.8.8.8 和 8.8.4.4 ——這倆不光是地址好記,更重要的是,不會耍流氓。
域名污染
先提醒一下:“域名污染”這個詞還有其它幾個別名,分別是“域名欺騙”、“域名緩存投毒”(洋文叫:DNS cache poisoning)。今后看到這幾個別名,要曉得是同一個意思。
“域名污染”的原理,簡單說來是這樣滴:當(dāng)你的電腦向域名服務(wù)器發(fā)送了“域名查詢”的請求,然后域名服務(wù)器把回應(yīng)發(fā)送給你的電腦,這之間是有一個時間差的。如果某個攻擊者能夠在域名服務(wù)器的“DNS應(yīng)答”還沒有到達你的電腦之前,先偽造一個錯誤的“DNS應(yīng)答”發(fā)給你電腦。那么你的電腦收到的就是錯誤的信息,并得到一個錯誤的 IP地址。
★誰有“域名污染”的企圖?
從技術(shù)上講,只要攻擊者能夠位于“你”和“域名服務(wù)器”的傳輸線路中間,那么攻擊者就有機會搞“域名污染”。能夠做到這點的,可能是一個黑客/駭客,也可能是 ISP。
★某國家防火墻的兩種“域名污染”
剛才俺解釋了“域名污染”的原理,那種形式不妨稱為“直接污染”。由于某國家防火墻的特殊性,它不但可以做到“直接污染”,還可以做到“間接污染”。而普通的駭客頂多只能做到“直接污染”,難以做到“大范圍的間接污染”。
那么這兩種污染有啥區(qū)別捏?且聽俺細細道來。
◇某國家防火墻部署在哪?
首先有必要先掃盲一下“某國家防火墻(其實是一種IDS,也就是入侵檢測系統(tǒng))的部署位置”。X國互聯(lián)網(wǎng)只有少數(shù)幾個國際出口(名氣較大的是:A出口、B出口、C出口)。如果你要訪問國外網(wǎng)站,你的網(wǎng)絡(luò)數(shù)據(jù)流就必定會經(jīng)過其中的某個“國際出口”。
◇某國家防火墻的直接污染
因為某國家防火墻部署在國際出口。如果你用的是【國外的】域名服務(wù)器,你的“DNS請求”必定會經(jīng)過國際出口;同樣,域名服務(wù)器的“DNS應(yīng)答”必定也會經(jīng)過國際出口才能到你的電腦。這一來一回就給某國家防火墻 提供了機會。
這種污染就是俺所說的“直接污染”。
◇某國家防火墻 的間接污染
剛才介紹了“使用國外域名服務(wù)器會被直接污染”。那如果你用的是【國內(nèi)的】域名服務(wù)器捏?就會被“間接污染”。過程如下:
1. 比方說你用的是電信的 DNS服務(wù)器,然后你想要訪問某個被不受歡迎的網(wǎng)站。
2. 對于不受歡迎的網(wǎng)站,其網(wǎng)站服務(wù)器必定在國外,而且網(wǎng)站的域名肯定也不會使用 CN 之下的域名。所以,被封鎖的網(wǎng)站,其上級域名的“權(quán)威域名服務(wù)器”肯定也是在國外。
3. 當(dāng)你向“電信的DNS服務(wù)器”查詢反共網(wǎng)站的域名,這臺“電信的DNS服務(wù)器”就會去找這個不受歡迎的網(wǎng)站的上一級域名對應(yīng)的“權(quán)威域名服務(wù)器”去進行“域名查詢”。
4. 因為是從國外進行域名查詢,相關(guān)的數(shù)據(jù)流必定要經(jīng)過國際出口。一旦經(jīng)過國際出口,就會被 某國家防火墻 污染。
5. 如此一來,“電信的域名服務(wù)器”拿到的是已經(jīng)被污染的域名記錄(里面的IP是錯的)。而且“電信的域名服務(wù)器”會把這條錯誤的記錄保存在自己的域名緩存中。
6. 下次如果有另一個網(wǎng)友也找這臺“電信的域名服務(wù)”查詢這個不受歡迎的網(wǎng)站,也會查到錯誤的結(jié)果。
上述過程不斷重復(fù),最終會導(dǎo)致:全國所有的域名服務(wù)器,它們的緩存中只要是包含了不受歡迎的網(wǎng)站的記錄,記錄中的 IP地址 必定是錯的(這個錯誤的 IP地址 也就是 某國家防火墻 偽造的那個)。所以說“間接污染”是很牛逼的,可以把錯誤的域名記錄擴散到全國。
剛才俺說了,“域名污染”也叫“域名緩存投毒”?!巴抖尽币辉~真的非常形象——就好象在某條河流的源頭下毒,從而把整條河流的水都污染?!坝蛎廴尽敝苯悠茐牧嘶ヂ?lián)網(wǎng)的基礎(chǔ)設(shè)施。