Что такое DNSSEC?

DNSSEC добавляет к DNS-записям цифровые подписи, чтобы резолвер мог проверить, что ответ действительно исходит от владельца зоны и не был изменён по пути.

В обычном DNS нет аутентификации: резолвер принимает первый правдоподобный ответ, и это делает возможным отравление кэша. С DNSSEC владелец зоны подписывает каждый набор записей закрытым ключом. Подписи публикуются как записи RRSIG, открытые ключи — как записи DNSKEY, и валидирующий резолвер проверяет их, прежде чем использовать ответ.

Доверие выстраивается цепочкой сверху. Родительская зона публикует DS-запись с хешем ключа дочерней зоны, сама родительская зона подписана и удостоверена своим родителем, а цепочка заканчивается корневой зоной, ключу которой резолверы настроены доверять. Записи NSEC или NSEC3 дают подписанное доказательство того, что имени не существует.

DNSSEC обеспечивает подлинность и целостность, но не конфиденциальность: запросы и ответы по-прежнему читаемы в канале. Он также требует аккуратности. Если подписи истекают или DS-запись в реестре больше не соответствует ключу в зоне, валидирующие резолверы возвращают ошибку, и домен становится недоступным для их пользователей. Это главная причина тщательно координировать смену ключей и переезды между DNS-провайдерами.

Пример

example.com.  3600  IN  RRSIG  A 13 2 3600 20261020000000 20260920000000 12345 example.com. <signature>

Проверьте сами

DNSSEC: посмотрите на примере реального домена.

Проверка DNS