浅析IPv6下的 DNS系统

IPv6下的 DNS系统的分析摘 要 本文阐述了IPV6中DNS 域名系统的体系结构,DNS 对IPV6地址层次性和即插即用特性的支持,以及IPv4到IPv6过渡期DNS 的升级和转换,重点对IP

IPv6下的 DNS系统的分析

摘 要 本文阐述了IPV6中DNS 域名系统的体系结构,DNS 对IPV6地址层次性和即插即用特性的支持,以及IPv4到IPv6过渡期DNS 的升级和转换,重点对IPv4和IPv6 环境下的DNS 系统中可能存在的安全问题进行了分析和比对。

关键词 IPV6;DNS 系统;DNS 安全

1 引 言

IPv6 是新一代的网络协议,与IPv4协议相比它拥有巨大的地址空间;从地址结构和地址分配上支持地址聚合,从而大大减少路由表条目;具有方便的网络即插即用功能;具有良好的移动性支持等等新特性。域名系统(Domain Name System,简称 DNS )的主要功能是通过域名和 IP 地址之间的相互对应关系,来定位网络资源,即根据域名查询 IP 地址,反之亦然。它是 Internet 的基础架构,众多的网络服务(如 Http ,Ftp , Email 等等)都是建立在 DNS 服务之上的。

IPv6 协议是取代 IPv4 的下一代网络协议,它具有许多新的特性与功能。域名系统(DNS )是 Internet 的基础架构,IPv6 的新特性也需要 DNS 的支持。因此,DNS 势必要升级以满足 IPv6 的需求。本文从 IPv6的地址空间、IPv6 地址自动配置和即插即用、IPv6 的移动性、IPv4 到 IPv6 的过渡以及安全性等几方面对 IPv6 对 DNS 的需求及其解决方法进行了分析和研究。

2 IPv6域名系统

2. 1 IPv6域名系统的体系结构

IPv6网络中的DNS 与IPv4的DNS 在体系结构上是一致的,都采用树型结构的域名空间。IPv4协议与IPv6协议的不同并不意味着需要单独两套IPv4 DNS体系和IPv6 DNS体系,相反的是,DNS 的体系和域名空间必须是一致的,即IPv4和IPv6共同拥有统一的域名空间。在IPv4到IPv6的过渡阶段,域名可以同时对应于多个IPv4和IPv6的地址。以后随着IPv6网络的普及,IPv6地址将逐渐取代IPv4地址。

2.2 DNS 对IPv6地址层次性的支持

在RFC1886中定义了一种新的DNS 资源记录类型,AAAA(4A),它用于将完全合格的域名解析为IPV6地址。4A 记录DNS 记录类型28。4A 记录相当于IPV4名称解析中的主机地址(A)资源记录。资源记录类型以AAAA 来命名是因为128位的IPV6地址的长度是32位的IPV4地址长度的4倍。

在DNS 数据库文件中的AAAA 资源记录通常具有如下结构:

Name IN AAAA Address

这里的Name 是完全合格的域名,Address 是与名称相关的IPV6地址。如下列: Host1.microsoft.com IN AAAA FEC0::1:2AA:FF:FE3F:2A1C IPv6可聚合全局单播地址是在全局范围内使用的地址,必须进行层次划分及地址聚合。 FP (001):用于可聚合全局单播地址的格式前缀(FP:Format Prefix)(3比特); TLA ID:顶级聚合标识符(Top-Level Aggregation Identifier);

RES :为将来使用而保留;

NLA ID:次级聚合标识符(Next-Level Aggregation Identifier);

,

SLA ID:站点级聚合标识符(Site-Level Aggregation Identifier);

INTERFACE ID:接口标识符。

IPv6全局单播地址的分配方式如下:顶级地址聚合机构 TLA(即大的ISP 或地址管理机构) 获得大块地址,负责给次级地址聚合机构NLA(中小规模ISP) 分配地址,NLA 给站点级地址聚合机构SLA(子网) 和网络用户分配地址。IPv6地址的层次性在DNS 中通过地址链技术可以得到很好的支持。下面从DNS 正向地址解析和反向地址解析两方面进行分析。 a. 正向解析

IPv4的地址正向解析的资源记录是“A”记录。IPv6地址的正向解析目前有两种资源记录,即,“AAAA”和“A6”记录。其中, “AAAA”较早提出<4>,它是对“A”记录的简单扩展,由于IP 地址由32位扩展到128位,扩大了4倍,所以资源记录由“A”扩大成4 个“A”。“AAAA”用来表示域名和IPv6地址的对应关系,并不支持地址的层次性。

“A6”在RFC2874<5>中提出,它是把一个IPv6地址与多个“A6”记录建立联系,每个“A6”记录都只包含了IPv6地址的一部分,结合后拼装成一个完整的IPv6地址。“A6”记录支持一些“AAAA”所不具备的新特性,如地址聚合,地址更改(Renumber)等。

