知識平臺

  • DNS基本概念
  • 域名查詢過程
  • 域名系統(tǒng)組織架構
  • 域名市場
  • 域名安全威脅
  • 公共DNS

DNS基本概念

域名   如在瀏覽器地址欄輸入的www.baidu.com,www.hao123.com等我們稱之為域名,域名即網站名稱。 如果說互聯(lián)網的本質是連接一切,域名則為“一切”提供了身份標識功能,而IP為“一切”提供了尋址功能。域名和IP的關系可類比每個人的姓名與住址。

根域、頂級域、二級域、子域   域名采用層次化的方式進行組織,每一個點代表一個層級。一個域名完整的格式為www.baidu.com. 最末尾的點代表根域,常常省略;com即頂級域(TLD);baidu.com即二級域。 依次類推,還有三級域、四級域等等。子域是一個相對的概念,baidu.com是com的子域,www.baidu.com是baidu.com的子域。

域名系統(tǒng)   即DNS(Domain Name System)。DNS主要解決兩方面的問題:域名本身的增刪改查以及域名到IP如何映射。

正向解析   查找域名對應IP的過程。

反向解析   查找IP對應域名的過程。

解析器   即resolver,處于DNS客戶端的一套系統(tǒng),用于實現(xiàn)正向解析或者反向解析。

權威DNS   處于DNS服務端的一套系統(tǒng),該系統(tǒng)保存了相應域名的權威信息。權威DNS即通俗上“這個域名我說了算”的服務器。

遞歸DNS   又叫l(wèi)ocal dns。遞歸DNS可以理解為是一種功能復雜些的resolver,其核心功能一個是緩存、一個是遞歸查詢。 收到域名查詢請求后其首先看本地緩存是否有記錄,如果沒有則一級一級的查詢根、頂級域、二級域…… 直到獲取到結果然后返回給用戶。日常上網中運營商分配的DNS即這里所說的遞歸DNS。

轉發(fā)DNS   轉發(fā)DNS是一種特殊的遞歸。如果本地的緩存記錄中沒有相應域名結果時,其將查詢請求轉發(fā)給另外一臺DNS服務器,由另外一臺DNS服務器來完成查詢請求。

公共DNS   公共DNS屬于遞歸DNS。其典型特征為對外一個IP,為所有用戶提供公共的遞歸查詢服務。

域名查詢過程

以用戶在瀏覽器輸入www.baidu.com為例,我們詳細說明一下實際域名查詢過程:
1. 用戶輸入www.baidu.com,瀏覽器調用操作系統(tǒng)resolver發(fā)起域名查詢,此處不考慮瀏覽器的域名緩存;resolver封裝一個dns請求報文,并將其發(fā)給運營商分配的local dns地址(或者用戶自己配置的公共dns);
2. local dns查詢緩存,如果命中則返回響應結果;否則向根服務器發(fā)起查詢;
3. 根服務器返回com地址。每一層級的DNS服務器都有緩存,實際都是先查緩存,沒有緩存才返回下級域,此處不再重復;
4. local dns查詢com。com返回baidu.com地址;
5. local dns查詢baidu.com,baidu.com返回www.baidu.com對應記錄結果。
理論上講域名查詢有兩種方式:
迭代查詢 A問B一個問題,B不知道答案說你可以問C,然后A再去問C,C推薦D,然后A繼續(xù)問D,如此迭代…
遞歸查詢 A問B一個問題,B問C,C問D… 然后D告訴C,C告訴B,B告訴A
上述過程中從resolver到遞歸DNS再到根的查詢過程為遞歸查詢,遞歸DNS到根、到com、到baidu.com的過程為迭代查詢。
注意:遞歸查詢需要從系統(tǒng)層面來看,很難單純的說一臺DNS實現(xiàn)了遞歸查詢。

域名系統(tǒng)組織架構!

DNS是全球互聯(lián)網中最重要的基礎服務之一,也是如今唯一的一種有中心點的服務。全球域名系統(tǒng)組織與管理架構如下圖所示:

ICANN   互聯(lián)網名稱與數(shù)字地址分配機構(The Internet Corporation for Assigned Names and Numbers)。 負責IP地址空間的分配、協(xié)議標識符的指派、通用頂級域名(gTLD)、國家和地區(qū)頂級域名(ccTLD) 系統(tǒng)的管理以及根服務器系統(tǒng)的管理。這些職能最初是在美國政府合同下由互聯(lián)網號碼分配當局 (Internet Assigned Numbers Authority,IANA)以及其它一些組織提供,現(xiàn)在都由ICANN統(tǒng)一行使。

ccNSO   國家和地區(qū)名稱支持組(Country Code Names Supporting Organization)。負責各種ccTLD的注冊。

GNSO   通用名稱支持組(Generic Names Supporting Organization)。負責各種gTLD的注冊。

RSSAC   根服務器系統(tǒng)支持委員會(Root Server System Advisory Committee)。負責根服務器系統(tǒng)管理。

ccNSO   國家和地區(qū)名稱支持組(Country Code Names Supporting Organization)。負責各種ccTLD的注冊。

域名市場

