DNSSEC (DNS Security Extensions) — набор расширений протокола DNS, который добавляет криптографические подписи к DNS-записям. Это защищает от атак типа DNS Cache Poisoning и DNS Spoofing.
Зачем нужен DNSSEC
Без DNSSEC злоумышленник может подменить DNS-ответ и перенаправить пользователей на поддельный сайт (даже если у вас HTTPS). Атака называется DNS Hijacking или Cache Poisoning.
С DNSSEC каждая DNS-запись подписана цифровой подписью. Если ответ изменён — подпись не совпадёт и запрос будет отклонён.
Как работает DNSSEC
- Зона подписывается парой ключей: ZSK (Zone Signing Key) и KSK (Key Signing Key)
- DS-запись (Delegation Signer) публикуется в родительской зоне (.com, .ua)
- Резолвер с поддержкой DNSSEC проверяет подпись при каждом запросе
- Если подпись невалидна — SERVFAIL, запрос отклонён
DNSSEC: включать или нет
| Включать | Не включать |
|---|---|
| Финансовые сайты | Сложная настройка DNS |
| Государственные ресурсы | Частая смена DNS-провайдера |
| Медицинские порталы | Нет поддержки у провайдера |
| Корпоративные сети | Небольшой личный блог |
Проверка DNSSEC
# Проверить подпись домена
dig example.com DNSKEY +dnssec
# Онлайн-валидатор
# dnsviz.net — визуальная карта DNSSEC-цепочки
Включение DNSSEC в ZevsHost
- Войдите в Личный кабинет → Домены → управление доменом
- Раздел DNSSEC → включить
- Система автоматически создаст DS-записи и ключи
- DS-запись будет опубликована в реестре зоны
Алгоритмы подписи: Algorithm 8, 13 и 15
В DS- и DNSKEY-записях есть числовой параметр Algorithm — он определяет криптографический алгоритм подписи зоны. От него зависит, будет ли резолвер вообще способен проверить подпись.
| Algorithm | Название | Статус | Где встречается |
|---|---|---|---|
| 5 | RSASHA1 | Устаревший, не рекомендуется для новых зон | Старые зоны, подписанные до 2015 года |
| 8 | RSASHA256 | Полностью поддерживается, но крупнее ключи | Зоны, подписанные BIND/PowerDNS по умолчанию до 2019–2020 года |
| 13 | ECDSAP256SHA256 | Текущий стандарт де-факто | Новые зоны в cPanel, Cloudflare, большинстве реестров |
| 15 | ED25519 | Современный, компактные подписи, поддержан не всеми старыми резолверами | Свежие внедрения на BIND 9.16+, Knot DNS |
Смена алгоритма для уже подписанной рабочей зоны — не разовая операция: нужно опубликовать новый DNSKEY, дождаться истечения TTL старых записей у всех резолверов мира, и только потом обновить DS-запись у регистратора. Пропуск паузы между шагами даёт временный статус Bogus для части пользователей.
SERVFAIL и Bogus — в чём разница
Оба статуса выглядят как «сайт не открывается», но означают разное:
- SERVFAIL — резолвер не смог получить ответ вообще: истёкшая подпись, недоступен авторитетный сервер, или ошибка в самой зоне
- Bogus — резолвер получил ответ, но подпись не прошла проверку: DS в реестре не совпадает с реальным DNSKEY зоны
# Проверить статус валидации явно, через delv (входит в BIND)
delv example.com A
# Ожидаемый вывод при проблеме:
# resolution failed: bogus
delv в отличие от dig сообщает причину отказа текстом, а не просто кодом SERVFAIL — это первый инструмент для диагностики, а не догадки по логам резолвера.
Когда DNSSEC не стоит включать
- Зона часто переезжает между DNS-провайдерами — рассинхронизация DS при каждой миграции создаёт риск выше пользы
- Регистратор домена технически не поддерживает публикацию DS-записей (актуально для части ccTLD) — включение на стороне хостинга не даст защиты
- Нет процесса ротации ключей и мониторинга срока действия RRSIG — забытая просроченная подпись уронит резолвинг домена полностью
- Используется DNS с агрессивным failover по IP за секунды — DNSSEC усложняет отладку таких сценариев, см. DNS failover
- Домен обслуживается по TTL менее 60 секунд для быстрого переключения — при таком TTL операционные ошибки в DNSSEC проявляются быстрее, чем успевает среагировать мониторинг
Проверка цепочки доверия после смены регистратора
# Проверить DS-запись, видимую в родительской зоне
dig example.com DS +short
# Проверить полную цепочку от корня
dig +trace example.com A
# Сверить Key Tag в DS с тегом действующего DNSKEY
dig example.com DNSKEY +short
После трансфера домена к новому регистратору DS-запись физически хранится в реестре TLD, а не у регистратора — поэтому смена регистратора сама по себе DNSSEC не ломает. Ломает её самостоятельное действие поддержки нового регистратора, которая иногда очищает DS-записи «на всякий случай» при трансфере — это стоит уточнять заранее.