淺析IPv6下的 DNS系統(tǒng)
IPv6下的 DNS系統(tǒng)的分析摘 要 本文闡述了IPV6中DNS 域名系統(tǒng)的體系結(jié)構(gòu),DNS 對(duì)IPV6地址層次性和即插即用特性的支持,以及IPv4到IPv6過渡期DNS 的升級(jí)和轉(zhuǎn)換,重點(diǎn)對(duì)IP
IPv6下的 DNS系統(tǒng)的分析
摘 要 本文闡述了IPV6中DNS 域名系統(tǒng)的體系結(jié)構(gòu),DNS 對(duì)IPV6地址層次性和即插即用特性的支持,以及IPv4到IPv6過渡期DNS 的升級(jí)和轉(zhuǎn)換,重點(diǎn)對(duì)IPv4和IPv6 環(huán)境下的DNS 系統(tǒng)中可能存在的安全問題進(jìn)行了分析和比對(duì)。
關(guān)鍵詞 IPV6;DNS 系統(tǒng);DNS 安全
1 引 言
IPv6 是新一代的網(wǎng)絡(luò)協(xié)議,與IPv4協(xié)議相比它擁有巨大的地址空間;從地址結(jié)構(gòu)和地址分配上支持地址聚合,從而大大減少路由表?xiàng)l目;具有方便的網(wǎng)絡(luò)即插即用功能;具有良好的移動(dòng)性支持等等新特性。域名系統(tǒng)(Domain Name System,簡(jiǎn)稱 DNS )的主要功能是通過域名和 IP 地址之間的相互對(duì)應(yīng)關(guān)系,來定位網(wǎng)絡(luò)資源,即根據(jù)域名查詢 IP 地址,反之亦然。它是 Internet 的基礎(chǔ)架構(gòu),眾多的網(wǎng)絡(luò)服務(wù)(如 Http ,F(xiàn)tp , Email 等等)都是建立在 DNS 服務(wù)之上的。
IPv6 協(xié)議是取代 IPv4 的下一代網(wǎng)絡(luò)協(xié)議,它具有許多新的特性與功能。域名系統(tǒng)(DNS )是 Internet 的基礎(chǔ)架構(gòu),IPv6 的新特性也需要 DNS 的支持。因此,DNS 勢(shì)必要升級(jí)以滿足 IPv6 的需求。本文從 IPv6的地址空間、IPv6 地址自動(dòng)配置和即插即用、IPv6 的移動(dòng)性、IPv4 到 IPv6 的過渡以及安全性等幾方面對(duì) IPv6 對(duì) DNS 的需求及其解決方法進(jìn)行了分析和研究。
2 IPv6域名系統(tǒng)
2. 1 IPv6域名系統(tǒng)的體系結(jié)構(gòu)
IPv6網(wǎng)絡(luò)中的DNS 與IPv4的DNS 在體系結(jié)構(gòu)上是一致的,都采用樹型結(jié)構(gòu)的域名空間。IPv4協(xié)議與IPv6協(xié)議的不同并不意味著需要單獨(dú)兩套IPv4 DNS體系和IPv6 DNS體系,相反的是,DNS 的體系和域名空間必須是一致的,即IPv4和IPv6共同擁有統(tǒng)一的域名空間。在IPv4到IPv6的過渡階段,域名可以同時(shí)對(duì)應(yīng)于多個(gè)IPv4和IPv6的地址。以后隨著IPv6網(wǎng)絡(luò)的普及,IPv6地址將逐漸取代IPv4地址。
2.2 DNS 對(duì)IPv6地址層次性的支持
在RFC1886中定義了一種新的DNS 資源記錄類型,AAAA(4A),它用于將完全合格的域名解析為IPV6地址。4A 記錄DNS 記錄類型28。4A 記錄相當(dāng)于IPV4名稱解析中的主機(jī)地址(A)資源記錄。資源記錄類型以AAAA 來命名是因?yàn)?28位的IPV6地址的長(zhǎng)度是32位的IPV4地址長(zhǎng)度的4倍。
在DNS 數(shù)據(jù)庫(kù)文件中的AAAA 資源記錄通常具有如下結(jié)構(gòu):
Name IN AAAA Address
這里的Name 是完全合格的域名,Address 是與名稱相關(guān)的IPV6地址。如下列: Host1.microsoft.com IN AAAA FEC0::1:2AA:FF:FE3F:2A1C IPv6可聚合全局單播地址是在全局范圍內(nèi)使用的地址,必須進(jìn)行層次劃分及地址聚合。 FP (001):用于可聚合全局單播地址的格式前綴(FP:Format Prefix)(3比特); TLA ID:頂級(jí)聚合標(biāo)識(shí)符(Top-Level Aggregation Identifier);
RES :為將來使用而保留;
NLA ID:次級(jí)聚合標(biāo)識(shí)符(Next-Level Aggregation Identifier);
,SLA ID:站點(diǎn)級(jí)聚合標(biāo)識(shí)符(Site-Level Aggregation Identifier);
INTERFACE ID:接口標(biāo)識(shí)符。
IPv6全局單播地址的分配方式如下:頂級(jí)地址聚合機(jī)構(gòu) TLA(即大的ISP 或地址管理機(jī)構(gòu)) 獲得大塊地址,負(fù)責(zé)給次級(jí)地址聚合機(jī)構(gòu)NLA(中小規(guī)模ISP) 分配地址,NLA 給站點(diǎn)級(jí)地址聚合機(jī)構(gòu)SLA(子網(wǎng)) 和網(wǎng)絡(luò)用戶分配地址。IPv6地址的層次性在DNS 中通過地址鏈技術(shù)可以得到很好的支持。下面從DNS 正向地址解析和反向地址解析兩方面進(jìn)行分析。 a. 正向解析
IPv4的地址正向解析的資源記錄是“A”記錄。IPv6地址的正向解析目前有兩種資源記錄,即,“AAAA”和“A6”記錄。其中, “AAAA”較早提出<4>,它是對(duì)“A”記錄的簡(jiǎn)單擴(kuò)展,由于IP 地址由32位擴(kuò)展到128位,擴(kuò)大了4倍,所以資源記錄由“A”擴(kuò)大成4 個(gè)“A”?!癆AAA”用來表示域名和IPv6地址的對(duì)應(yīng)關(guān)系,并不支持地址的層次性。
“A6”在RFC2874<5>中提出,它是把一個(gè)IPv6地址與多個(gè)“A6”記錄建立聯(lián)系,每個(gè)“A6”記錄都只包含了IPv6地址的一部分,結(jié)合后拼裝成一個(gè)完整的IPv6地址。“A6”記錄支持一些“AAAA”所不具備的新特性,如地址聚合,地址更改(Renumber)等。
首先,“A6”記錄方式根據(jù)TLA 、NLA 和SLA 的分配層次把128位的IPv6的地址分解成為若干級(jí)的地址前綴和地址后綴,構(gòu)成了一個(gè)地址鏈。每個(gè)地址前綴和地址后綴都是地址鏈上的一環(huán),一個(gè)完整的地址鏈就組成一個(gè)IPv6地址。這種思想符合IPv6地址的層次結(jié)構(gòu),從而支持地址聚合。
其次,用戶在改變ISP 時(shí),要隨ISP 改變而改變其擁有的IPv6地址。如果手工修改用戶子網(wǎng)中所有在DNS 中注冊(cè)的地址,是一件非常繁瑣的事情。而在用“A6”記錄表示的地址鏈中,只要改變地址前綴對(duì)應(yīng)的ISP 名字即可,可以大大減少DNS 中資源記錄的修改。并且在地址分配層次中越靠近底層,所需要改動(dòng)的越少。
b. 反向解析
IPv6反向解析的記錄和IPv4一樣,是“PTR”,但地址表示形式有兩種。一種是用 “.”分隔的半字節(jié)16進(jìn)制數(shù)字格式(Nibble Format) ,低位地址在前,高位地址在后,域后綴是“IP6.INT.”。另一種是二進(jìn)制串(Bit-string)格式,以“<”開頭, 16進(jìn)制地址(無分隔符,高位在前,低位在后) 居中,地址后加“>”,域后綴是“IP6.ARPA.”。半字節(jié)16進(jìn)制數(shù)字格式與“AAAA”對(duì)應(yīng),是對(duì)IPv4的簡(jiǎn)單擴(kuò)展。二進(jìn)制串格式與“A6”記錄對(duì)應(yīng),地址也象“A6”一樣,可以分成多級(jí)地址鏈表示,每一級(jí)的授權(quán)用“DNAME”記錄。和 “A6”一樣,二進(jìn)制串格式也支持地址層次特性。
總之,以地址鏈形式表示的IPv6地址體現(xiàn)了地址的層次性,支持地址聚合和地址更改。但是,由于一次完整的地址解析分成多個(gè)步驟進(jìn)行,需要按照地址的分配層次關(guān)系到不同的DNS 服務(wù)器進(jìn)行查詢。所有的查詢都成功才能得到完整的解析結(jié)果。這勢(shì)必會(huì)延長(zhǎng)解析時(shí)間,出錯(cuò)的機(jī)會(huì)也增加。因此,需要進(jìn)一步改進(jìn)DNS 地址鏈功能,提高域名解析的速度才能為用戶提供理想的服務(wù)。
2.3 IPv6中的即插即用與DNS
IPv6協(xié)議支持地址自動(dòng)配置,這是一種即插即用的機(jī)制,在沒有任何人工干預(yù)的情況下,IPv6網(wǎng)絡(luò)接口可以獲得鏈路局部地址、站點(diǎn)局部地址和全局地址等,并且可以防止地址重復(fù)。IPv6支持無狀態(tài)地址自動(dòng)配置和有狀態(tài)地址自動(dòng)配置兩種方式。
IPv6節(jié)點(diǎn)通過地址自動(dòng)配置得到IPv6地址和網(wǎng)關(guān)地址。但是,地址自動(dòng)配置中不包括DNS 服務(wù)器的自動(dòng)配置。如何自動(dòng)發(fā)現(xiàn)提供解析服務(wù)的DNS 服務(wù)器也是一個(gè)需要解決的問題。正在研究的DNS 服務(wù)器的自動(dòng)發(fā)現(xiàn)的解決方法可以分為無狀態(tài)和有狀態(tài)兩類。
在無狀態(tài)的方式下,需要為子網(wǎng)內(nèi)部的DNS 服務(wù)器配置站點(diǎn)范圍內(nèi)的任播地址。要進(jìn)行自動(dòng)配置的節(jié)點(diǎn)以該任播地址為目的地址發(fā)送服務(wù)器發(fā)現(xiàn)請(qǐng)求,詢問DNS 服務(wù)器地址、
,域名和搜索路徑等DNS 信息。這個(gè)請(qǐng)求到達(dá)距離最近的DNS 服務(wù)器,服務(wù)器根據(jù)請(qǐng)求,回答DNS 服務(wù)器單播地址、域名和搜索路徑等 DNS 信息。節(jié)點(diǎn)根據(jù)服務(wù)器的應(yīng)答配置本機(jī)DNS 信息,以后的DNS 請(qǐng)求就直接用單播地址發(fā)送給DNS 服務(wù)器。
另外,也可以不用站點(diǎn)范圍內(nèi)的任播地址,而采用站點(diǎn)范圍內(nèi)的多播地址或鏈路多播地址等。還可以一直用站點(diǎn)范圍內(nèi)的任播地址作為DNS 服務(wù)器的地址,所有的DNS 解析請(qǐng)求都發(fā)送給這個(gè)任播地址。距離最近的DNS 服務(wù)器負(fù)責(zé)解析這個(gè)請(qǐng)求,得到解析結(jié)果后把結(jié)果返回請(qǐng)求節(jié)點(diǎn),而不像上述做法是把DNS 服務(wù)器單播地址、域名和搜索路徑等DNS 信息告訴節(jié)點(diǎn)。從網(wǎng)絡(luò)擴(kuò)展性,安全性,實(shí)用性等多方面綜合考慮,第一種采用站點(diǎn)范圍內(nèi)的任播地址作為DNS 服務(wù)器地址的方式相對(duì)較好。
在有狀態(tài)的DNS 服務(wù)器發(fā)現(xiàn)方式下,是通過類似DHCP 這樣的服務(wù)器把DNS 服務(wù)器地址、域名和搜索路徑等DNS 信息告訴節(jié)點(diǎn)。當(dāng)然,這樣做需要額外的服務(wù)器。
2.4 IPv6過渡階段與DNS
在IPv4到IPv6的過渡過程中,作為Internet 基礎(chǔ)架構(gòu)的DNS 服務(wù)也要支持這種網(wǎng)絡(luò)協(xié)議的升級(jí)和轉(zhuǎn)換。IPv4和IPv6的DNS 記錄格式等方面有所不同,為了實(shí)現(xiàn)IPv4網(wǎng)絡(luò)和IPv6網(wǎng)絡(luò)之間的DNS 查詢和響應(yīng),可以采用應(yīng)用層網(wǎng)關(guān)DNS-ALG 結(jié)合NA T -PT 的方法,在 IPv4和IPv6網(wǎng)絡(luò)之間起到一個(gè)翻譯的作用。例如,IPv4的地址域名映射使用“A”記錄,而IPv6使用“AAAA”或“A6”記錄。那么, IPv4的節(jié)點(diǎn)發(fā)送到IPv6網(wǎng)絡(luò)的DNS 查詢請(qǐng)求是“A”記錄,DNS-ALG 就把“A”改寫成“AAAA”,并發(fā)送給IPv6網(wǎng)絡(luò)中的DNS 服務(wù)器。當(dāng)服務(wù)器的回答到達(dá)DNS-ALG 時(shí),DNS-ALG 修改回答,把“AAAA”改為“A”,把IPv6地址改成DNS-ALG 地址池中的IPv4轉(zhuǎn)換地址,把這個(gè)IPv4轉(zhuǎn)換地址和IPv6地址之間的映射關(guān)系通知NAT -PT ,并把這個(gè)IPv4轉(zhuǎn)換地址作為解析結(jié)果返回IPv4主機(jī)。IPv4主機(jī)就以這個(gè)IPv4轉(zhuǎn)換地址作為目的地址與實(shí)際的IPv6主機(jī)通過NAT -PT 通信。(如圖1 所示
)
圖 1
3 IPv6域名系統(tǒng)下的安全分析
3.1 IPv4DNS的安全性問題
某些 DNS 服務(wù)器支持的反向查詢(iquery )功能可使攻擊者獲得區(qū)域傳輸。所謂DNS 服務(wù)器反向查詢,就是輸入IP 地址,可以查出域名。攻擊者獲得區(qū)域傳輸后可以識(shí)別出注冊(cè)到您的 DNS 服務(wù)器的每臺(tái)計(jì)算機(jī),并且可能被攻擊者用來更好的了解您的網(wǎng)絡(luò)。甚至
,當(dāng)您在 DNS 服務(wù)器上禁用了區(qū)域傳輸時(shí),iquery 功能仍舊可以允許區(qū)域傳輸發(fā)生。例如“網(wǎng)絡(luò)釣魚(Phishing )”攻擊、“DNS中毒(DNS poisoning)”攻擊等,這些攻擊會(huì)控制DNS 服務(wù)器,將合法網(wǎng)站的IP 地址篡改為假冒、惡意網(wǎng)站的IP 地址等。
3.2 IPv6 對(duì)DNS 安全的增強(qiáng)
(1)掃描子網(wǎng)難度的增加 IPv6的地址由32bit 增加到128bit 就能讓現(xiàn)在攻擊前常用的端口掃描難以繼續(xù),IPv6子網(wǎng)掃描所消耗時(shí)間比起IPv4子網(wǎng)掃描所耗費(fèi)的時(shí)間讓攻擊者難以接受,這將大大減少掃描整個(gè)子網(wǎng)情況的出現(xiàn),或者使用變通的方法以縮小掃描范圍,如:考慮管理員手工配置時(shí)多使用[prefix]::1遞增的地址; 考慮自動(dòng)配置使用MAC 地址作為最后48bit ,而其中前24位是生產(chǎn)廠商的編碼,因此掃描范圍可以減小到224個(gè)主機(jī):或者使用其它替代方法,而這些都將增大掃描的難度。
(2)DNS 安全擴(kuò)展協(xié)議的引入 安全域名系統(tǒng)(域名系統(tǒng)安全擴(kuò)展)DNSSEC 是專門針對(duì)檢測(cè)仿冒性攻擊而設(shè)計(jì)的。DNSSEC 目的是讓終端用戶的域名解析系統(tǒng)能夠獲知所解析的域名是否真正有效 ,從而避免用戶在仿 冒的網(wǎng)站上將自己的重要信息泄露給攻擊者,保證用戶客戶端收到的DNS 記錄的合法性。此外 ,DNS 擴(kuò)展與原有的DNS 系統(tǒng)是向下兼容的,因此在實(shí)現(xiàn)上具有可行性 。但由于整個(gè) Internet上的DNS 系統(tǒng)已經(jīng)是一個(gè)非常龐大的分布式的域名記錄數(shù)據(jù)庫(kù) ,完全實(shí)現(xiàn)向DNSSEC 的轉(zhuǎn)換 ,需要投入大量時(shí)間和工作量 。此外 ,DNSSEC 只是提供了對(duì) DNS記錄真實(shí)性的驗(yàn)證 ,只在有限的程度上為用戶通信的安全提供了保證。要完全保證用戶信息的安全 ,還需要在應(yīng)用層面 、傳輸層面提供更加完整的解決方案。另一方面 ,DNSSEC 在 DNS請(qǐng)求和響應(yīng)中添加了數(shù)字簽名 ,也增加了通信的流量和復(fù)雜度 ,可能會(huì)導(dǎo)致新的基于加密算法的拒絕服務(wù)攻擊
(3)反向查詢機(jī)制的健全 RFC 1886中描述了為進(jìn)行IPV6反向查詢而創(chuàng)建的IP6.INT 域,它根據(jù)主機(jī)的IP 地址,來確定主機(jī)的域名。為了給反向查詢創(chuàng)建命名空間,在完整表達(dá)的IPV6地址中,每個(gè)十六進(jìn)制數(shù)都變成了以反序排列的反向區(qū)域結(jié)構(gòu)中一個(gè)單獨(dú)的級(jí)別。
通過對(duì)IPv6所提供的新的安全機(jī)制的介紹,我們可以看出,IPv6可以進(jìn)行身份認(rèn)證,并且可以保證數(shù)據(jù)包的完整性和機(jī)密性,所以在安全性方面,IPv6相對(duì)于IPv4有了質(zhì)的提高。
3.3 過度機(jī)制引發(fā)的安全問題
IPv4和IPv6的DNS 記錄格式等方面有所不同,尤其是IPv4-mapped IPv6地址的時(shí),址有兩種不同的含義:用AF_ INET6表示IPv4地址 (RFC3493);或用AF INET6表示IPv6通訊(RFC2765)。這種二義性導(dǎo)致可能的安全威脅,因?yàn)楹茈y分辨一個(gè)IPv4-mapped IPv6地址是一個(gè)真實(shí)的IPv4地址表示為IPv6格式還是收到的偽造的IPv6地址。如數(shù)據(jù)包中IPv6源地址是:::ffff:127.0.0.1,目標(biāo)主機(jī)會(huì)以為是來自自己(127.0.0.1),但這也可能是收到的來自外部偽造的IPv6地址(:::ffff:127.0.0.1)。
4 總結(jié)
隨著Internet 技術(shù)的不斷發(fā)展,IPv6已經(jīng)離我們?cè)絹碓浇?。DNS 作為IPv4時(shí)代的網(wǎng)絡(luò)基礎(chǔ)服務(wù),對(duì)Internet 起著重要的作用。在即將到來的IPv6時(shí)代,新的協(xié)議和功能要求DNS 不再是僅僅提供傳統(tǒng)意義上的簡(jiǎn)單資源定位,而是一方面提供類似IPv4 DNS的基礎(chǔ)功能,另一方面結(jié)合IPv6的新特性,和其它協(xié)議有機(jī)的結(jié)合在一起,提供新的功能,使網(wǎng)絡(luò)的配置、維護(hù)、使用變的更加簡(jiǎn)單方便,讓用戶感覺到新技術(shù)帶來的新體驗(yàn)。
參考文獻(xiàn)
[ 1 ] Rolf Oppliger, Security at the Internet Layer, IEEE, September 1998
,[2]李信滿. 趙宏,IPv6的安全體系結(jié)構(gòu),中興通訊技術(shù),2002
[3] Jari Arkko等,Securing IPv6 Neighbor and Router Discovery, WiSe'02, Sep 2002
[4]P.Savola, Security of II'vb Routing Header and Home Address Options, draft-savola-ipv6-rh-ha-security-02.txt
[5] P. Savola, Firewalling Considerations for IPvb, draft-savola-vbops-firewalling-02.txt
(6] S. Deering and R. Hinden, Internet Protocol, Version 6(IPv6) Specification, RFC2460, Internet Engineering Task Force, Dec 2002
[7] P. Savola and C. Patel, Security Considerations for 6to4, draft-ietf-v6ops-6to4-security-02.txt
[8] httpa/www.securityfocus.com
[9]王玲. 錢華林,IPv6的安全機(jī)制及其對(duì)現(xiàn)有網(wǎng)絡(luò)安全體系的影響,微電子學(xué)與計(jì)算機(jī)2003年第1期
[10] R. M. Hinden and S. E. Dewing. IP version 6 addressing architecture. RFC 3513, IETF Network Working Group, April 2005.
[11 T Narten, E. Nordmark and W Simpson, Neighbor Discovery for IP Version 6 (IPv6), RFC2641, IETF,December 2003
Analyses on the DNS system under IPv6
Li Haijun
Abstract: This Paper introduced the system structure of the DNS domain system under the IPV6 Protocol, the IPV6's support for the address' hierarchy and plug-and-play, the DNS service's upgrading and transformation of the IPv4 to IPv6 transition period. It also discussed the potential security problems of the DNS system before and after the bringing in of the IPV6 Protocol.
Keyword IPV6;DNS System; DNS Security