2014年1月21日全國DNS污染始末以及分析
2014年1月21日全國DNS 污染始末以及分析大概1月21日15:30的時候,Ovear 正在調試新的服務器,結果發(fā)現(xiàn)腫么突然上不去了。。結果ping 了以下,結果發(fā)現(xiàn)Ovear 的域名都指向到[6
2014年1月21日全國DNS 污染始末以及分析
大概1月21日15:30的時候,Ovear 正在調試新的服務器,結果發(fā)現(xiàn)腫么突然上不去了。。結果ping 了以下,結果發(fā)現(xiàn)Ovear 的域名都指向到[65.49.2.178]這個IP 。Ovear 第一反應就是,DNSPOD 又被黑了!
AD :
大概1月21日15:30的時候,Ovear 正在調試新的服務器,結果發(fā)現(xiàn)腫么突然上不去了。。結果ping 了以下,結果發(fā)現(xiàn)Ovear 的域名都指向到[65.49.2.178]這個IP 。Ovear 第一反應就是,DNSPOD 又被黑了! 為什么說DNSPOD 被黑了呢,其實以前DNSPOD 就出過一次類似的問題,導致所有的域名都跪了,剛好Ovear 這個域名還有測試的幾個域名都是那里的,然后就到某交流群吐槽。結果管理員說他們的DNS 被污染了,Ovear 心想不會是全國DNS 都被污染了吧。結果烏鴉嘴說中了。還真的是全國劫持。
然后Ovear 就很好奇,到底是怎么回事呢~有誰能做到這樣的事情~于是就有了以下的分析和科普~
以下內容為Ovear 家電腦中病毒所致,跟本人無任何關系,謝絕跨省
balablabala 說了這么久,肯定有同學問了,窩又不是學計算機的,dns 是什么,跟我有什么關系!
那么DNS 是什么呢,Ovear 就來科普下。
我們訪問一般是通過域名[Domain]來訪問的,咦DNS 怎么也是D 開頭的,難道有關系? 說對了! 就是有關系:DNS的全稱其實是[Domain Name System]翻譯過來就是域名系統(tǒng)。
在互聯(lián)網中,是只存在IP 的,IP 其實就是一串數(shù)字,相當于你家里的門牌號,大家在網絡中想找到你,必須通過這個,所以IP 對于每個人來說是唯一的。但是第四代IP 都是root-servers.net],儲存著各個后綴域名的[頂級域名根服務器]
[頂級域名根服務器]:每個后綴對應的DNS 服務器,存儲著該[后綴]所有域名的權威DNS
[權威DNS]:這個域名所使用的DNS ,比如說我設置的DNSPOD 的服務器,權威DNS 就是DNSPOD 。在WHOIS(一個查看域名信息的東西) 中可以看到。儲存著這個域名[對應著的每條信息] 如IP 等~
所以正確的解析過程應該跟下面的圖一樣
用戶使用的DNS(邊緣DNS)- (還會網上推很多級最終到) 根DNS- 頂級域名根服務器- 權威DNS)
根DNS 是什么呢? 大家想想,每個域名都有一個后綴, 比如說ovear 是[.info]后綴的。那么就有一個專門記錄[.info]后綴的dns 服務器,其他后綴也一樣。這個DNS 就是該域名的根DNS 。 那么遞歸DNS 呢? 其實遞歸DNS 就是一個代理人,是用來緩解[根DNS]壓力的,如果大家都去問[根DNS],那[根DNS]不早就跪了。畢竟一個人(網站) 的地址不是經常變的,所以就有了TTL 這一說法,根據(jù)DNS 的規(guī)定,在一個TTL 時間呢,大家就認為你家里(域名所指向的IP) 的地址是不會變的,所以代理人[遞歸DNS]在這個時間內,是只會問一次[根DNS]的,如果你第二次問他,他就會直接告訴你域名所指向的IP 地址。這樣就可以解決[根DNS]負載過大的問題啦。
順便這一張圖也可以很準確反映出來之前所說的~
說了這么久,口水都干了,那么DNS 到底跟這次事件有什么關系呢~
首先來看張圖
瓦特! 腫么這么多域名都指向同一個IP 了,這是什么情況0 0。其實這就是典型的[DNS污染]了。
,我們知道互聯(lián)網有兩種協(xié)議,一種是TCP ,一種則是UDP 了(知道泥煤啊(╯‵□ )╯︵┻━┻都說我不是學計算機的了) 。
TCP 和UDP 的主要差別就是:能不能保證傳遞信息的可靠性。UDP 是不管消息是否到達了目標,也不管通過什么途徑的,他只管我發(fā)出去了就好,所以UDP 比TCP 快得多,但是可靠性沒有TCP 好。
而DNS 查詢默認就是用的是UDP ,那么就很好劫持啦。在UDP 包任何傳輸?shù)穆吠旧?,直接攔截,然后返回給接收端就行了。
嘖嘖,說道這大家也隱隱約約知道這次事件的問題了吧,范圍如此之廣的劫持,必須要在各個省市的主干網上進行,而能處理這么大數(shù)據(jù),同時能控制這么多主干網的。。嘖嘖嘖。。。沒錯! 就是***了~至于***是什么,Ovear 在這就不說了,不然可能大家都見不到Ovear 了QAQ 。 說道這里,Ovear 就準備手動查一下,到底是不是所推測的***呢? 于是拿到了這個圖(From XiaoXin)
與此同時運維也在各地的服務器上開始了跟蹤查詢,發(fā)現(xiàn)全國各地解析時間均為25ms 左右。這時候結論就出來了。
這樣就明顯了,肯定是***做的了~~于是Ovear 又好奇的查了下,這個IP 是什么來頭,為什么都要指向到這里去,于是Ovear 發(fā)現(xiàn)了一些好玩的東西~(65.49.2.024)
從側面點出了此次事件的始作俑者。
那么某FW 為什么要這么做呢?Ovear 在這里做一個無責任的推測,最有可能的就是:某FW 的員工本來是想屏蔽這個IP 段的,但是呢一不小心點進去了DNS 污染這個選項,然后又沒寫污染目標,于是就全局污染了嘖嘖嘖~
但是有些童鞋會問了,為什么他們都說用8.8.8.8就沒事了~
其實這樣子說是不正確的,因為Ovear 之前用的就是8.8.8.8,上面也說了DNS 查詢默認使用的UDP 查詢,所以不管你用什么,照樣劫持不誤。其實8.8.8.8沒問題是因為污染事件已經基本結束導致的,那么為什么污染結束后其他國內DNS 都不能用,而Goole 的DNS 確可以正常的使用~于是Ovear 就找到了張有趣的圖片~
我先來解釋下上面命令的用途吧~這個命令是用來直接向DNS 服務器查詢域名的~
其中的[-vc]參數(shù)是強制使用TCP 來查詢DNS 服務器,這樣就可以避免UDP 污染的地圖炮。 那么為什么污染結束后,DNS 還會受到污染呢? 其實原因很簡單。Ovear 之前說了,[遞歸DNS]是需要詢問[根DNS]的,而默認的詢問方式是采用的UDP ,所以在國內的DNS 服務器,自然就受到污染了。而之前Ovear 也提到過TTL 這件事~
在TTL 周期內,根據(jù)協(xié)議[遞歸DNS]是直接吧結果緩存在自己那,是不會再去查詢[根DNS]的,所以國內的DNS 就把錯誤的結果緩存起來了~
而Google 的DNS 服務器基本都是在國外,所以查詢的時候影響并不大,但是國內挺多域名使用DNSPOD 啦,DNSLA 的DNS ,所以Google 進國內查,還是會受到一定影響的。
因此,如果要完全避免這次的影響,有兩個條件
1、你的域名的DNS 必須是在國外
2、你查詢的DNS 必須在國外,而且如果在污染期需要通過TCP 查詢。
這樣就可以避免這個問題了。
然后Ovear 又手賤查了下這次的TTL ,嘖嘖
,如果沒有人員來手動干預,這次的事件還是要持續(xù)蠻久的~?!揪庉嬐扑]】國內互聯(lián)網根域出現(xiàn)重大故障 大量網站無法打開國內出現(xiàn)大面積DNS 服務器故障追蹤報道:國內互聯(lián)網根域解析異常 事件成因不單純【責任編輯:藍雨淚 TEL:(010)68476606】
網絡技術應試輔導(三級)
本書根據(jù)教育部考試中心2004年最新發(fā)布的《全國計算機等級考試大綱》編寫,針對計算機等級考試三級網絡技術各方面的考點進行講解