根区域中的 DNSSEC?如何使用它?

根区域中的 DNSSEC?如何使用它?

我使用 Fedora 进行桌面使用,并且:

yum -y install caching-nameserver
service named restart
chkconfig --level 5 named on

并将名称服务器设置为 127.0.0.1。如果我:

dig google.com | grep SERVER
;; SERVER: 127.0.0.1#53(127.0.0.1)

然后我就可以看到没问题了……我正在使用之前安装的本地 DNS 缓存服务器!欢呼! (我的 ISP 不再提供蹩脚的 DNS 了..)

然后我尝试了tcpdump

tcpdump -n -i eth0 dst port 53

我可以看到我的本地 DNS 服务器不使用 ISP 的 DNS 服务器进行解析,而是使用根服务器(IP 地址)DNS 服务器来解析我的域名(我在网络浏览器中输入的域名)。

问题#1: 我的本地 DNS 缓存服务器真的吗仅使用仅根服务器 DNS 服务器进行解析?

问题2:如果使用DNSSEC为我提供了有关 DNS 的更多安全性,那么我如何将我的电脑/本地 dns 缓存设置为仅使用且仅允许 DNSSEC?我认为 DNSSEC 是几年前(?)部署在根 DNS 服务器上的。

更新:我误解了一些东西,要仅使用 DNSSEC,我需要:我正在访问的域的所有 NS 都必须配置为使用 DNSSEC - 这并不是很广泛使用,所以我不能只使用 DNSSEC。

答案1

  1. 默认情况下,您设置的本地解析器根本不会使用 ISP 的解析器。它将开始直接向根询问其所需的一切答案。根将返回诸如“我不知道在哪里www.example.com;你应该去交谈com,这里有一组关于如何交谈的地址com”之类的答案(然后你会尝试与 交谈com,这会将您引向example.com)"。最后,您将沿着这条链直到得到答案。如果您需要查找ftp.example.com,您的本地解析器将有一个“缓存”,允许它直接进入服务器example.com,或者,如果您愿意,foo.com它会直接发送到com服务器,而不会询问根。

  2. 对于 DNSSEC,世界上的大部分地区已经从上到下部署了它,但较低的域还没有。根已签名、com已签名、net已签名等。但是facebook.comgoogle.com等还没有。幸运的是,DNSSEC 的设计考虑到了这一点,并且尝试安全地遵循 DNS 记录的软件最终将到达名称服务器(com例如that says "I don't know wherewww.facebook.com is and you should go talk tofacebook.com`,哦,顺便说一句,它们尚未受到保护” IE、DNSSEC 为您提供了一种称为 .证明是不安全的。这可以让您确切地知道区域的父区域表示子区域未签名(这是一种简化;它们可能已签名但尚未“链接”)。

值得注意的是,DNSSEC 默认情况下未启用,您需要在绑定配置文件中将其打开。我认为默认的 fedora name.conf 现在已启用 DNSSEC,但您应该检查一下。在您的named.conf文件中,您将有望找到一个包含根受信任密钥的部分:

trusted-keys {
  . 257 3 8 "AwEAAagAIKlVZr...";
}

以及打开 DNSSEC 验证的选项部分:

options {
    dnssec-enable yes;
    dnssec-validation yes;
};

例如,启用此选项后,如果您执行 a dig +dnssec www.dnssec-tools.org,您应该会AD在输出中看到返回的标志。该AD标志表示该记录已通过 DNSSEC 验证。如果您搜索,www.facebook.com您将看不到此标志。

# dig +dnssec www.dnssec-tools.org
...
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
                   ^^
                   ^^

答案2

您应该forwarders在本地服务器中配置为指向您的 ISP 服务器。您还可以设置forward-only.

不确定#2。

相关内容