visual studio 2010 下载-win7wifi

dns根服务器
2023年4月6日发(作者:微信内测申请官网)

IPv6根DNS服务器研究

IPv6根DNS服务器研究

中国互联网络信息中心技术部金键张鸿

摘要:IPv6是下一代网络的基础协议。随着IPv4地址的枯竭,人们开始考虑部署IPv6。

作为网络上最为重要的基础服务—DNS(DomainNameSystem),尤其是根DNS的性能和可

用性,将是影响网络正常运行的关键因素之一。本文主要介绍了在IPv6根DNS方面CNNIC

所作的研究工作和研究成果,并简要论述了一些技术难点和关键问题,从而为CNNIC在IPv6

的网络服务方面提供技术性探索。

关键词:IPv6DNS安全性能体系结构

1引言

1.1关于DNS

DNS服务是互联网的基础服务,HTTP、FTP、Email等服务都需要DNS

的支持。DNS是树型结构,它的“根”是整个DNS的根本,也是互联网上

最关键的服务之一。在IPv4网络时代,由于历史原因,到目前为止,中国

还没有建立DNS根服务器。DNS根服务器的建立是保障国家信息网络安全

的重要手段之一,如果能在我国的建立IPv6根服务器,将对国家信息安全

和国家整体的安全战略产生不可估量的影响。

为了研究和解决建立IPv6DNS根服务器的关键技术,为中国申请和建

立IPv6DNS根服务器提供技术保证,CNNIC在构建IPv6网络环境的基础

上,深入研究了IPv6DNS根服务器建立、运行、维护及安全、可靠性保障

等方面的关键技术,使我国真正具备建立、运行和维护IPv6DNS根服务器、

保障服务器安全运行和高效响应DNS请求的能力,为中国申请并建立

IPv6DNS根服务器创造条件。

1.2国内外根DNS情况

DNS根服务器是DNS树型域名空间的“根”。根服务器负责TLD的解

析,对于域名解析起着极其关键的作用。如果根服务器失效,整个DNS系

统将瘫痪,互联网也将崩溃。

到现在为止,IPv4网络共有13台根服务器,名字是由

到。英国、日本和瑞典各拥有1台,其余10台均在美国

的“美国航天航空局”、军事和教育的站点。这些根服务器分别由9家机构

负责管理,主根服务器()由美国NSI公司(NetworkSolutions

IncorporatedofHerndon,Virginia,USA)管理,其余12个辅根服务器从主根

服务器处获得根区域文件(TLD

数据)。根区域文件的修改是由IANA控制

的。

这13个根服务器分布在4个国家的9个机构里,由ICANN的根顾问

委员会(ICANNRootServerSystemAdvisoryCommittee,RSSAC)统一协

调管理,其责任是给ICANN的Board提供关于根服务器的操作建议,提出

1

IPv6根DNS服务器研究

运行根服务器的需求,包括硬件,操作系统,软件版本,网络连接等,并

要对安全性提出建议。而且,根顾问委员会根据系统的稳定性,健壮性、

性能等提出对根服务器的数目,分布位置提出要求。

国内已经申请建立了F根服务器的镜像服务器,并正在计划建立其它

的一些服务器镜像。

目前国内外没有实际投入商业使用的IPv6根DNS服务器,我们已知的

IPv6试验性根服务器试验床只有由多个根服务器运行机构联合的OTDR

(OperationalTestingofnewDNSRRtypes)项目。该项目建立了IPv6的根服

务器测试床(RootServerTestbedNetwork),并在测试床上进行了IPv6DNS解

析、DNSSec等测试。本项目也加入了该测试床,解析中文域名“.中国”。

2主要研究内容和技术要点

2.1IPv6网络建立和IPv6地址分配

现在,CNNIC已经建立了小规模的IPv6试验网络,并与国内外多家骨干网通

过隧道连接。经过几个月的运行和试验,在2002年1月,连接6Bone,并成为

6Bone的骨干节点pTLA,获得3ffe:8330::/28的IPv6试验地址块。并于2002年

10月,成为APNIC的TLA,得到2001:0CC0::/32的IPv6商用地址块。我们的

IPv6试验网络的规模也随之有一定程度的增加,并且建立了Web,FTP等基于

IPv6的服务器。另外,我们还和国内外十几家IPv6网络建立了对等互联的Peer

关系。

作为国内IP地址分配机构之一,在申请到IPv6地址后,我们对IPv6地址

的分配方法和政策进行了调研,提出了国内IPv6地址分配的方案。详见《IPv6

地址分配政策调研报告》。

2

IPv6根DNS服务器研究

v4/v6

NETWORK

6BONE…

ExperimentalIPv6TestbedTopology

