1.使用DNS轉發器
DNS轉發器是為其他DNS服務器完成DNS查詢的DNS服務器。使用DNS轉發器的主要目的是減輕DNS處理的壓力,把查詢請求從DNS服務器轉給轉發器, 從DNS轉發器潛在地更大DNS高速緩存中受益。
使用DNS轉發器的另一個好處是它阻止了DNS服務器轉發來自互聯網DNS服務器的查詢請求。如果你的DNS服務器保存了你內部的域DNS資源記錄的話, 這一點就非常重要。不讓內部DNS服務器進行遞歸查詢並直接聯系DNS服務器,而是讓它使用轉發器來處理未授權的請求。
2.使用只緩沖DNS服務器
只緩沖DNS服務器是針對為授權域名的。它被用做遞歸查詢或者使用轉發器。當只緩沖DNS服務器收到一個反饋,它把結果保存在高速緩存中,然後把 結果發送給向它提出DNS查詢請求的系統。隨著時間推移,只緩沖DNS服務器可以收集大量的DNS反饋,這能極大地縮短它提供DNS響應的時間。
把只緩沖DNS服務器作為轉發器使用,在你的管理控制下,可以提高組織安全性。內部DNS服務器可以把只緩沖DNS服務器當作自己的轉發器,只緩沖 DNS服務器代替你的內部DNS服務器完成遞歸查詢。使用你自己的只緩沖DNS服務器作為轉發器能夠提高安全性,因為你不需要依賴你的ISP的DNS服務 器作為轉發器,在你不能確認ISP的DNS服務器安全性的情況下,更是如此。
3.使用DNS廣告者(DNS advertisers)
DNS廣告者是一台負責解析域中查詢的DNS服務器。例如,如果你的主機對於domain.com 和corp.com是公開可用的資源,你的公共DNS服務器就應該為 domain.com 和corp.com配置DNS區文件。
除DNS區文件宿主的其他DNS服務器之外的DNS廣告者設置,是DNS廣告者只回答其授權的域名的查詢。這種DNS服務器不會對其他DNS服務器進行遞歸 查詢。這讓用戶不能使用你的公共DNS服務器來解析其他域名。通過減少與運行一個公開DNS解析者相關的風險,包括緩存中毒,增加了安全。
4.使用DNS解析者
DNS解析者是一台可以完成遞歸查詢的DNS服務器,它能夠解析為授權的域名。例如,你可能在內部網絡上有一台DNS服務器,授權內部網絡域名 internalcorp.com的DNS服務器。當網絡中的客戶機使用這台DNS服務器去解析techrepublic.com時,這台DNS服務器通過向其他DNS服務器查詢來執行遞歸 以獲得答案。
DNS服務器和DNS解析者之間的區別是DNS解析者是僅僅針對解析互聯網主機名。DNS解析者可以是未授權DNS域名的只緩存DNS服務器。你可以讓DNS 解析者僅對內部用戶使用,你也可以讓它僅為外部用戶服務,這樣你就不用在沒有辦法控制的外部設立DNS服務器了,從而提高了安全性。當然,你也 可以讓DNS解析者同時被內、外部用戶使用。
5.保護DNS不受緩存污染
DNS緩存污染已經成了日益普遍的問題。絕大部分DNS服務器都能夠將DNS查詢結果在答復給發出請求的主機之前,就保存在高速緩存中。DNS高速緩存 能夠極大地提高你組織內部的DNS查詢性能。問題是如果你的DNS服務器的高速緩存中被大量假的DNS信息“污染”了的話,用戶就有可能被送到惡意站點 而不是他們原先想要訪問的網站。
絕大部分DNS服務器都能夠通過配置阻止緩存污染。Windows Server 2003 DNS服務器默認的配置狀態就能夠防止緩存污染。如果你使用的是Windows 2000 DNS服務器,你可以配置它,打開DNS服務器的Properties對話框,然後點擊“高級”表。選擇“防止緩存污染”選項,然後重新啟動DNS服務器。
6.使DDNS只用安全連接
很多DNS服務器接受動態更新。動態更新特性使這些DNS服務器能記錄使用DHCP的主機的主機名和IP地址。DDNS能夠極大地減輕DNS管理員的管理費用 ,否則管理員必須手工配置這些主機的DNS資源記錄。
然而,如果未檢測的DDNS更新,可能會帶來很嚴重的安全問題。一個惡意用戶可以配置主機成為台文件服務器、Web服務器或者數據庫服務器動態更新 的DNS主機記錄,如果有人想連接到這些服務器就一定會被轉移到其他的機器上。
你可以減少惡意DNS升級的風險,通過要求安全連接到DNS服務器執行動態升級。這很容易做到,你只要配置你的DNS服務器使用活動目錄綜合區 (Active Directory Integrated Zones)並要求安全動態升級就可以實現。這樣一來,所有的域成員都能夠安全地、動態更新他們的DNS信息。
7.禁用區域傳輸
區域傳輸發生在主DNS服務器和從DNS服務器之間。主DNS服務器授權特定域名,並且帶有可改寫的DNS區域文件,在需要的時候可以對該文件進行更新 。從DNS服務器從主力DNS服務器接收這些區域文件的只讀拷貝。從DNS服務器被用於提高來自內部或者互聯網DNS查詢響應性能。
然而,區域傳輸並不僅僅針對從DNS服務器。任何一個能夠發出DNS查詢請求的人都可能引起DNS服務器配置改變,允許區域傳輸傾倒自己的區域數據 庫文件。惡意用戶可以使用這些信息來偵察你組織內部的命名計劃,並攻擊關鍵服務架構。你可以配置你的DNS服務器,禁止區域傳輸請求,或者僅允 許針對組織內特定服務器進行區域傳輸,以此來進行安全防范。
8.使用防火牆來控制DNS訪問
防火牆可以用來控制誰可以連接到你的DNS服務器上。對於那些僅僅響應內部用戶查詢請求的DNS服務器,應該設置防火牆的配置,阻止外部主機連接 這些DNS服務器。對於用做只緩存轉發器的DNS服務器,應該設置防火牆的配置,僅僅允許那些使用只緩存轉發器的DNS服務器發來的查詢請求。防火牆策略設置的重要一點是阻止內部用戶使用DNS協議連接外部DNS服務器。
9.在DNS注冊表中建立訪問控制
在基於Windows的DNS服務器中,你應該在DNS服務器相關的注冊表中設置訪問控制,這樣只有那些需要訪問的帳戶才能夠閱讀或修改這些注冊表設置。
HKLM\CurrentControlSet\Services\DNS鍵應該僅僅允許管理員和系統帳戶訪問,這些帳戶應該擁有完全控制權限。
10.在DNS文件系統入口設置訪問控制
在基於Windows的DNS服務器中,你應該在DNS服務器相關的文件系統入口設置訪問控制,這樣只有需要訪問的帳戶才能夠閱讀或修改這些文件。
%system_directory%\DNS文件夾及子文件夾應該僅僅允許系統帳戶訪問,系統帳戶應該擁有完全控制權限。