DNS是個什麼東東

工做中常常用到或者聽到DNS,什麼內網服務器,DNS服務器,啥也別想,你問下本身,你知道什麼是DNS嗎?數據庫

若是你很是清楚,OK,那你確定是鼠標點錯了,趕忙關了這個頁面吧,若是你不是很清楚,知道一點,那太好了,你來對了,咱們今天一塊兒來看看DNS究竟是個什麼東東。後端

DNS服務器:

Domain Name Server,域名服務器數組

背景:


系統 (Domain Name System 或Domain Name Service) 的縮寫,它是由解析器和域名服務器組成的。瀏覽器

域名服務器是指保存有該網絡中全部主機的域名和對應IP地址,並具備將域名轉換爲IP地址功能的服務器。其中域名必須對應一個IP地址,而IP地址不必定有域名。域名系統採用相似目錄樹的等級結構。緩存

域名服務器爲客戶機/服務器模式中的服務器方,它主要有兩種形式:安全

一、主服務器和轉發服務器。將域名映射爲IP地址的過程就稱爲「域名解析」。在Internet上域名與IP地址之間是一對一(或者多對一)的,也可採用DNS輪循實現一對多,域名雖然便於人們記憶,但機器之間只認IP地址,它們之間的轉換工做稱爲域名解析,域名解析須要由專門的域名解析服務器來完成,DNS就是進行域名解析的服務器。服務器

二、DNS 命名用於 Internet等 TCP/IP網絡中,經過用戶友好的名稱查找計算機和服務。當用戶在應用程序中輸入 DNS 名稱時,DNS 服務能夠將此名稱解析爲與之相關的,是經過域名解析系統解析找到了相對應的IP地址,這樣才能上網。其實,域名的最終指向是IP。   網絡

在IPV4中IP是由32位二進制數組成的,將這32位二進制數分紅4組每組8個二進制數,將這8個二進制數轉化成十進制數,就是咱們看到的IP地址,其範圍是在0~255之間。架構

由於,8個二進制數轉化爲十進制數的最大範圍就是0~255。如今已開始試運行、未來必將代替IPv4的IPV6中,將以128位二進制數表示一個IP地址。性能

你們都知道,當咱們在上網的時候,一般輸入的是網址,其實這就是一個域名,而咱們計算機網絡上的計算機彼此之間只能用IP地址才能相互識別。再如,咱們去一WEB服務器中請求一WEB頁面,咱們能夠在瀏覽器中輸入網址或者是相應的IP地址,例如咱們要上新浪網,咱們能夠在IE的地址欄中輸入網址,也可輸入IP地址,可是這樣子的IP地址咱們記不住或說是很難記住,因此有了域名的說法,這樣的域名會讓咱們容易的記住。   

DNS:Domain Name System 域名管理系統域名是由圓點分開一串單詞或縮寫組成的,每個域名都對應一個唯一的IP地址,這一命名的方法或這樣管理域名的系統叫作域名管理系統。   

申請了DNS後,客戶能夠本身爲域名做解析,或增設子域名。客戶申請DNS時,建議客戶一次性申請兩個。   

DNS服務器在域名解析過程當中的查詢順序爲:本地緩存記錄、區域記錄、轉發域名服務器、根域名服務器。

 原理:

DNS分爲 ClientServer,Client扮演發問的角色,也就是問Server一個 Domain Name,而Server必需要回答此Domain Name的真正 IP地址。而當地的DNS先會查本身的資料庫。若是本身的資料庫沒有,則會往該DNS上所設的DNS服務器詢問,依此獲得答案以後,將收到的答案存起來,並回答客戶。DNS服務器會根據不一樣的受權區(Zone),記錄所屬該網域下的各名稱資料,這個資料包括網域下的次網域名稱及主機名稱。在每個名稱服務器中都有一個快取緩存區(Cache),這個快取緩存區的主要目的是將該名稱服務器所查詢出來的名稱及相對的IP地址記錄快取緩存區中,這樣當下一次還有另一個客戶端到此服務器上去查詢相同的名稱 時,服務器就不用在到別臺 主機上去尋找,而直接能夠從緩存區中找到該筆名稱記錄資料,傳回給客戶端,加速客戶端對名稱查詢的速度。例如:
DNS服務器
當DNS客戶端向指定的DNS服務器查詢網際網路上的某一臺主機名稱 DNS服務器會在該資料庫中找尋用戶所指定的名稱 若是沒有,該服務器會先在本身的快取緩存區中查詢有無該筆紀錄,若是找到該筆名稱記錄後,會從DNS服務器直接將所對應到的IP地址傳回給客戶端 ,若是名稱服務器在資料記錄查不到且快取緩存區中也沒有時,會向最接近的名稱服務器去要求幫忙找尋該名稱的IP地址 ,在另外一臺服務器上也有相同的動做的查詢,當查詢到後會回覆本來要求查詢的服務器,該DNS服務器在接收到另外一臺DNS服務器查詢的結果後,先將所查詢到的主機名稱及對應IP地址記錄到快取緩存區中 ,最後在將所查詢到的結果回覆給客戶端。
 

 