首先,“A6”记录方式根据TLA 、NLA 和SLA 的分配层次把128位的IPv6的地址分解成为若干级的地址前缀和地址后缀,构成了一个地址链。每个地址前缀和地址后缀都是地址链上的一环,一个完整的地址链就组成一个IPv6地址。这种思想符合IPv6地址的层次结构,从而支持地址聚合。

其次,用户在改变ISP 时,要随ISP 改变而改变其拥有的IPv6地址。如果手工修改用户子网中所有在DNS 中注册的地址,是一件非常繁琐的事情。而在用“A6”记录表示的地址链中,只要改变地址前缀对应的ISP 名字即可,可以大大减少DNS 中资源记录的修改。并且在地址分配层次中越靠近底层,所需要改动的越少。

b. 反向解析

IPv6反向解析的记录和IPv4一样,是“PTR”,但地址表示形式有两种。一种是用 “.”分隔的半字节16进制数字格式(Nibble Format) ,低位地址在前,高位地址在后,域后缀是“IP6.INT.”。另一种是二进制串(Bit-string)格式,以“<”开头, 16进制地址(无分隔符,高位在前,低位在后) 居中,地址后加“>”,域后缀是“IP6.ARPA.”。半字节16进制数字格式与“AAAA”对应,是对IPv4的简单扩展。二进制串格式与“A6”记录对应,地址也象“A6”一样,可以分成多级地址链表示,每一级的授权用“DNAME”记录。和 “A6”一样,二进制串格式也支持地址层次特性。

总之,以地址链形式表示的IPv6地址体现了地址的层次性,支持地址聚合和地址更改。但是,由于一次完整的地址解析分成多个步骤进行,需要按照地址的分配层次关系到不同的DNS 服务器进行查询。所有的查询都成功才能得到完整的解析结果。这势必会延长解析时间,出错的机会也增加。因此,需要进一步改进DNS 地址链功能,提高域名解析的速度才能为用户提供理想的服务。

2.3 IPv6中的即插即用与DNS

IPv6协议支持地址自动配置,这是一种即插即用的机制,在没有任何人工干预的情况下,IPv6网络接口可以获得链路局部地址、站点局部地址和全局地址等,并且可以防止地址重复。IPv6支持无状态地址自动配置和有状态地址自动配置两种方式。

IPv6节点通过地址自动配置得到IPv6地址和网关地址。但是,地址自动配置中不包括DNS 服务器的自动配置。如何自动发现提供解析服务的DNS 服务器也是一个需要解决的问题。正在研究的DNS 服务器的自动发现的解决方法可以分为无状态和有状态两类。

在无状态的方式下,需要为子网内部的DNS 服务器配置站点范围内的任播地址。要进行自动配置的节点以该任播地址为目的地址发送服务器发现请求,询问DNS 服务器地址、

,

域名和搜索路径等DNS 信息。这个请求到达距离最近的DNS 服务器,服务器根据请求,回答DNS 服务器单播地址、域名和搜索路径等 DNS 信息。节点根据服务器的应答配置本机DNS 信息,以后的DNS 请求就直接用单播地址发送给DNS 服务器。

另外,也可以不用站点范围内的任播地址,而采用站点范围内的多播地址或链路多播地址等。还可以一直用站点范围内的任播地址作为DNS 服务器的地址,所有的DNS 解析请求都发送给这个任播地址。距离最近的DNS 服务器负责解析这个请求,得到解析结果后把结果返回请求节点,而不像上述做法是把DNS 服务器单播地址、域名和搜索路径等DNS 信息告诉节点。从网络扩展性,安全性,实用性等多方面综合考虑,第一种采用站点范围内的任播地址作为DNS 服务器地址的方式相对较好。

在有状态的DNS 服务器发现方式下,是通过类似DHCP 这样的服务器把DNS 服务器地址、域名和搜索路径等DNS 信息告诉节点。当然,这样做需要额外的服务器。

2.4 IPv6过渡阶段与DNS

在IPv4到IPv6的过渡过程中,作为Internet 基础架构的DNS 服务也要支持这种网络协议的升级和转换。IPv4和IPv6的DNS 记录格式等方面有所不同,为了实现IPv4网络和IPv6网络之间的DNS 查询和响应,可以采用应用层网关DNS-ALG 结合NA T -PT 的方法,在 IPv4和IPv6网络之间起到一个翻译的作用。例如,IPv4的地址域名映射使用“A”记录,而IPv6使用“AAAA”或“A6”记录。那么, IPv4的节点发送到IPv6网络的DNS 查询请求是“A”记录,DNS-ALG 就把“A”改写成“AAAA”,并发送给IPv6网络中的DNS 服务器。当服务器的回答到达DNS-ALG 时,DNS-ALG 修改回答,把“AAAA”改为“A”,把IPv6地址改成DNS-ALG 地址池中的IPv4转换地址,把这个IPv4转换地址和IPv6地址之间的映射关系通知NAT -PT ,并把这个IPv4转换地址作为解析结果返回IPv4主机。IPv4主机就以这个IPv4转换地址作为目的地址与实际的IPv6主机通过NAT -PT 通信。(如图1 所示

)

