知識平臺

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

DNS基本概念

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

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

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

正向解析   查找域名對應(yīng)IP的過程。

反向解析   查找IP對應(yīng)域名的過程。

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

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

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

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

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

域名查詢過程

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

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

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

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

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

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

RSSAC   根服務(wù)器系統(tǒng)支持委員會(huì)(Root Server System Advisory Committee)。負(fù)責(zé)根服務(wù)器系統(tǒng)管理。

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

域名市場

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

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

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

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

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

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

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

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

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

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

域名安全威脅

一、安全事件

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

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

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

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

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

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



二、攻擊手段

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

response flood   通過不斷的發(fā)DNS響應(yīng)報(bào)文來達(dá)到拒絕服務(wù)的目的。

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

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

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

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

漏洞攻擊   利用各種漏洞來達(dá)到入侵并控制DNS服務(wù)器目的。漏洞不僅僅指DNS程序本身的,也有可能是機(jī)器或者網(wǎng)絡(luò)其它的“問題點(diǎn)”。

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



三、防御手段

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


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


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


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


公共DNS

一、百度DNS

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

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

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

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


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

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

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

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

域名資訊