2024年4月3日发(作者:)

DNS 简介

DNS: 名称解析服务,不是域名解析服务,因为它解析的是计算机

FQDN:

FQDN:(Fully Qualified Domain Name)完全合格域名/全称域名,是指主机名加上全路径,全路径中

列出了序列中所有域成员。全域名可以从逻辑上准确地表示出主机在什么地方,也可以说全域名是主

机名的一种完全表示形式。从全域名中包含的信息可以看出主机在域名树中的位置。

DNS 组件:

DNS 服务器

DNS CLIENT

DNS查询:

递归查询:DNS会回应查询的IP地址

迭代查询:在DNS迭代查询中,客户端可能得到下一个DNS服务器的地址

根提示:本地的DNS查询公网的13台根DNS

(当DNS为.域,根提示不可用)

转发:将所有的DNS请求转发给指定的DNS

条件转发:windows 2003及之后,

Zone 类型:

1.主要zone

2.辅助zone

3.存根zone

DNS区域类型

正向查找区域 反向查找区域

主要区域 辅助区域 存根区域

加入域时,当没有配置DNS时,可以使用域的netbios名加入域

名称解析过程

1.

2.

3.

4.

5.

6.

7.

8.

Enter command

Local host name

Hosts file

DNS server

NetBIOS name cache

WINS Server

Broadcast

LMHOSTS File

5. DNS Page 1

8.

LMHOSTS File

使用DNSSEC技术保护DNS安全

DNSSEC主要依靠公钥技术对于包含在DNS中的信息创建密码签名。密码签名通过计算出一个密码hash数

来提供DNS中数据的完整性,并将该hash数封装进行保护。私/公钥对中的私钥用来封装hash数,然后

可以用公钥把hash数译出来。如果这个译出的hash值匹配接收者刚刚计算出来的hash树,那么表明数

据是完整的。不管译出来的hash数和计算出来的hash数是否匹配,对于密码签名这种认证方式都是绝

对正确的,因为公钥仅仅用于解密合法的hash数,所以只有拥有私钥的拥有者可以加密这些信息。

DNSSEC的功能主要有三个方面:

为DNS数据提供来源验证,即保证数据来自正确的名称服务器。

为数据提供完整性验证,即保证数据在传输的过程中没有任何的更改。

否定存在验证,即对否定应答报文提供验证信息,确认授权名称服务器上不存在所查询的资源记

录。DNSSEC为了实现签名和签名的验证功能,引入了四个新的资源记录类型:

DNSKEY:用于存储验证DNS数据的公钥;

RRSIG:用于存储DNS资源记录的签名信息;

NSEC:存储和对应的所有者相邻的下一个资源记录,主要用于否定存在验证;

DS(Delegation Signer,授权签名者):用于DNSKEY验证过程,存储密钥标签,加密算法和对应的

DNSKEY的摘要信息。

DNSSEC的工作机制主要体现在DNS工作过程中的以下2个方面:

(1)DNS查询/应答:这一步因为使用了未加密和未验证的UDP数据包,存在严重的安全漏洞。DNSSEC

在这一步中加入了对数据源的验证和对数据完整性的校验。DNSSEC要对某个域的数据进行验证,客户

端就必须信任这个域的公钥。由于DNS中没有第三方的公钥验证体系,要建立对公钥的信任,就必须从

一个已经被信任的名称服务器(如根服务器)开始,由此服务器验证其子域的公钥。然后再由这个子

域的公钥验证其子域的公钥,一直到所请求的域的公钥得到验证,这个过程称为建立信任链。起始受

信任的名称服务器的公钥就被称为信任锚点。验证数据源以后,下一步验证应答信息本身,它要求应

答不仅包括请求的资源记录,还包括验证这些资源记录的所需的信息,即一个资源记录集的数字签

名,它包含RRSIG中。使用信任锚点的DNS客户端就可以通过验证此数字签名来检查应答报文是否真

实。为了保证和查询相应的资源记录的确不存在,而不是在传输过程中被删除,DNSSEC生成一个特殊

的资源类型记录(NSEC)来检测域名是否存在。

(2)DNS域区传输:一个域区中一般有主域名服务器和备份域名服务器,域区传输就是域区文件从主

域名服务器copy到备份域名服务器上的过程。在这个过程中面临着数据包拦截和更改的危险。DNSSEC

用TSIG(Transaction Signature,事务签名)来验证请求方的真实身份和保证传输内容在传输过程中

被篡改。

因此,DNSSEC的部署主要有三个步骤:

生成公/私密钥对

公钥的发布及私钥的存储

域区的签署

5. DNS Page 2