Кратко

  • Интервал NSEC3 с Opt-Out может покрывать реальную небезопасную делегацию и не утверждать ни ее существование, ни отсутствие. Перечень подписанных хешей — проекция отрицательного доказательства, а не заверенная копия всей зоны.
  • Оператор родителя отдельно сверяет исходный реестр, поколение подписанта, NS/DS-ответы всех авторитативных серверов и решение валидатора. Отсутствие узла означает неопределенность, а не удаление.

В учебной проверке система обходит всю NSEC3-цепочку и не находит хеш одного дочернего имени. Все подписи проходят проверку, поэтому система помечает делегацию отсутствующей. Прямой запрос к тому же родителю возвращает NS referral без DS. Делегация существует, но остается небезопасной.

Криптографического противоречия нет. Система превратила доказательство с ограниченной областью действия в полномочие вести реестр.

RFC 5155 разрешает не включать owner hash небезопасной делегации, если соответствующую точку покрывает NSEC3 с флагом Opt-Out. Этот интервал прямо не утверждает, есть ли внутри такие делегации. Поэтому подходящую делегацию можно добавить или удалить без перестройки соседних узлов.

Источник содержит больше, чем подписанная проекция

Исходная система знает имя ребенка, NS, необходимый glue, DS, время и основание изменения. Подписант строит из этого состояния цепочку в порядке хешей. NSEC3 несет алгоритм, флаги, число итераций, salt, следующий хеш и bitmap типов.

NS без DS означает небезопасную делегацию; NS вместе с DS — безопасную. Opt-Out допускает пропуск первой категории, но не произвольных авторитативных имен или безопасных детей. Пробел без подходящей исходной делегации и правильного покрывающего интервала является ошибкой поколения.

На каждое отсутствие нужен обратный индекс: исходное имя, состояние NS/DS, рассчитанный хеш, покрывающая запись, флаг, bitmap, идентификатор поколения и ответы каждого существенного авторитативного адреса. Иначе допустимый пропуск нельзя отличить от ошибки подписанта или отставшего secondary.

Неизвестно — это отдельный результат

Для хеша внутри Opt-Out-интервала нельзя выбирать отсутствует. Корректный вывод: эта цепочка не определяет существование. Полноту дает уполномоченный реестр, разрешенный transfer или прямые запросы NS и DS к родителю.

Ту же границу соблюдает RFC 8198. Валидатор может использовать некоторые проверенные диапазоны NSEC/NSEC3 для синтеза отрицательных ответов. Если покрывающая запись имеет Opt-Out, она не доказывает отсутствия имени, поэтому агрессивный отрицательный ответ синтезировать нельзя.

Нормализация до одного поля DNSSEC valid опасна: вместе с флагом исчезает запрет на ложный вывод.

Реальный ближайший предок может быть недоказуем

Wildcard и отрицательные ответы используют closest encloser — самый длинный существующий предок. У пропущенной делегации или empty non-terminal, возникшего только из нее, может не быть NSEC3-узла. Тогда цепочка показывает лишь closest provable encloser.

Сохраняйте запрос, NSEC3, RRSIG, next-closer, совпадение или покрытие, переход через конец пространства хешей, bitmap и время проверки. Зеленый индикатор не показывает, какой предок был доказан и где началась допустимая неопределенность.

Современная настройка не увеличивает работу

RFC 9276 рекомендует NSEC, если свойства NSEC3 не нужны. Для NSEC3 базовая рекомендация — алгоритм 1, ноль дополнительных итераций и пустой salt.

Итерации увеличивают нагрузку и риск несовместимости. Salt не делает угадываемые имена тайными. Валидатор может считать превышающее его лимит значение insecure, вернуть SERVFAIL и после проверки нужной записи сообщить EDE 27. Это решение о вычислительных ресурсах, а не свидетельство отсутствия делегации.

Opt-Out не рекомендован для малых зон. Он может быть оправдан в очень крупной, ориентированной на делегации зоне, где большинство детей не имеют DS. Решение подтверждают масштаб, доля DS, частота изменений, стоимость подписания и способность к сверке.

Новые параметры создают новое поколение

Изменение salt или итераций требует полной новой NSEC3-цепочки и повторной подписи. Валидатор использует параметры проверяемых NSEC3; NSEC3PARAM сам по себе не является отрицательным доказательством.

Перед активацией сравнивают источник, старое и новое поколения, serial, окна RRSIG и transfer каждого secondary. На всех адресах проверяют известное несуществующее имя, пропущенную небезопасную делегацию, безопасную делегацию и wildcard-границу.

Если после окна перехода серверы выдают два поколения, их доступность не доказывает согласованность. В решение о завершении или откате входят TTL и старые доказательства в кешах.

Источники