SPRIN

CSTNET

6Bone

ROOTDNSOtherDNS

Hidden-Prima

user_pc

linux-ipv6

DELL-16

Slavery

CISCO

BI

Tunn

物理链

图1IPv6根服务器试验网络

2.2IPv6根DNS服务器试验床

建立了IPv6试验网络之后,我们在网络上建立了IPv6根服务器测试床。该

测试床由多台IPv6根服务器组成,组成了1主多辅的结构。共同解析DNS顶级

域(TLD)。网络和服务器如图1所示。

IPv6根服务器试验床的操作系统采用RedhatLinux,DNS解析软件采用了

Bind9。为满足IPv6根服务器的要求,对服务器自身的运行提出了以下要求。

z软件:符合IETF对DNS的要求(RFC1035,RFC2181)

z服务器吞吐量:商用的根服务器响应能力是现在的最繁忙的服务器的最

高峰值的3倍。现在大约20,000次每秒。在试验系统中采用PC机,

性能指标有所降低,单台服务器约2000次每秒,但可以通过后面的高性

能响应技术加以提高。

z连接性:要有冗余的网络连接,带宽要满足上面提出的DNS请求和回答

的150%

z服务的Zone:只解析rootzone以及区域

z服务的查询:回答任何合法IP地址来的DNS查询

z

域传送:只回答其它根服务器的域传送要求

2.3DNS安全性

首先我们分析了对DNS服务的攻击和防范,然后探讨了如何保护根服务器

系统的安全。

3

IPv6根DNS服务器研究

2.3.1针对DNS的攻击及其防范

目前DNS受到的网络攻击大致分为以下几类:缓存中毒、拒绝服务、不安

全的动态更新、信息泄漏和DNS服务器权威数据库的入侵。

1)缓存中毒

这种攻击是利用DNS的缓存机制使得某个名字服务器在缓存中存入错误的

数据。造成这种攻击的主要原因是当客户端向名字服务器A发出查询,而A的

数据库内没有相应的资源记录,那么它就会转发给名字服务器B,B做出应答,把

回答放在报文的回答区中,同时又会在附加区中填充一些和应答不太相关的数

据,A接收这条应答报文,而且对附加区中的数据不做任何检查,直接放在缓存

中。这样使得攻击者可以通过在B中存放一些错误的数据,让A把这些错误的

数据存放在缓存中,然后A又会利用它的缓存回答以后客户端或者服务器发来

的查询,从而导致更多的服务器中毒。可以看出造成缓存中毒的主要原因是没有

对应答报文尤其是附加区中的数据进行完整性检查。

对缓存中毒攻击的防范可以使得DNS名字服务器进入被动模式,它再向外部

的DNS发送查询请求,

只会回答对自己的授权域的查询请求,不会缓存任何外部

的数据,就不会遭受缓存中毒。但是这样降低了DNS的域名解析速度和效率。

另外,还可以采用DNSSec机制进行防范。DNS安全扩展的主要思想是通过

公钥技术对DNS中的信息创建密码签名,为DNS内部的信息同时提供权限认证和

信息完整性检查。先由HASH算法从要发送DNS中的信息中得到一个定长的字符

串,称为“信息摘要”,然后对这个“摘要”用私/公钥对中私有密钥进行加密,

作为数字签名和DNS中的源信息以及“信息摘要”一起发送,接收方用私/公钥

对中的公钥把接收到的“信息摘要”解密出来,再用HASH算法对收到的源消息

计算出“信息摘要”,最后接收者对比新生成的“信息摘要”和随同信息传送过

来的“信息摘要”,如果两者是相同的,就可以确认信息是完整、正确的。

DNSSEC扩展提供通过密码认证机制提供了三种新的服务:密钥分配、数据

源认证、DNS事务和查询认证。数据源认证是DNSSEC扩展的核心,它利用私钥

对DNS数据进行数字签名,然后通过密码分配服务检索到该私钥对应的公钥来认

证数据。DNS事务和查询认证服务则提供了对DNS查询和DNS报文头的认证,这

就保证了应答报文中的数据的确是对原始查询的应答,并且应答确实来自于被查

询的服务器。

2)拒绝服务攻击(DoS)及防范

攻击者向DNS服务器发送大量的查询请求,这些查询请求数据包中的源IP

地址为被攻击DNS服务器的IP地址,通过巨量的DNS请求造成DNS服务器性

能响应下降,无法提供正常的域名解析。

对拒绝服务攻击的防范是个很大的挑战。通过限制发送了非正常数量DNS

请求的IP地址进行DNS查询,可以减轻“拒绝服务”攻击,但是攻击者还可以

利用IP欺骗伪装成其它主机,进行查询。本项目研究了通过任播(Anycast)技