一、域名交易
作為互聯(lián)網最重要的輕資產之一,域名原生就具有著投資和品牌價值。圍繞域名相關的交易,目前已經衍生出包括注冊、買賣、中介、搶注、投資、停放、備案等的一個完整生態(tài)系統(tǒng)。

域名注冊   向有資質的注冊商申請一個域名的過程。國內知名的注冊商有萬網、35互聯(lián)、中國數(shù)據等, 可注冊常見的.com、.cn、.net、.org等域名;國外知名的有godaddy、enom等。

域名買賣,域名中介、域名經紀   圍繞域名的評估、分析、談判、購買、出售等一系列過程??深惐确康禺a行業(yè)。

域名搶注   分兩種情況,一種是搶注未被注冊過的域名,一種是搶注曾經被注冊過但是未能在有效期結束前及時續(xù)費的域名。 國內外都有不少專門提供域名搶注服務的平臺。

域名投資   注冊和購買有價值的域名,然后獲利轉讓的行為。投資者一般被稱為“玉米蟲”。 2014年比較熱門的幾次投資事件一個是羅永浩的t.tt,號稱成交價200萬元;一個是雷軍的mi.com,號稱成交價360萬美元;一個是莫天全的fang.com,成交價格不詳。

域名停放   將未建站的域名解析到廣告頁面,利用域名的自然流量來獲取收入的方式。提供域名停放服務依賴以下兩點:優(yōu)質廣告資源和防作弊技術。

二、域名解析
域名市場除了包含各種類別的交易服務以外,另還包含解析服務。按照功能不同,域名解析服務可以分為如下幾類:

權威DNS   國內典型的代表是dnspod,主要提供域名托管以及智能解析服務。智能解析主要解決這樣一個問題: 假設一個域名同時綁定了聯(lián)通和電信的IP,當一個電信用戶去訪問時有可能會解析到一個聯(lián)通的IP,從而產生跨網問題。 使用智能解析后,系統(tǒng)將根據用戶來源去智能的返回結果。

公共DNS   公共DNS類似于運營商的local dns,本質上講是一種遞歸解析服務。與運營商DNS不同的是, 公共DNS一般以一個或兩個非常容易記住的IP方式(如百度公共DNS服務IP:180.76.76.76)給所有用戶提供統(tǒng)一服務。 公共DNS相對于運營商DNS的優(yōu)勢主要在無劫持、更快、更穩(wěn)定、更安全等。

CDN DNS   本質上講也是一種權威DNS,主要在CDN的業(yè)務場景中提供流量調度功能。 用戶將域名CNAME或者直接NS托管到CDN DNS,CDN DNS進一步做智能調度返回一個 離用戶最近的接入節(jié)點。用戶訪問接入節(jié)點,享受CDN提供的緩存、加速、以及防攻擊服務。

域名安全威脅

一、安全事件

盡管已經有超過30年歷史,DNS仍然是整個互聯(lián)網中最脆弱的一環(huán)。下面盤點一下近年來比較嚴重的DNS安全事件。

2009年5月19日南方六省斷網事件。   一起由于游戲私服私斗打掛dnspod,殃及暴風影音域名解析,然后進一步殃及電信local dns,從而爆發(fā)六省大規(guī)模斷網的事故。事件影響深遠。

2010年1月12日百度域名劫持事件。   baidu.com的NS記錄被伊朗網軍(Iranian Cyber Army)劫持,然后導致www.baidu.com無法訪問。 事件持續(xù)時間8小時,是百度成立以來最嚴重的故障事件,直接經濟損失700萬人民幣。

2013年5月4日DNS劫持事件。   由于主流路由器廠商安全漏洞而導致的全網劫持事件,號稱影響了800萬用戶。

2013年8月25日CN域被攻擊事件。   cn域dns受到DoS攻擊而導致所有cn域名無法解析事故。

2014年1月21日全國DNS故障。   迄今為止,大陸境內發(fā)生的最為嚴重的DNS故障,所有通用頂級域(.com/.net/.org)遭到DNS污染, 所有的域名全被指向了位于美國的一個IP地址(65.49.2.178)。



二、攻擊手段

query flood   通過不斷的發(fā)DNS請求報文來耗盡目的DNS資源,形成拒絕服務。具體分類包括源IP是否隨機以及目的域名是否隨機等。

response flood   通過不斷的發(fā)DNS響應報文來達到拒絕服務的目的。

udp floodv   DNS底層協(xié)議為UDP,基于UDP的各種flood攻擊也都會給DNS帶來危害。

折射攻擊(反射攻擊)   偽造源IP為第三方,借助DNS的回包來達到DoS掉第三方的目的。屬于“借刀殺人”的手段。

放大攻擊   折射攻擊的一種。通過惡意的構造響應報文來達到流量放大作用,從而對第三方形成帶寬攻擊。 請求報文幾十字節(jié),響應報文幾千字節(jié),意味著可以形成百倍以上流量放大系數(shù)。

緩存投毒   每一臺DNS都有緩存,緩存投毒指的是通過惡意手段污染DNS緩存,形成DNS劫持或者拒絕服務。

漏洞攻擊   利用各種漏洞來達到入侵并控制DNS服務器目的。漏洞不僅僅指DNS程序本身的,也有可能是機器或者網絡其它的“問題點”。

社會工程學手段   所有的系統(tǒng)都需要人的維護,而人永遠是安全中最脆弱的一環(huán)。



三、防御手段

對于權威DNS來說,由于請求來源多是運營商或者公共DNS廠商的遞歸DNS,源IP相對比較固定,可以實施源IP白名單策略。該策略對于偽造源IP的攻擊具有一定削弱作用。對于域名隨機的攻擊來說,如果權威DNS本身承載的域名量不是很大,可以考慮域名白名單策略。如果源IP就是運營商的,然后請求域名也是合法的,只能靠一定限速策略以及DNS服務器本身性能了。


對于遞歸DNS來說,各種白名單策略誤傷都會很嚴重,因此也主要靠DNS服務器本身性能了。


高性能DNS服務器目前比較流行的做法是基于Intel DPDK來實施。


另外一種推薦實施的策略是RRL(Response Rate Limit),該策略對于防御折射攻擊/放大攻擊有一定效果。盡管折射攻擊的目標不是DNS本身,但是不防御的話如果把第三方打掛仍然會產生連帶責任,因此建議實施RRL。


公共DNS

一、百度DNS

更快更穩(wěn)定   中國最快最穩(wěn)定的網站是哪一個?沒錯,www.baidu.com。百度公共DNS擁有和百度搜索一樣的基礎網絡、基礎設施以及系統(tǒng)架構,更重要的是,我們是一撥人。

純凈無劫持   作為中國最大的流量公司,百度是DNS劫持的最大受害者。百度做公共DNS的目的一方面在于 為廣大網民提供一個純凈安全的流量環(huán)境,另外一方面也想通過產品的力量來制約劫持亂象。

安全防護   百度公共DNS的另外一個附加功能是安全防護。依托百度安全搜索技術,如果您所訪問的網站存在病毒、木馬風險, 我們將實時予以攔截和提示,有效保證使用者的上網安全。

CDN親和   百度公共DNS擁有遍布全國的遞歸出口節(jié)點。當查詢請求未命中主緩存時,我們會將請求調 度到離用戶最近的遞歸節(jié)點來進一步查詢。因此不會影響到CDN的調度進度。另外一方面,我們正在積極實施edns-client-subnet,該 技術會大幅提升CDN調度精度,相信CDN廠商會喜歡。


二、阿里DNS
阿里公共DNS是阿里巴巴集團推出的DNS遞歸解析系統(tǒng),目標是成為國內互聯(lián)網基礎設施的組成部分,面向互聯(lián)網用戶提供“快速”、“穩(wěn)定”、“智能”的免費DNS遞歸解析服務。

阿里提供公共DNS服務的優(yōu)勢

阿里在全國有優(yōu)質的機房、網絡、帶寬等互聯(lián)網基礎設施資源。
阿里建設和運營著全國最大的CDN網絡,對互聯(lián)網流量調度有豐富的經驗。
阿里旗下萬網是國內最大的域名注冊商,管理著幾百萬域名。同時有豐富的DNS管理經驗。
阿里擁有大量優(yōu)秀的技術人才,有非常強的自主研發(fā)能力和運維保障能力。
阿里提供公共DNS服務的優(yōu)勢

快速:
通過BGP anycast技術,讓用戶訪問到離自己較近的DNS集群。
主動同步com/net域名、萬網注冊域名的變更,減小ttl時間的影響,快速訪問到正確的記錄。
主動緩存熱點域名的,提高查詢CACHE命中率,減少遞歸過程,快速應答。
穩(wěn)定:
異地多機房高可用架構。
基于DPDK自主研發(fā)的高性能DNS系統(tǒng)。
Aliguard多種攻擊防御策略。
持久化保存熱點記錄,當“根”或域名的權威DNS出現(xiàn)異常后,阿里公共DNS具備快速恢復正常訪問的能力。
智能:
結合阿里優(yōu)質CDN資源和精準的IP地址庫,讓用戶訪問到較近的網站。
三、Google Public DNS
谷歌公共域名解析服務(Google Public DNS)是由谷歌公司于2009年發(fā)布的一項新的DNS服務。主要為了替代ISPs或其他公司提供的DNS服務。 2014年3月13日,可能是由于黑客攻擊,一些谷歌DNS用戶在連接蘋果某些網站時受封鎖,現(xiàn)未采取有效措施。
DNS地址
IPV4
首選DNS服務器:8.8.8.8
備用DNS服務器:8.8.4.4
IPV6
2001:4860:4860::8888
2001:4860:4860::8844
主要優(yōu)點
谷歌公共DNS能夠滿足諸多DNS需求,為服務器數(shù)據傳輸提供便利,通過隨機分配的項目查詢名目有效阻擋黑客騙取回應的行為。谷歌公共DNS符合現(xiàn)有DNS標準,同時為用戶提供對應于個人電腦的準確回應,而不會產生其他額外的信息阻隔、過濾或重定位等可能導致延緩搜索的問題。

域名資訊