我如何检查DNSSEC与nodejs的兼容性?

我正在构build一些networking分析工具,但是在NodeJS应用程序中检查DNSSEC合规性时遇到了一些困难。 DNSSECloggingtypes似乎没有被标准库中的dns模块所接受。 我正在试图查找rrsigdsnsecnsec3但文档没有列出它们作为有效的rrtypes来解决。 是否有可能与NodeJS做到这一点?

除非您打算在Javascript中实现DNSSECvalidation(祝您好运!),否则您将依赖某个外部validation程序来指示有效,无效或不安全(未configurationDNSSEC)。 Google Public DNS中最大的DNSSECvalidation工具(更好的称为8.8.8.8),他们方便地添加了一个基于HTTPS的API ,它应该很容易从Node.js代码中使用(API响应是JSON) 。

您可以使用和不使用&cd = 1参数来检查成功的parsing,以禁用DNSSECvalidation:

  • 两个查询SERVFAIL(“状态”:2)是一个糟糕的代表团
  • SERVFAIL只有&cd = 1是无效的DNSSECconfiguration
  • SUCCESS(“状态”:0)但没有authentication数据(“AD”:false)是非DNSSEC区域
  • 带有authentication数据的成功(“AD”:true)是有效的DNSSECconfiguration

唯一的缺点就是这些是远程的Web API调用,但即使是使用本地validationparsing器,您也依赖于远程DNS查询,所以没有太大区别(除了caching)。

如果您想生成有关DNSSECconfiguration无效的特定问题的诊断,则需要直接查询DNSSEC特定的loggingtypes(这适用于DS,DNSKEY,NSEC,NSEC3,NSEC3PARAM和RRSIG),但是您必须使用NSEC3PARAM数据自己生成NSEC3哈希名称,这将是痛苦的)