DNS域名服務器:保存有該網絡中全部主機的域名和對應地址。緩存
根域名服務器:全球共13個,10個位於美國,其他個分別位於英國、挪威、日本———鏡像服務器
頂級域名服務器:「com」、「edu」等
權威域名服務器:存儲並維護某個區的信息的域名服務器
遞歸域名服務器:能夠將權威服務器返回的各類記錄進行緩存從而減小查詢次數和提升查詢效率,於是也被稱爲緩存域名服務器或>本地域名服務器;爲用戶提供域名對應的地址,多由運營商掌控安全
遞歸查詢:服務器必需回答目標IP與域名的映射關係,從客戶端到本地DNS服務器屬於遞歸查詢;
迭代査詢:服務器收到一次迭代查詢回覆一次結果,這個結果不必定是目標IP與域名的映射關係,也能夠是其它DNS服務器的地址;DNS服務器之間就是的交互查詢就是迭代查詢服務器
傳統的DNS服務器只負責爲用戶解析出IP記錄,而不去判斷用戶從哪裏來,這樣會形成全部用戶都只能解析到固定的IP地址上。
智能DNS會判斷用戶的來路(如運營商、地區等),而作出一些智能化的處理,而後把智能化判斷後的IP返回給用戶。網絡
DNS定義了一個用於查詢和響應的報文格式ide
Identification 字段能夠看做是報文的ID,用於在應答中匹配發出的查詢;
Flag 標誌字段函數
QR: 消息類型:查詢(1),響應 (0)
Opcode: 查詢類型:標準查詢(0),反向查詢(1),服務器狀態請求(2)
AA: 受權回答:響應來自緩存服務器(0)仍是受權服務器(1)
TC: 置1時,表示報文因爲長度超過了容許的範圍被截斷
RD: 查詢中置1時表示指望遞歸查詢
RA: 響應中置1時表示可用遞歸查詢
Rcode:取值0-5表示響應出錯類型
Question字段用來定義查詢的問題加密
Domain name:查詢名,要查找的域名;
Type:查詢類型,通常最經常使用的查詢類型是A類型(表示查找域名對應的IP地址)和PTR類型(表示查找IP地址對應的域名)
Class:查詢類,一般值爲1,表示是互聯網地址
Domain name、Type、class與查詢報文中的 相同
TTL:生存時間,客戶程序保存該資源記錄的秒數
Resource Data Length:資源數據長度
Resource Data:資源數據,服務器端返回給客戶端的記錄數據3d
Answer字段定義響應報文
一個域名能夠有多種資源記錄(A,AAAA)
每種資源記錄能夠有多條
一個域名,多個相同類型的資源記錄的集合成爲資源記錄集(RRset),RRset是DNS傳輸的基本單元,也就是說查詢一個域名對應的某種信息,DNS系統不會返回一條RR,而是返回一個RRset。所以一個RRset中全部的RR的TTL是一致的。code
DNS 提供Internet 上的基本服務,安全防禦系統不會對查詢進行任何限制,因此對DNS的均可以假裝成正常的查詢訪問。
DNS 服務器徹底暴露在之下,基本沒法受到一些安全防禦系統如防火牆、***檢測系統的保護blog
DNS缺少認證機制,數據傳送時未加密,容易被截獲和篡改,請求端沒法驗證數據完整性
例:Bind軟件存在的漏洞
CVE-2007-2241。若是開放遞歸,遠程者能夠發送一連串的由query_addsoa 函數處理的查詢,使服務器後臺程序退出,形成事實上的拒絕服務。
CVE-2007-2926。使用弱的隨機數生成器生成DNS序列號,者容易猜想下一個序列號以進行緩存中毒。
CVE-2009-0696。當服務器配置成一個主域名服務器時,者經過在僞造的動態更新消息的前提部分添加一個ANY 類型的記錄能夠引發服務器拒絕服務。
CVE-2011-4313。當在query.c中記錄一個錯誤時,會引發解析器崩潰。
域名註冊:經過對域名註冊管理公司中的註冊域名記錄進行非法改變使之指向其餘Web主機;
服務器冗餘失效:許多站點僅有一臺服務器,沒法實現容災備份
解析路徑篡改:者會利用病毒、將受害者使用的域名服務器設置爲本身控制的服務器,受害者發出的域名請求都將傳送至這個虛假服務器,者能夠僞造任意的響應以竊取受害者的我的信息。
經過DNS服務器自己的配置以及與防火牆等的合做來增強DNS的安全性包過濾防禦 防火牆保護網絡拓撲限制部署IDS***檢測系統DNS 緩存定時清洗DNS 服務器冗餘備份