Что произойдет, если резолвер обнаружит алгоритм DNSSEC, который он не поддерживает?
DNSSEC позволяет проводить проверку, пока существует ОДИН путь проверки. Если резолвер сможет узнать хотя бы один поддерживаемый им алгоритм и проверить, что все (подписи и т. д.) в порядке, то проверка DNSSEC пройдет нормально, а неизвестный алгоритм будет проигнорирован.
Конечно, если резолвер находит только алгоритмы, которые он не поддерживает, и даже не поддерживает, то проверка DNSSEC будет неуспешной, и SERVFAIL
будет возвращен.
Видеть §5.3.1 RFC 4035:
Условиям может соответствовать несколько DNSKEY RR.
выше. В этом случае валидатор не может заранее определить, какой DNSKEY
RR для аутентификации подписи, и он ДОЛЖЕН пробовать каждый
соответствие DNSKEY RR до тех пор, пока либо подпись не будет проверена, либо
у валидатора закончились соответствующие открытые ключи, чтобы попробовать.
Так что одного хорошего алгоритма достаточно, распознаватель не должен тестировать их все. Хорошо, что есть возможность вводить все новые алгоритмы на стороне публикации, в то время как распознаватели обновляются, чтобы знать о новом алгоритме.
Посмотрите также на RFC 8626 «Требования к реализации алгоритма и руководство по использованию для DNSSEC».
Отказывается ли он возвращать запрошенную запись или возвращает запись, рассматривая домен как незащищенный?
DNSSEC обычно является двоичным: домен имеет правильную проверку DNSSEC или содержит ошибку (следовательно, SERVFAIL
).Сопоставителю не разрешается удалять DNSSEC из домена в случае сбоя и возвращать записи, как если бы домен не имел DNSSEC с самого начала.
Однако это теория. На практике случается, что рекурсивному преобразователю иногда необходимо продолжать отвечать даже для доменов, о которых известно, что DNSSEC нарушен, поскольку считается, что в противном случае это создаст слишком большую нагрузку. См. знаменитый прошлый пример NASA/Comcast.
Вот почему теперь существуют «отрицательные якоря доверия» или NTA: это способ для операторов рекурсивных распознавателей сказать, что «домен X нарушен DNSSEC, игнорировать недоверие там и действовать так, как будто DNSSEC нет». Предполагается, что это временная мера, и, очевидно, она локальна для каждого рекурсивного преобразователя.
Видеть RFC 7646 «Определение и использование отрицательных якорей доверия DNSSEC» (сентябрь 2015 г.):
Этот документ определяет отрицательный
Якоря доверия (NTA), которые можно использовать для смягчения проверки DNSSEC.
сбои путем отключения проверки DNSSEC в указанных доменах.