如何从命令行界面测试 DNSSEC 的有效性?

信息安全 dns dnssec 网络
2021-08-31 01:05:23

我正在做一个关于域名系统安全扩展 ( DNSSEC ) 的研究项目。

我有一个 SOA、存根解析器和一个客户端以及一个攻击机器。

我的问题是这个。在 Linux 客户端受到 DNS 中毒攻击后,有没有办法测试记录的有效性。此检查需要从命令行界面完成。

我验证了 DNSSEC 记录已设置。

1个回答

根据http://backreference.org/2010/11/17/dnssec-verification-with-dig/

获取根密钥。您可以在未中毒的机器上进行 dig操作:

dig . DNSKEY | grep -Ev '^($|;)' > root.keys

验证您的目标 dns 记录:

dig +sigchase +trusted-key=./root.keys www.eurid.eu. A | cat -n

另一种选择是设置一个验证 DNS 解析器,如 unbound。我用它在台式机上提供 DNSSEC 安全性。它在Fedora 17中很容易获得Debian 7.0 中的 BIND我忘记了是否有为你设置 unbound 的 debian 包,但手动操作也不难。

然后对您的安全解析器运行 dig,如果结果无效,它将显示一个简单的错误(我认为是 SERVFAIL)。您还可以配置 unbound 以记录有关每个验证失败的详细信息。