图 1

3 IPv6域名系统下的安全分析

3.1 IPv4DNS的安全性问题

某些 DNS 服务器支持的反向查询(iquery )功能可使攻击者获得区域传输。所谓DNS 服务器反向查询,就是输入IP 地址,可以查出域名。攻击者获得区域传输后可以识别出注册到您的 DNS 服务器的每台计算机,并且可能被攻击者用来更好的了解您的网络。甚至

,

当您在 DNS 服务器上禁用了区域传输时,iquery 功能仍旧可以允许区域传输发生。例如“网络钓鱼(Phishing )”攻击、“DNS中毒(DNS poisoning)”攻击等,这些攻击会控制DNS 服务器,将合法网站的IP 地址篡改为假冒、恶意网站的IP 地址等。

3.2 IPv6 对DNS 安全的增强

(1)扫描子网难度的增加 IPv6的地址由32bit 增加到128bit 就能让现在攻击前常用的端口扫描难以继续,IPv6子网扫描所消耗时间比起IPv4子网扫描所耗费的时间让攻击者难以接受,这将大大减少扫描整个子网情况的出现,或者使用变通的方法以缩小扫描范围,如:考虑管理员手工配置时多使用[prefix]::1递增的地址; 考虑自动配置使用MAC 地址作为最后48bit ,而其中前24位是生产厂商的编码,因此扫描范围可以减小到224个主机:或者使用其它替代方法,而这些都将增大扫描的难度。

(2)DNS 安全扩展协议的引入 安全域名系统(域名系统安全扩展)DNSSEC 是专门针对检测仿冒性攻击而设计的。DNSSEC 目的是让终端用户的域名解析系统能够获知所解析的域名是否真正有效 ,从而避免用户在仿 冒的网站上将自己的重要信息泄露给攻击者,保证用户客户端收到的DNS 记录的合法性。此外 ,DNS 扩展与原有的DNS 系统是向下兼容的,因此在实现上具有可行性 。但由于整个 Internet上的DNS 系统已经是一个非常庞大的分布式的域名记录数据库 ,完全实现向DNSSEC 的转换 ,需要投入大量时间和工作量 。此外 ,DNSSEC 只是提供了对 DNS记录真实性的验证 ,只在有限的程度上为用户通信的安全提供了保证。要完全保证用户信息的安全 ,还需要在应用层面 、传输层面提供更加完整的解决方案。另一方面 ,DNSSEC 在 DNS请求和响应中添加了数字签名 ,也增加了通信的流量和复杂度 ,可能会导致新的基于加密算法的拒绝服务攻击

(3)反向查询机制的健全 RFC 1886中描述了为进行IPV6反向查询而创建的IP6.INT 域,它根据主机的IP 地址,来确定主机的域名。为了给反向查询创建命名空间,在完整表达的IPV6地址中,每个十六进制数都变成了以反序排列的反向区域结构中一个单独的级别。

通过对IPv6所提供的新的安全机制的介绍,我们可以看出,IPv6可以进行身份认证,并且可以保证数据包的完整性和机密性,所以在安全性方面,IPv6相对于IPv4有了质的提高。

3.3 过度机制引发的安全问题

IPv4和IPv6的DNS 记录格式等方面有所不同,尤其是IPv4-mapped IPv6地址的时,址有两种不同的含义:用AF_ INET6表示IPv4地址 (RFC3493);或用AF INET6表示IPv6通讯(RFC2765)。这种二义性导致可能的安全威胁,因为很难分辨一个IPv4-mapped IPv6地址是一个真实的IPv4地址表示为IPv6格式还是收到的伪造的IPv6地址。如数据包中IPv6源地址是:::ffff:127.0.0.1,目标主机会以为是来自自己(127.0.0.1),但这也可能是收到的来自外部伪造的IPv6地址(:::ffff:127.0.0.1)。

4 总结

随着Internet 技术的不断发展,IPv6已经离我们越来越近。DNS 作为IPv4时代的网络基础服务,对Internet 起着重要的作用。在即将到来的IPv6时代,新的协议和功能要求DNS 不再是仅仅提供传统意义上的简单资源定位,而是一方面提供类似IPv4 DNS的基础功能,另一方面结合IPv6的新特性,和其它协议有机的结合在一起,提供新的功能,使网络的配置、维护、使用变的更加简单方便,让用户感觉到新技术带来的新体验。

参考文献

[ 1 ] Rolf Oppliger, Security at the Internet Layer, IEEE, September 1998

,

[2]李信满. 赵宏,IPv6的安全体系结构,中兴通讯技术,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的安全机制及其对现有网络安全体系的影响,微电子学与计算机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

标签: