DNS(Domain Name System)即域名系統是歷史悠久的方法,它可以為具有IP地址的計算機分配域名,使計算機擁有字符型名稱,如如IP地址為207.46.193.254的計算機即微軟服務器www.microsoft.com。DNS采用了設計精良,多數時間運行都相當出色。然而,總有一些不如人意的情況,它會罷工,讓管理員們頭痛不已。那麼如何查找其故障的蛛絲馬跡?你的DNS系統中有哪些不盡如人意的地方?
有沒有一些規律性的東西可以遵循?答案是肯定的,我們這兒給出DNS服務器的七大罪狀,供您參考:
1.使用老版本的BIND。
Bind作為一款開放源碼的DNS服務器軟件,是目前世界上使用最為廣泛的DNS服務器軟件。幾乎多數BIND 的老版本都存在著嚴重的、眾所周知的漏洞。攻擊者可以利用這些漏洞將我們的DNS域名服務器搞毀,並可以借此侵入運行它們的主機。因此應確保使用最新的BIND,並及時打補丁。
2.將所有重要的域名服務器放置到同一個子網中。
在這種情況下,一個設備的故障,如一台交換機或路由器,或一個網絡連接的故障就會使互聯網上的用戶無法訪問你的網站或向你發送電子郵件。
3.允許對未授權查詢者的遞歸。
如果設置為下面這種情況:
(recursion yes no; [yes]
allow-recursion { address_match_list }; [all hosts]
則是不安全的。在這裡,recursion選項指定named是否代替客戶機查詢其他域名服務器。通常不把域名服務器設置成關閉遞歸。至少我們應該對自身的客戶機允許遞歸,但對外來查詢禁止遞歸。因為如果可以為任意一個客戶端處理遞歸查詢,將會將域名服務器暴露給緩存投毒(Cache poisoning)和拒絕服務攻擊。
4.允許那些未獲得授權的輔助域名服務器進行區域傳送。
區域傳送(Zone Transfer)是指在多個DNS服務器之間復制區域數據庫文件的過程。如果為任意的查詢者提供區域傳送服務,就會把域名服務器暴露給攻擊者,導致服務器癱瘓。
5.沒有采用DNS轉發器。
DNS轉發器是代表其他DNS服務執行DNS查詢的服務器。許多域名服務器軟件,包括微軟的DNS Servers和一些更老的BIND域名服務器,並沒有充分地保護自身以抵御緩存投毒,其它的DNS服務器軟件也都存在著可被惡意響應利用的漏洞。但是許多管理員卻允許這些域名服務器直接查詢互聯網上的其它域名服務器,根本不使用轉發器。
6.錯誤地設置授權開始(Start of Authority :SOA)值。
SOA 標記區數據的開始,定義影響整個區的參數。許多管理員將區的值設得太低了,在刷新查詢或區域傳送開始失效時,這會導致系統運轉的中斷。自從RFC重新定義了SOA之後,還有一些人重置了逆向緩存(negative caching)TTL,結果又導致其值太高。 ---http://www.bianceng.cn
7.授權與區域數據中的不匹配的NS記錄。
有一些管理員添加或刪除了首要的域名服務器,卻忘了對其區域的委托授權數據(即所謂的delegation data)作相應的改變。這樣就會延長其解析域名時間,並會減少彈性。
當然,這些僅是管理員可能犯的一些一般性錯誤,不過卻可以作為你配置DNS服務器的基本參考。