2016-07-11 5 views
2

Я создаю инструменты для веб-аналитики, но мне сложно проверить соответствие DNSSEC в приложении NodeJS. Ни один из типов записей DNSSEC, похоже, не принят модулем dns в стандартной библиотеке. Я пытаюсь найти rrsig, ds, nsec, nsec3, но docs не перечислять их как действительные rrtypes для решения. Можно ли это сделать с помощью NodeJS?Как я могу проверить соответствие DNSSEC узлам?

ответ

2

Если вы планируете внедрять валидацию DNSSEC в Javascript (удачи с этим!), Вы будете зависеть от какого-либо внешнего валидатора, чтобы указать действительный, недействительный или небезопасный (DNSSEC не настроен). Самый большой валидатор DNSSEC в мире в Google Public DNS (более известный как 8.8.8.8), и они удобно добавили HTTPS-based API, который должен быть довольно прост в использовании из вашего кода Node.js (ответы API - JSON).

Вы можете проверить для успешного разрешения с и без & кд = 1 параметр отключить DNSSEC проверки:

  • SERVFAIL ("Status": 2) для обоих запросов является плохой делегацию
  • SERVFAIL только без & кд = 1 является недопустимой конфигурацией DNSSEC
  • УСПЕХА («Статус»: 0), но не идентифицированных данных («AD»: ложный) не DNSSEC зоны
  • УСПЕХА аутентичных данных («AD»: правда) является действительным DNSSEC confi gure

Единственный недостаток этого в том, что это вызовы API удаленных веб-сайтов, но даже с локальным проверяющим преобразователем вы зависите от удаленных DNS-запросов, поэтому разница в них не так велика (кроме кеширования).

Если вы хотите сгенерировать диагностику определенных проблем с недопустимыми конфигурациями DNSSEC, вам необходимо напрямую запросить типы записей DNSSEC (это работает для DS, DNSKEY, NSEC, NSEC3, NSEC3PARAM и RRSIG), но вам придется генерировать имя хэш-файла NSEC3, используя сами данные NSEC3PARAM, что будет болезненно)

+0

Большое спасибо за ответ, это прекрасно –