編者注:這是一篇舊文,來源已不可考,但是依舊有參考價值,分享給諸君。
?
隨著網絡的逐步普及,網絡安全已成為INTERNET路上事實上的焦點,它關系著INTERNET的進一步發展和普及,甚至關系著 INTERNET的生存。可喜的是我們那些互聯網專家們并沒有令廣大INTERNET用戶失望,網絡安全技術也不斷出現,使廣大網民和企業有了更多的放 心,下面就網絡安全中的主要技術作一簡介,希望能為網民和企業在網絡安全方面提供一個網絡安全方案參考。
?
?
DNS的工作原理
?
DNS分為Client和Server,Client扮演發問的角色,也就是問Server一個Domain Name,而Server必須要回答此Domain Name的真正IP地址。而當地的DNS先會查自己的資料庫。如果自己的資料庫沒有,則會往該DNS上所設的的DNS詢問,依此得到答案之后,將收到的答 案存起來,并回答客戶。
?
DNS服務器會根據不同的授權區(Zone),記錄所屬該網域下的各名稱資料,這個資料包括網域下的次網域名稱及主機名稱。
?
在每一個名稱服務器中都有一個快取緩存區(Cache),這個快取緩存區的主要目的是將該名稱服務器所查詢出來的名稱及相對的IP地址記錄在快 取緩存區中,這樣當下一次還有另外一個客戶端到次服務器上去查詢相同的名稱 時,服務器就不用在到別臺主機上去尋找,而直接可以從緩存區中找到該筆名稱記錄資料,傳回給客戶端,加速客戶端對名稱查詢的速度。例如:
?
當DNS客戶端向指定的DNS服務器查詢網際網路上的某一臺主機名稱 DNS服務器會在該資料庫中找尋用戶所指定的名稱 如果沒有,該服務器會先在自己的快取緩存區中查詢有無該筆紀錄,如果找到該筆名稱記錄后,會從DNS服務器直接將所對應到的IP地址傳回給客戶端 ,如果名稱服務器在資料記錄查不到且快取緩存區中也沒有時,服務器首先會才會向別的名稱服務器查詢所要的名稱。例如:
?
DNS客戶端向指定的DNS服務器查詢網際網路上某臺主機名稱,當DNS服務器在該資料記錄找不到用戶所指定的名稱時,會轉向該服務器的快取緩 存區找尋是否有該資料 ,當快取緩存區也找不到時,會向最接近的名稱服務器去要求幫忙找尋該名稱的IP地址 ,在另一臺服務器上也有相同的動作的查詢,當查詢到后會回復原本要求查詢的服務器,該DNS服務器在接收到另一臺DNS服務器查詢的結果后,先將所查詢到 的主機名稱及對應IP地址記錄到快取緩存區中 ,最后在將所查詢到的結果回復給客戶端
?
?
常見的DNS攻擊
?
1) 域名劫持
?
通過采用黑客手段控制了域名管理密碼和域名管理郵箱,然后將該域名的NS紀錄指向到黑客可以控制的DNS服務器,然后通過在該DNS服務器上添加相應域名紀錄,從而使網民訪問該域名時,進入了黑客所指向的內容。
?
這顯然是DNS服務提供商的責任,用戶束手無策。
?
2) 緩存投毒
?
利用控制DNS緩存服務器,把原本準備訪問某網站的用戶在不知不覺中帶到黑客指向的其他網站上。其實現方式有多種,比如可以通過利用網民ISP 端的DNS緩存服務器的漏洞進行攻擊或控制,從而改變該ISP內的用戶訪問域名的響應結果;或者,黑客通過利用用戶權威域名服務器上的漏洞,如當用戶權威 域名服務器同時可以被當作緩存服務器使用,黑客可以實現緩存投毒,將錯誤的域名紀錄存入緩存中,從而使所有使用該緩存服務器的用戶得到錯誤的DNS解析結 果。
?
最近發現的DNS重大缺陷,就是這種方式的。只所以說是“重大”缺陷,據報道是因為是協議自身的設計實現問題造成的,幾乎所有的DNS軟件都存在這樣的問題。
?
3)DDOS攻擊
?
一種攻擊針對DNS服務器軟件本身,通常利用BIND軟件程序中的漏洞,導致DNS服務器崩潰或拒絕服務;另一種攻擊的目標不是DNS服務器,而是利用DNS服務器作為中間的“攻擊放大器”,去攻擊其它互聯網上的主機,導致被攻擊主機拒絕服務。
?
4)DNS欺騙
?
DNS欺騙就是攻擊者冒充域名服務器的一種欺騙行為。
?
原理:如果可以冒充域名服務器,然后把查詢的IP地址設為攻擊者的IP地址,這樣的話,用戶上網就只能看到攻擊者的主頁,而不是用戶想要取得的網站的主頁了,這就是DNS欺騙的基本原理。DNS欺騙其實并不是真的“黑掉”了對方的網站,而是冒名頂替、招搖撞騙罷了。
?
?
防止DNS被攻擊的若干防范性措施
?
互聯網上的DNS放大攻擊(DNS amplification attacks)急劇增長。這種攻擊是一種數據包的大量變體能夠產生針對一個目標的大量的虛假的通訊。這種虛假通訊的數量有多大?每秒鐘達數GB,足以阻止任何人進入互聯網。
?
與老式的“smurf attacks”攻擊非常相似,DNS放大攻擊使用針對無辜的第三方的欺騙性的數據包來放大通訊量,其目的是耗盡受害者的全部帶寬。但是,“smurf attacks”攻擊是向一個網絡廣播地址發送數據包以達到放大通訊的目的。DNS放大攻擊不包括廣播地址。相反,這種攻擊向互聯網上的一系列無辜的第三 方DNS服務器發送小的和欺騙性的詢問信息。這些DNS服務器隨后將向表面上是提出查詢的那臺服務器發回大量的回復,導致通訊量的放大并且最終把攻擊目標 淹沒。因為DNS是以無狀態的UDP數據包為基礎的,采取這種欺騙方式是司空見慣的。
?
這種攻擊主要依靠對DNS實施60個字節左右的查詢,回復最多可達512個字節,從而使通訊量放大8.5倍。這對于攻擊者來說是不錯的,但是,仍沒有達到攻擊者希望得到了淹沒的水平。最近,攻擊者采用了一些更新的技術把目前的DNS放大攻擊提高了好幾倍。
?
當前許多DNS服務器支持EDNS。EDNS是DNS的一套擴大機制,RFC 2671對次有介紹。一些選擇能夠讓DNS回復超過512字節并且仍然使用UDP,如果要求者指出它能夠處理這樣大的DNS查詢的話。攻擊者已經利用這種 方法產生了大量的通訊。通過發送一個60個字節的查詢來獲取一個大約4000個字節的記錄,攻擊者能夠把通訊量放大66倍。一些這種性質的攻擊已經產生了 每秒鐘許多GB的通訊量,對于某些目標的攻擊甚至超過了每秒鐘10GB的通訊量。
?
要實現這種攻擊,攻擊者首先要找到幾臺代表互聯網上的某個人實施循環查詢工作的第三方DNS服務器(大多數DNS服務器都有這種設置)。由于支 持循環查詢,攻擊者可以向一臺DNS服務器發送一個查詢,這臺DNS服務器隨后把這個查詢(以循環的方式)發送給攻擊者選擇的一臺DNS服務器。接下來, 攻擊者向這些服務器發送一個DNS記錄查詢,這個記錄是攻擊者在自己的DNS服務器上控制的。由于這些服務器被設置為循環查詢,這些第三方服務器就向攻擊 者發回這些請求。攻擊者在DNS服務器上存儲了一個4000個字節的文本用于進行這種DNS放大攻擊。
?
現在,由于攻擊者已經向第三方DNS服務器的緩存中加入了大量的記錄,攻擊者接下來向這些服務器發送DNS查詢信息(帶有啟用大量回復的 EDNS選項),并采取欺騙手段讓那些DNS服務器認為這個查詢信息是從攻擊者希望攻擊的那個IP地址發出來的。這些第三方DNS服務器于是就用這個 4000個字節的文本記錄進行回復,用大量的UDP數據包淹沒受害者。攻擊者向第三方DNS服務器發出數百萬小的和欺騙性的查詢信息,這些DNS服務器將 用大量的DNS回復數據包淹沒那個受害者。
?
如何防御這種大規模攻擊呢?首先,保證你擁有足夠的帶寬承受小規模的洪水般的攻擊。一個單一的T1線路對于重要的互聯網連接是不夠的,因為任何 惡意的腳本少年都可以消耗掉你的帶寬。如果你的連接不是執行重要任務的,一條T1線路就夠了。否則,你就需要更多的帶寬以便承受小規模的洪水般的攻擊。不 過,幾乎任何人都無法承受每秒鐘數GB的DNS放大攻擊。
?
因此,你要保證手邊有能夠與你的ISP隨時取得聯系的應急電話號碼。這樣,一旦發生這種攻擊,你可以馬上與ISP聯系,讓他們在上游過濾掉這種 攻擊。要識別這種攻擊,你要查看包含DNS回復的大量通訊(源UDP端口53),特別是要查看那些擁有大量DNS記錄的端口。一些ISP已經在其整個網絡 上部署了傳感器以便檢測各種類型的早期大量通訊。這樣,你的ISP很可能在你發現這種攻擊之前就發現和避免了這種攻擊。你要問一下你的ISP是否擁有這個 能力。
?
最后,為了幫助阻止惡意人員使用你的DNS服務器作為一個實施這種DNS放大攻擊的代理,你要保證你的可以從外部訪問的DNS服務器僅為你自己 的網絡執行循環查詢,不為任何互聯網上的地址進行這種查詢。大多數主要DNS服務器擁有限制循環查詢的能力,因此,它們僅接受某些網絡的查詢,比如你自己 的網絡。通過阻止利用循環查詢裝載大型有害的DNS記錄,你就可以防止你的DNS服務器成為這個問題的一部分。
?
?
?
原文地址: http://linux.cn/article-2842-1.html
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
