CC(CC@CERNET.EDU.CN)
CQ(QCHEN@CERNET.EDU.CN)
關于這種流量異常我們有2種解釋
1.錯誤的配置
在DNS的配置選項中,有一項是關于轉發的配置,這個配置的作用是當服務器不能對客戶端的域名請求進行解析時,其請求都傳遞給了另一個DNS服務器,而另一臺服務器的轉發選項卻是這臺服務器,所以造成了環回,流量就會很大。
2.黑客入侵
2.1 在黑客入侵中,最大的元兇就是Ddos,根據分析,攻擊者在進行DDoS攻擊前總要解析目標的主機名。BIND域名服務器能夠記錄這些請求。由于每臺攻擊服務器在進行一個攻擊前會發出PTR反向查詢請求,也就是說在DDoS攻擊前域名服務器會接收到大量的反向解析目標IP主機名的PTR查詢請求。也就造成了流量的增大。
2.2 或者是攻擊者直接對您的DNS發起DOS攻擊。
據我們分析,每次DNS查詢的請求都會造成返回7~10倍于查詢的流量,所以只要不斷地對你的服務器進行查詢可以導致域名服務器流量增大。
具體描述如下:
描述
------------------------------------------------------- 很多DNS服務器的缺省設置存在一個漏洞,可能導致拒絕服務攻擊。如果一個域名服務器允許遠程主機向它查詢其他域(它本身并不管理這些域)的域名,就是所謂允許遞歸查詢,就可能導致網絡流量的異常增大。單個主機引起的流量增大可能并不能導致拒絕服務攻擊的產生,但是利用DNS的分級方式的弱點,可能引發對單個站點的大量數據流量,阻塞正常的網絡交通服務。
這個問題出在當域名服務器收不到某域權威服務器的域名解析應答時的處理方式上。當域名服務器接收到一個域名解析請求時,它往往會轉發給上一級的DNS服務器.如果這個查詢請求不能被解析,因為其權威域名服務器上沒有啟動DNS服務或是沒有應答。每個轉發的服務器將會試圖自己解析,通常會重試三次(分別在0秒,12秒,24秒時)甚至更多。在這種情況下,該域名所在網絡的流量就明顯增大了。通過使用大量的域名服務器做這種查詢,可能導致向目標網絡發送大量數據,造成拒絕服務攻擊。
攻擊者也可利用這種漏洞來發現目標網絡的域名查詢的路線。
建議:
禁止來自其它主機的遞歸查詢,只允許從信任主機或網絡查詢可以避免使你的主機成為這種攻擊的工具。對于被攻擊的主機,沒有很容易的方法來使其免遭攻擊。對于沒有運行DNS服務器的主機,應過濾掉所有流向它們的53號端口的數據包。但這只能使這種類型的包不能到達防火墻后,這些包仍然會占用你的帶寬。另一種可能的方法是,在正受攻擊的主機上建立一個假的DNS server,對于所有的查詢都應答一些虛假信息。
--------------------------------------------------------
緩解方法:
配制成只有信任主機才可以進行DNS查詢:
具體方法如下:
下面是bind的配置文件named.conf中的部分重要參數:
acl "trusted" {192.168.0.0/24,192.168.0.0/16 }; ;這是一個IP集合,第一個是指一個C類網段,第二個是指一個B類網。trusted是這個集合的別名。
options {
directory "/var/named";
pid-file "named.pid";
recursion yes;
allow-recursion { trusted; };
這條是允許trusted的ip集合進行遞歸查詢;
allow-transfer { trusted; };
這條是允許trusted的ip集合進行域名查詢;
};