保護技巧

編輯
DNS解析是Internet絕大多數應用的實際定址方式;它的出現完美的解決了企業服務與企業形象結合的問題,企業的DNS名稱是Internet上的身份標識,是不可重覆的惟一標識資源,Internet的全球化使得DNS名稱成爲標識企業的最重要資源。
1.使用DNS轉發器
DNS轉發器是爲其餘DNS服務器完成DNS查詢的DNS服務器。使用DNS轉發器的主要目的是減輕DNS處理的壓力,把查詢請求從DNS服務器轉給轉發器, 從DNS轉發器潛在地更大DNS高速緩存中受益。  [3] 
使用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服務器。
除DNS區文件宿主的其餘DNS服務器以外的DNS廣告者設置,是DNS廣告者只回答其受權的域名的查詢。這種DNS服務器不會對其餘DNS服務器進行遞歸 查詢。這讓用戶不能使用你的公共DNS服務器來解析其餘域名。經過減小與運行一個公開DNS解析者相關的風險,包括緩存中毒,增長了安全。  [3] 
4.使用DNS解析者
DNS解析者是一臺能夠完成遞歸查詢的DNS服務器,它可以解析爲受權的域名。例如,你可能在內部網絡上有一臺DNS服務器,受權內部網絡域名服務器。當網絡中的客戶機使用這臺DNS服務器去解析時,這臺DNS服務器經過向其餘DNS服務器查詢來執行遞歸 以得到答案。
DNS服務器和DNS解析者之間的區別是DNS解析者是僅僅針對解析互聯網主機名。DNS解析者能夠是未受權DNS域名的只緩存DNS服務器。你可讓DNS 解析者僅對內部用戶使用,你也可讓它僅爲外部用戶服務,這樣你就不用在沒有辦法控制的外部設立DNS服務器了,從而提升了安全性。固然,你也 可讓DNS解析者同時被內、外部用戶使用。
5.保護DNS不受緩存污染
DNS緩存污染已經成了日益廣泛的問題。絕大部分DNS服務器都可以將DNS查詢結果在答覆給發出請求的主機以前,就保存在高速緩存中。DNS高速緩存 可以極大地提升你組織內部的DNS查詢性能。問題是若是你的DNS服務器的高速緩存中被大量假的DNS信息「污染」了的話,用戶就有可能被送到惡意站點 而不是他們原先想要訪問的網站。
絕大部分DNS服務器都可以經過配置阻止緩存污染。WindowsServer 2003 DNS服務器默認的配置狀態就可以防止緩存污染。若是你使用的是Windows 2000 DNS服務器,你能夠配置它,打開DNS服務器的Properties對話框,而後點擊「高級」表。選擇「防止緩存污染」選項,而後從新啓動DNS服務器。  [3] 
6.使DDNS只用安全鏈接
不少DNS服務器接受動態更新。動態更新特性使這些DNS服務器能記錄使用DHCP的主機的主機名和IP地址。DDNS可以極大地減
輕DNS管理員的管理費用 ,不然管理員必須手工配置這些主機的DNS資源記錄。
然而,若是未檢測的DDNS更新,可能會帶來很嚴重的安全問題。一個惡意用戶能夠配置主機成爲臺文件服務器、Web服務器或者數據庫服務器動態更新 的DNS主機記錄,若是有人想鏈接到這些服務器就必定會被轉移到其餘的機器上。  [3] 
你能夠減小惡意DNS升級的風險,經過要求安全鏈接到DNS服務器執行動態升級。這很容易作到,你只要配置你的DNS服務器使用活動目錄綜合區 (Active Directory Integrated Zones)並要求安全動態升級就能夠實現。這樣一來,全部的域成員都可以安全地、動態更新他們的DNS信息。
7.禁用區域傳輸  [3] 
區域傳輸發生在主DNS服務器和從DNS服務器之間。主DNS服務器受權特定域名,而且帶有可改寫的DNS區域文件,在須要的時候能夠對該文件進行更新 。從DNS服務器從主力DNS服務器接收這些區域文件的只讀拷貝。從DNS服務器被用於提升來自內部或者互聯網DNS查詢響應性能。
然而,區域傳輸並不只僅針對從DNS服務器。任何一個可以發出DNS查詢請求的人均可能引發DNS服務器配置改變,容許區域傳輸傾倒本身的區域數據 庫文件。惡意用戶可使用這些信息來偵察你組織內部的命名計劃,並攻擊關鍵服務架構。你能夠配置你的DNS服務器,禁止區域傳輸請求,或者僅允 許針對組織內特定服務器進行區域傳輸,以此來進行安全防範。
8.使用防火牆來控制DNS訪問  [3] 
防火牆能夠用來控制誰能夠鏈接到你的DNS服務器上。對於那些僅僅響應內部用戶查詢請求的DNS服務器,應該設置防火牆的配置,阻止外部主機鏈接 這些DNS服務器。對於用作只緩存轉發器的DNS服務器,應該設置防火牆的配置,僅僅容許那些使用只緩存轉發器的DNS服務器發來的查詢請求。防火牆策略設置的重要一點是阻止內部用戶使用DNS協議鏈接外部DNS服務器。
9.在DNS註冊表中創建訪問控制
在基於Windows的DNS服務器中,你應該在DNS服務器相關的註冊表中設置訪問控制,這樣只有那些須要訪問的賬戶纔可以閱讀或修改這些註冊表設置。  [3] 
HKLM\CurrentControlSet\Services\DNS鍵應該僅僅容許管理員和系統賬戶訪問,這些賬戶應該擁有徹底控制權限。
10.在DNS文件系統入口設置訪問控制
在基於Windows的DNS服務器中,你應該在DNS服務器相關的文件系統入口設置訪問控制,這樣只有須要訪問的賬戶纔可以閱讀或修改這些文件。  [3] 
應用服務防火牆
針對以上的問題AX有一個解決方式,就是DNS應用服務 防火牆,AX在這問題有三個有力的方法,能夠有效的緩解這些攻擊所形成的影響:
一、首先將非DNS協定的封包過濾(Malformed Query Filter)
二、再來將經由DNS服務器查詢到的訊息作緩存(DNS Cache)
三、若是真的遇到大量的正常查詢、AX能夠啓動每秒的連線控制(Connection Rate Limit)
Malformed Query Filter:
這種非正常的 封包一般都是用來將對外網絡的頻寬給撐爆,固然也會形成DNS服務器的忙碌,因此AX在第一線就將這類的封包過濾,正確的封包傳遞到後方的服務器,不正常的封包自動過濾掉避免服務器的負擔。
DNS Cache:
當DNS查詢的迴應回到AX時,AX能夠預先設定好哪些Domain要Cache哪些不須要Cache,若是有Cache,當下一個一樣的查詢來到AX時,AX就能從Cache中直接回應,不須要再去DNS服務器查詢,一方面減輕了DNS服務器的負擔,另外一方面也加快了迴應的速度。
再者,當企業選用此功能時更能僅設定公司的Domain作Cache,而非關此Domain的查詢一概不Cache或者拒絕迴應,這樣更能有效的保護企業的DNS服務器。
而ISP之類需提供大量查詢的服務,更適合使用此功能,爲DNS服務提供更好更快的迴應。
Connection RateLimit:
當查詢的流量大到必定的程度時,例如同一個Domain每秒超過1000個請求,此時在AX上能夠啓動每秒的連線控制,控制進入到後端DNS服務器的查詢量,超過的部分直接丟棄,更嚴格的保護DSN服務器的資源。
相信許多人期待在突飛猛進的網際網絡中看到創新的網絡技術,並能提供更好的網絡應用服務。而確保DNS服務的不間斷持續運做並讓DNS服務所提供的資訊是正確的,這也是一切網絡應用服務的基礎
相關文章
相關標籤/搜索