我尝试了 dig +dnssec dig [domain name] +dnssec +short
。RRSIG 是否是确认名称服务器是否已实施 DNSSEC 的唯一属性?如何识别未实施 DNSSEC 的名称服务器?
另外,我可以使用哪些工具来测试 DNS 缓存中毒漏洞?
答案1
两者之间是有区别的域名服务器使用 DNSSEC 和域(区域)使用 DNSSEC。
如果域使用 DNSSEC,它将具有每个名称的 RRSIG 记录(通常还有 NSEC 或 NSEC3 记录),并且区域根目录下至少有一个 DNSKEY 记录。
如果权威名称服务器支持 DNSSEC,它将自动为您提供 RRSIG 记录此外只要
+dnssec
设置了标志,就会返回查询的记录(例如查询 A 将返回 A+RRSIG),并且在查询不存在的名称时返回相应的 NSEC/NSEC3 记录。
具有 DNSSEC 的名称服务器支持未经 DNSSEC 签名的服务区域的情况非常常见。
从技术上来说,也可以(尽管效果不太好)拥有一个名称服务器,没有支持 DNSSEC 尝试为 DNSSEC 签名的区域提供服务;它仍会回答对 RRSIG 记录的直接查询,但在需要时不会自动包含它们。