DNSSEC
- 域名系统安全扩展(DNSSEC)是一套互联网工程任务组(IETF)规范,用于保护域名系统(DNS)在互联网协议(IP)网络上使用时提供的某些类型的信息。它是一组 DNS 的扩展,为 DNS 客户端(解析器)提供 DNS 数据的来源身份验证、经过身份验证的存在性否定和数据完整性,但不提供可用性或机密性。
基本 DNSSEC 验证
注意: 默认情况下,您的 DNS 查找需要进一步设置 DNSSEC。 请参阅 #Install a DNSSEC 验证解析器 和 #Enable DNSSEC in specific software。
安装
安装 ldns 软件包,它提供了 drill。 drill 工具可用于基本 DNSSEC 验证。
有关其他可用工具,请参阅 域名解析#查找实用程序。
使用 DNSSEC 验证查询
然后要使用 DNSSEC 验证查询,请使用 -D
标志
$ drill -D example.com
测试
作为测试,请使用以下域,添加 -T
标志,该标志从根域名服务器跟踪到要解析的域。
结果应以以下行结尾,表明 DNSSEC 签名是伪造的
$ drill -DT badsig.go.dnscheck.tools
[B] badsig.go.dnscheck.tools. 1 IN A 142.93.10.179 ;; Error: Bogus DNSSEC signature ;;[S] self sig OK; [B] bogus; [T] trusted; [U] unsigned
现在要测试受信任的签名,结果应以以下行结尾,表明签名是受信任的
$ drill -DT go.dnscheck.tools
[T] go.dnscheck.tools. 1 IN A 142.93.10.179 ;;[S] self sig OK; [B] bogus; [T] trusted; [U] unsigned
安装 DNSSEC 验证解析器
要在系统范围内使用 DNSSEC,您可以使用能够验证 DNSSEC 记录的 DNS 解析器,以便所有 DNS 查找都通过它。 有关可用选项,请参阅 域名解析#DNS 服务器。 请注意,每个选项都需要特定的选项才能启用其 DNSSEC 验证功能。
如果您尝试访问具有伪造(欺骗)IP 地址的站点,则验证解析器将阻止您接收无效的 DNS 数据,并且您的浏览器(或其他应用程序)将被告知没有这样的主机。 由于所有 DNS 查找都通过验证解析器,因此在使用此选项时,您不需要内置 DNSSEC 支持的软件。
在特定软件中启用 DNSSEC
如果您选择不 #Install a DNSSEC 验证解析器,则需要使用内置 DNSSEC 支持的软件。 通常,这意味着您必须自己修补软件。 希望最终(2020 年 12 月)在 [1] 处找到已修补应用程序的完整列表。 此外,一些 Web 浏览器(其中一些在 [2] 中提到)具有可以安装的扩展程序或附加组件,以实现 DNSSEC 而无需修补程序。
参见
- DNSSEC 解析器测试 - 一个简单的测试,看看您的机器上是否实现了 DNSSEC。
- DNSSEC 工具
- DNSSEC 可视化工具 - 一种用于可视化 DNS 区域状态的工具。
- Red Hat:使用 DNSSEC 保护 DNS 流量 - 关于使用 unbound 实现 DNSSEC 的详尽文章。 请注意,某些工具是 Red Hat 特有的,在 Arch Linux 中找不到。
- 维基百科:域名系统安全扩展
- dns_tools — 简化管理 DNSSEC 区域的工具。