术来构建分布式根DNS系统,以及服务器高性能响应技术对拒绝服务攻击进行

防御的方法。

为了提高DNS系统的服务性能,防御可能的攻击(DoS),在广域网络范

围中采用分布式DNS是一种比较好的机制。本项目研究了利用BGP协议在广域

网范围内进行BGP-Anycast的方法。通过在网络拓扑的多个点上部署DNS

Server,然后利用BGP4+路由协议,使得网络上的用户能够就近访问路由上最近

4

IPv6根DNS服务器研究

的服务器。实现在广域网络上的负载均衡和就近服务。本方法无需修改客户端和

服务器软件,完全对客户透明。通过分布式DNS,攻击者只能对最近的DNS服

务器进行攻击,避免了整个根DNS系统的瘫痪。

BGPAnycast的原理如图所示:

图2BGPAnycast原理

多个DNSServer分布在网络的不同位置,处于多个AS(自治系统)中,AS号

可以相同(这种情况下,这个AS号是专门用于该分布式DNS系统的)。这些

DNSServer的IP地址是相同的,每个AS的边界路由器都要把该DNSServer所

在的地址段对外宣布出去。通过AS之间交换路由信息,网络上所有AS的边界

路由器根据BGP路由协议,计算出到该DNS服务器所在地址段的最近路由,这

个路由可能通向AS1,AS2或其它拥有服务器的AS。这样就实现了就近访问最

近的DNSServer.

3)不安全的DNS动态更新及其防范

最早设计DNS时所有运行TCP/IP的计算机都是手工配置的。用特定的

IP地址手工配置一台计算机时,它的A资源记录和PTR资源记录也要用手工

配置。随着动态主机配置协议(DHCP)的出现,DHCP客户计算机由DHCP服

务器动态分配IP地址,使手工更新其A记录和PTR记录变得很难管理。因此

在RFC2136中提出了DNS动态更新使得DNS客户端在IP地址或名称出现

更改的任何时候都可利用DNS服务器来注册和动态更新其资源记录。然而,尽

管DNS动态更新协议规定了怎样的系统才允许动态更新一台主服务器,但是

DNS仍然可能受到威胁,比如攻击者可以利用IP欺骗伪装成DNS服务器信任的

主机对系统进行更新或者损害,并可以对主服务器进行各种动态更新攻击,比如

删减、增加、修改资源记录。

我们采用了安全的动态更新机制,利用共享密钥对动态更新过程进行保护。

4)信息泄漏

BIND软件的缺省设置允许任何人进行区传送,DNS区传送可能会造成信息

泄漏,区传送一般用于主DNS服务器和辅DNS服务器之间的数据同步,辅DNS

服务器可以从主服务器获取最新区数据文件的副本,也就可以获得整个授权区域

内的所有主机信息。一旦这些信息泄漏,攻击者就可以根据它轻松地推测主服务

器的网络结构,并从这些信息中判断其功能或发现那些防范措施较弱的机器。

通过利用数字签名进行安全的主辅更新过程。主辅更新时,采用DNSSec

机制对更新过程进行保护。相比以前那种根据IP地址来判断是否合法服务器的

5

IPv6根DNS服务器研究

机制,增强了安全性。具体可以参见《DNSSEC分析和实践》。

5)远程漏洞入侵

BIND服务器软件的许多版本存在缓冲区溢出漏洞,当攻击者获取了管理员

权限就可以入侵BIND服务器所在的主机,并以管理员的身份执行任意命令。这

种攻击的危害性比较严重,攻击者不仅获得了DNS服务器上所有授权区域内的

数据信息,甚至可以直接修改授权区域内的任意数据,同时可以利用这台主机作

为攻击其它机器的“跳板”。

针对这种攻击,主要是及时发现DNS软件的版本漏洞,并进行升级。

2.3.2根服务器的安全体系结构

根服务器系统由主根、辅根诸多服务器组成。通常来讲,它们的数据完全一

样,每一个服务器都能对用户提供域名解析服务。主根服务器是系统的关键,每

个辅根服务器都要从主根服务器那里定期获得新的Zonefile。主根服务器如果被

破坏,或者数据被篡改,那么将对根服务器系统造成巨大破坏。因此,必须要非

常严格的保护主根服务器。

我们在IPv6DNS根服务器系统中采用了安全的体系结构-HiddenPrimary。

通过设置,将最重要的主根服务器隐藏起来,用户的中不出现。这样

就把真正的主服务器隐藏起来,不对外提供服务。大大减少了被攻击和破坏的可

能,一旦其它辅根服务器出现问题,还能由它提供备份和恢复功能。

这种隐藏主服务器的结构如下图所示:

