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,結果又導致其值太高。
7.授權與區域資料中的不符的NS記錄。
有一些管理員新增或刪除了首要的網域名稱伺服器,卻忘了對其區域的委託授權資料(即所謂的delegation data)作相應的變更。這樣就會延長其解析網域時間,並會減少彈性。
當然,這些僅是管理員可能犯的一些一般性錯誤,不過卻可以作為你配置DNS伺服器的基本參考。