我正在构建一些网络分析工具,但我在NodeJS应用程序中检查DNSSEC合规性时遇到了一些困难。标准库中的dns
模块似乎没有接受任何DNSSEC记录类型。我正在尝试查找rrsig
,ds
,nsec
,nsec3
,但docs不会将它们列为要解析的有效rrtype。是否可以使用NodeJS执行此操作?
答案 0 :(得分:2)
除非您计划在Javascript中实施DNSSEC验证(祝您好运!)您将依赖某些外部验证器来指示有效,无效或不安全(DNSSEC未配置)。世界上最大的DNSSEC验证器Google Public DNS(更好地称为8.8.8.8),它们方便地添加了一个HTTPS-based API,它应该很容易从您的Node.js代码中使用(API响应)是JSON)。
您可以使用和不使用& cd = 1参数检查是否成功解析,以禁用DNSSEC验证:
唯一的缺点是这些是远程Web API调用,但即使使用本地验证解析器,您依赖于远程DNS查询,因此没有那么大的区别(缓存除外)。
如果要生成有关无效DNSSEC配置的特定问题的诊断信息,则需要直接查询特定于DNSSEC的记录类型(这适用于DS,DNSKEY,NSEC,NSEC3,NSEC3PARAM和RRSIG - 但你必须自己使用NSEC3PARAM数据生成NSEC3哈希名称,这将是痛苦的)