HiddenPrimary

Root-Server

ZoneFile

Modify

-Root

-Root

ZoneFile

-Root

IPv4/IPv6DNS测

其它国家,地区

(TW,KR,JP…)

-Root

图3安全的隐藏主根服务器的结构

6

IPv6根DNS服务器研究

2.4高性能响应

为了提高IPv6根DNS服务器的响应能力,对抗拒绝服务攻击等。我们根据

IPv6rootDNS对效率和高可用性的要求,研究开发了能够对根DNS服务器进行

负载均衡和保证高可用性的实验性系统,以保证根DNS的服务质量。

为了达到负载均衡和高可用性的需求,可以利用OSI网络模型的4到7层交

换技术,来实现对某种服务的负载进行动态分配,把它们动态的分发到后台的服

务器上,同时通过这种分发器与后台服务器的通信和监控机制,实现动态的分发

调度和切换机制。

这种高性能系统使用IPv6下的负载均衡技术,采用Linux下的虚拟服务器

软件LVS作为基础,进行了修改,构建了由多台PC机构成的虚拟服务器。该虚

拟服务器对外由统一的IPv6单播地址访问。其响应性能是后台多个服务器性能

的总和。目前,高性能响应系统软件以及测试软件已经由中科院网络中心申请软

件著作权。

3IPv6DNS新特性

3.1IPv6根服务器对中文域名/国际化域名的支持

中文域名(ChineseDomainName)是指在域名中包含中文字符,这样更符

合采用母语上网的用户习惯,便于记忆和使用。目前的DNS只能支持ASCII字

符,因此,需要采用PUNYCODE把中文字符串转码成ASCII字符。并且,在

DNS系统中,增加“.中国”等顶级域和相应的ZoneFile。

本IPv6根DNS系统增加了对中文域名的支持,在系统中将“.中国”转码后

为“.xn--fiQs8s”,并设置了相应的ZoneFile,实现了在IPv6网络下对中文域名

顶级域的解析。

IPv6网络

.中国v6服务器

A公司。。

IPv6中文域名服务器

.中国NSIPv6

.中國NS..

IPv6根试验系统

7

IPv6根DNS服务器研究

图4IPv6中文/多语种域名解析结构

另外,我们的IPv6中文域名顶级域加入了由国际根服务器管理机构组织的

IPv6DNS根服务器测试床OTDR,承担了国际性的IPv6IDN中“.中国”的解

析。

3.2IPv6下的ENUM解析

ENUM(tElephoneNUmberMapping)是一种电话号码映射技术。它利用DNS

把电话号码与URI(UniversalResourceIdentifier,统一资源定位符)联系在一

起,是一种新型的互联网寻址技术。

根据DNS的树型结构,ENUM把电话号码经过处理,注册在这个

域下面。tld是指顶级域,比如ARPA域。当然,按照电话号码的层次结构,注

册也是按照层次进行的。那么,当用户在查询该电话号码对应的URI时,就利

用DNS进行解析。

4总结

经过2年的研究,CNNIC在IPv6根DNS方面取得的成果主要包括:建立

了IPv6试验网络,成为国际6bone骨干节点,获得IPv6试验和商用地址,与十

几家国内外机构进行对等互联;研究并掌握建立、运行、维护安全的IPv6根服

务器的关键技术,包括安全的根服务器体系结构,安全防护技术等;建立了可扩

展的IPv6根服务器试验床,并联合国内外机构进行研究和测试;研究、开发并

应用了IPv6根DNS的高性能响应技术;研究并应用了IPv6根DNS对多语种域

名,ENUM等新寻址技术的支持技术。

目前国际上还没有公开运营的IPv6根DNS服务器,CNNIC已经建立了面向

全球范围的IPv6DNS根服务器试验床,与国内外多家机构进行了联合试验,并正

在为多个IPv6网络提供根服务器级的解析。

参考文献

[1]“IPv6网络关键技术研究和城域示范系统”鉴定材料(一),中国科学

院计算机网络信息中心,2004/6

[2]《IPv6RootDNS高性能系统设计与实现》,金键,钱华林,硕士毕业

论文,2004/6

[3]

[4]

[5]

[6]rd,RFC2874:“DNSExtensionstoSupportIPv6Address

AggregationandRenumbering”,July2000

[7]gton,RFC3008:”DomainNameSystemSecurity(DNSSEC)

SigningAuthority”,Nov.2000

[8]etris,RFC1035:”DomainNames–Implementationand

Specification”,Nov.1987

[9]张鸿,钱华林:“IPv6对域名系统的需求及其解决方法的研究”,

2003,第20期,《微电子学与计算机》

8

更多推荐

dns根服务器