Перейти к содержанию
Innovialabs

Что такое DNSSEC и стоит ли его включать

Продвинутое3 мин

Коротко

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

Короткий ответ

DNSSEC — это расширение DNS, которое добавляет к записям цифровые подписи. Проверяющий резолвер может убедиться, что ответ пришёл от настоящего владельца зоны и не был изменён по дороге. Это защищает от подмены DNS-ответов и отравления кеша, когда злоумышленник подсовывает пользователю чужой IP вместо вашего.

Стоит ли включать? Если ваш DNS-провайдер подписывает зону автоматически, а регистратор позволяет добавить DS-запись — да, это относительно недорогая дополнительная защита. Главное — понимать, что сломается при неаккуратной смене провайдера.

Чего DNSSEC не делает

  • Не шифрует DNS-запросы. Для этого есть DNS-over-HTTPS и DNS-over-TLS.
  • Не заменяет HTTPS. Сертификат по-прежнему нужен.
  • Не защищает, если злоумышленник получил доступ к вашему аккаунту у регистратора или DNS-провайдера. Защищайте их двухфакторной аутентификацией.

Как это работает

В подписанной зоне появляются новые типы записей:

ЗаписьНазначение
DNSKEYПубличные ключи зоны. Обычно два: ключ для подписи ключей (KSK) и ключ для подписи зоны (ZSK)
RRSIGПодпись для каждого набора записей (A, MX, TXT и т.д.)
DSХеш ключа KSK, который хранится в родительской зоне (например, в зоне .com)
NSEC / NSEC3Подписанное доказательство, что запрошенной записи не существует

Цепочка доверия через DS

Подпись сама по себе ничего не доказывает: злоумышленник может подписать подделку своим ключом. Поэтому ключи связаны в цепочку доверия:

  1. Резолвер доверяет ключу корневой зоны — он заранее встроен в его настройки.
  2. Корневая зона содержит подписанную DS-запись для доменной зоны верхнего уровня, например .com.
  3. Зона .com содержит подписанную DS-запись для example.com.
  4. DS-запись совпадает с хешем ключа DNSKEY зоны example.com.
  5. Этим ключом подписаны все записи example.com.

Если на любом шаге подпись не сходится, проверяющий резолвер возвращает ошибку SERVFAIL вместо ответа. Это и защищает от подмены, и одновременно является главной причиной поломок.

Как включить DNSSEC

  1. Проверьте поддержку. DNSSEC должна поддерживать доменная зона верхнего уровня вашего домена, регистратор и DNS-провайдер.
  2. Включите подписание у DNS-провайдера. Обычно это одна кнопка в панели. Провайдер сгенерирует ключи и покажет данные DS-записи: key tag, алгоритм, тип дайджеста и сам дайджест.
  3. Добавьте DS-запись у регистратора. Скопируйте значения в соответствующий раздел. Если DNS и регистрация у одного провайдера, этот шаг часто выполняется автоматически.
  4. Проверьте результат после обновления родительской зоны:
dig DS example.com +short
dig example.com A +dnssec
delv example.com A

В ответе dig +dnssec от проверяющего резолвера должен появиться флаг ad, а delv должен сообщить о полностью проверенном ответе. Также можно воспользоваться онлайн-анализаторами цепочки DNSSEC.

Что может сломаться

  • Смена DNS-провайдера. Самая частая проблема. Если сменить NS-серверы, а у регистратора осталась старая DS-запись, проверяющие резолверы увидят несовпадение ключей и домен перестанет открываться для части пользователей.
  • Ошибка в DS-записи. Опечатка или неверный алгоритм ломают цепочку сразу после публикации.
  • Истёкшие подписи. RRSIG имеют срок действия. Управляемые провайдеры обновляют их сами, а при собственном DNS-сервере это ваша ответственность.
  • Смена ключей (rollover). Замена KSK требует обновления DS у регистратора в правильном порядке.

Безопасная смена провайдера: сначала удалите DS-запись у регистратора, дождитесь истечения её TTL в родительской зоне, затем переносите NS, включайте подписание у нового провайдера и добавляйте новую DS. Более сложный вариант без отключения защиты — перенос с двумя наборами ключей, если оба провайдера это поддерживают.

Частые вопросы

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

Поможем с этим

Если хотите не разбираться самим, а получить результат — этим мы занимаемся каждый день.

Обсудить проект

Читайте также

Есть идея или задача? Расскажите нам

Ответим в течение рабочего дня и предложим решение. Консультация бесплатная.