Когда пользователь открывает сайт, браузер сначала узнает, на какой сервер нужно отправить запрос. Для этого он обращается к DNS – системе, которая связывает доменное имя с IP-адресом.
Но обычный DNS не проверяет, от кого пришел ответ. Если злоумышленник подменит его, пользователь может попасть на чужой сервер, хотя в адресной строке будет указан правильный домен. DNSSEC добавляет проверку подлинности DNS-данных и помогает обнаружить такую подмену.
В этой статье разберем, как работает DNSSEC, от каких атак он защищает и что нужно сделать, чтобы включить его для домена.
Что такое DNSSEC
DNSSEC – это набор расширений безопасности для DNS. Полное название – Domain Name System Security Extensions.
DNSSEC добавляет к DNS-записям цифровые подписи. С их помощью DNS-сервер или интернет-провайдер может проверить, что полученный ответ:
- действительно относится к запрошенному домену;
- пришел из доверенного источника;
- не изменился по пути.
DNSSEC не шифрует запросы и ответы. Посторонний по-прежнему может увидеть, к какому домену обращается пользователь. Задача технологии – подтвердить подлинность данных, а не скрыть их.
Как работает DNSSEC
Владелец домена включает DNSSEC у провайдера, который управляет DNS-зоной. DNS-зона – это набор записей домена: адрес сервера, настройки почты, поддомены и другие данные.
Провайдер создает пару криптографических ключей:
- закрытый ключ используется для подписи DNS-записей;
- открытый ключ публикуется в DNS и позволяет проверить подпись.
Подписанные записи получают дополнительную запись RRSIG – цифровую подпись DNS-ответа. Открытые ключи публикуются в записях DNSKEY.
Чтобы проверка не заканчивалась на самом домене, создается цепочка доверия. Вышестоящая зона подтверждает ключ нижестоящей. Например, для example.com зона .com хранит DS-запись с данными о ключе домена. В свою очередь, зона .com подтверждается корневой зоной DNS.
Когда проверяющий DNS-сервер получает ответ, он сверяет подписи на каждом уровне цепочки. Если данные изменили или подпись не совпала, сервер считает ответ недействительным и не передает его пользователю.
Какие угрозы предотвращает DNSSEC
DNSSEC защищает DNS‑ответы от подделки. Например, он помогает противостоять отравлению DNS‑кэша: при такой атаке злоумышленник пытается подменить данные и записать в кэш DNS‑сервера ложный адрес сайта.
Если DNSSEC не включен, сервер может принять поддельную DNS‑запись и отправлять пользователей на чужой IP‑адрес. Из‑за этого посетитель попадет на фальшивый сайт, почта уйдет не туда, а приложение подключится не к тому сервису.
При этом DNSSEC не защитит:
- от взлома сайта или сервера;
- от кражи пароля регистратора;
- от DDoS-атак;
- от вредоносного кода на сайте;
- от перехвата незашифрованного трафика;
- от ошибок в самих DNS-записях.
Например, если владелец домена случайно указал неверный IP‑адрес и подписал запись, DNSSEC сочтет ее подлинной – ведь подпись верна. То есть проверка подписи подтверждает только то, что запись не подменили по дороге, но не гарантирует, что все верно настроено.
Как включить DNSSEC для домена
DNSSEC настраивается на уровне домена и DNS-зоны. Поэтому при выборе регистратора стоит проверить не только цены и список доступных доменных зон, но и возможности управления DNS и средствами защиты. В SpaceWeb доступна регистрация домена и работа с DNS-записями через панель управления.
Порядок настройки зависит от того, где находятся DNS-зона и сам домен. DNS-зоной может управлять регистратор, хостинг-провайдер или отдельный DNS-сервис.
1. Проверьте, кто управляет DNS-зоной
Посмотрите, какие NS-серверы указаны для домена. NS-серверы хранят его DNS-записи. Если DNS-зона находится у регистратора, DNSSEC часто включается одним кликом. Если DNS обслуживает другой провайдер, придется сначала включить подпись зоны у него, а затем передать данные регистратору.
2. Включите DNSSEC у DNS-провайдера
Откройте настройки DNS-зоны и найдите раздел DNSSEC. Когда вы его включите, провайдер автоматически сгенерирует криптографические ключи и подпишет DNS‑записи вашего домена.
В панели появятся параметры DS-записи. Она связывает ключ домена с вышестоящей доменной зоной, например .ru или .com.
3. Скопируйте параметры DS-записи
Скопируйте параметры DS‑записи – они понадобятся, чтобы активировать DNSSEC. Нужны четыре значения:
- Key Tag – идентификатор ключа;
- Algorithm – алгоритм подписи;
- Digest Type – тип хеша;
- Digest – хеш ключа.
Копируйте значения без изменений. Ошибка даже в одном символе нарушит проверку DNSSEC.
4. Добавьте DS-запись у регистратора
Войдите в панель регистратора, выберите домен и откройте настройки DNSSEC. Добавьте полученные параметры DS-записи и сохраните изменения.
Если регистратор и DNS-провайдер – одна компания, этот шаг может выполняться автоматически: система сама подтянет нужные данные.
5. Дождитесь обновления данных
DS-запись должна появиться в реестре доменной зоны – на это уходит от нескольких минут до нескольких часов. Срок зависит от регистратора и самой зоны (например, .ru или .com).
Важно! Если вы переносите DNS к другому провайдеру, сначала узнайте у него, как правильно сменить ключи – этот порядок у разных сервисов может отличаться.
Не переключайте просто NS‑серверы, пока у регистратора еще действует старая DS‑запись. Из‑за этого нарушится цепочка доверия: DNS‑серверы не смогут подтвердить подлинность записей, и сайт может стать недоступен для части пользователей.
Как проверить работу DNSSEC
Чтобы проверить, работает ли DNSSEC, недостаточно просто убедиться, что подписи есть: важно, чтобы вся цепочка доверия – от ключа вашего домена до вышестоящей зоны – была корректной.
Проверять нужно не только наличие подписей, но и всю цепочку доверия: от ключа домена до вышестоящей зоны. Для этого подойдут онлайн-сервисы и утилиты командной строки.
Способ 1. Через онлайн-валидатор
Это самый простой способ. Достаточно ввести домен в сервис проверки – он покажет:
- опубликована ли DS-запись;
- есть ли записи DNSKEY и RRSIG;
- совпадают ли ключи у DNS-провайдера и регистратора;
- на каком участке цепочки возникла ошибка.
Он удобен сразу после включения DNSSEC: не нужно устанавливать программы и разбирать полный ответ DNS-сервера.
Способ 2. С помощью команды dig
Утилита dig позволяет запросить DNS-записи вместе с данными DNSSEC:
dig sweb.ru A +dnssec
Замените sweb.ru на свой домен. В ответе найдите запись RRSIG. Она означает, что запрошенная DNS-запись подписана.
Но наличие RRSIG еще не подтверждает исправность всей цепочки. Для дополнительной проверки отправьте запрос через DNS-сервер, который проверяет DNSSEC:
dig @1.1.1.1 sweb.ru A +dnssec
Если в строке flags есть флаг ad, сервер успешно проверил подпись. AD расшифровывается как Authenticated Data – подтвержденные данные.
Отсутствие флага ad не всегда означает ошибку. Выбранный DNS-сервер может не выполнять проверку или не передавать этот флаг клиенту.
Способ 3. С помощью delv
Утилита delv – удобный инструмент, чтобы проверить DNSSEC: она не просто выводит записи, а сразу показывает, прошла ли валидация.
Запустите команду, подставив свой домен:
delv sweb.ru
Если все настроено правильно, вы увидите DNS‑запись и не увидите сообщений об ошибках. Если цепочка доверия нарушена, в выводе появится причина: например, отсутствие DS-записи, несовпадение ключей или недействительная подпись.
6 распространенных заблуждений об DNSSEC
DNSSEC часто воспринимают как универсальную защиту домена. На деле технология решает одну конкретную задачу: проверяет подлинность DNS-ответов и обнаруживает их подмену. Из-за непонимания этой границы от DNSSEC нередко ждут функций, которых у него нет.
Миф 1: DNSSEC шифрует DNS-запросы
Нет. Он проверяет подлинность ответа, но не скрывает его содержимое. Для шифрования используют DNS over HTTPS или DNS over TLS.
Миф 2: DNSSEC заменяет HTTPS
Эти технологии решают разные задачи. DNSSEC помогает получить правильный IP-адрес, а HTTPS защищает соединение между пользователем и сайтом.
Миф 3: после включения DNSSEC домен полностью защищен
DNSSEC предотвращает подмену DNS-ответов, но не защищает сайт от взлома, DDoS-атак, вредоносного кода и кражи паролей.
Миф 4: достаточно включить DNSSEC у DNS-провайдера
Это не так. Чтобы цепочка доверия работала, у регистратора обязательно должна быть DS‑запись. Без нее валидация не сработает, даже если у провайдера все подписано.
Миф 5: подписанная DNS-запись всегда правильная
Подпись подтверждает только одно: запись не подменили по дороге. Если владелец сам указал не тот IP‑адрес – DNSSEC не исправит ошибку.
Миф 6. После настройки о DNSSEC можно забыть
Нельзя. При смене DNS‑провайдера, переносе домена или обновлении ключей нужно заново проверить DS‑запись и убедиться, что цепочка не разорвалась. Иначе часть пользователей не сможет открыть сайт.
DNSSEC стоит рассматривать как отдельный уровень защиты DNS. Он закрывает риск подмены ответов, но не заменяет HTTPS, защиту аккаунта регистратора и безопасную настройку сервера.
Итоги
DNSSEC защищает домен от подмены DNS-ответов. Он добавляет цифровые подписи к DNS-записям и позволяет проверяющим серверам убедиться, что данные пришли из доверенного источника и не изменились по пути.
Но одной подписи зоны у DNS‑провайдера мало. Чтобы защита реально работала, нужно еще добавить DS‑запись у регистратора и убедиться, что вся цепочка доверия проходит проверку без ошибок.
Вопрос-ответ
Нужно ли включать DNSSEC для каждого домена?
Да, DNSSEC настраивается отдельно для каждого домена. Если у вас несколько доменов, проверьте поддержку технологии и включите ее для каждого из них.
Можно ли включить DNSSEC без доступа к регистратору?
Только частично. DNS-провайдер сможет подписать зону, но для создания цепочки доверия нужно добавить DS-запись у регистратора. Без нее проверяющие серверы не смогут подтвердить подписи.
Повлияет ли DNSSEC на работу сайта и почты?
При правильной настройке сайт и почта продолжат работать как раньше. Проблемы возникают, если DS-запись у регистратора не совпадает с ключом DNS-провайдера или содержит ошибку.
Сколько времени занимает включение DNSSEC?
Подпись зоны появляется вскоре после включения у DNS-провайдера. Публикация DS-записи может занять от нескольких минут до нескольких часов. Срок зависит от регистратора и доменной зоны.
Нужно ли устанавливать что-то на сервер?
Нет, не нужно. DNSSEC настраивается на стороне DNS-провайдера и регистратора. Изменять сайт, веб-сервер или сертификат HTTPS не требуется.
Что делать, если после включения домен перестал открываться?
Сравните DS-запись у регистратора с параметрами, которые выдал DNS-провайдер. Проверьте идентификатор ключа, алгоритм, тип хеша и его значение. Если данные не совпадают, исправьте DS-запись или временно удалите ее, следуя инструкции провайдера.
Можно ли отключить DNSSEC?
Да, но порядок действий имеет значение. Сначала удалите DS-запись у регистратора и дождитесь обновления данных. Затем отключите подпись зоны у DNS-провайдера. Если сделать наоборот, домен может стать недоступным.
Как понять, что DNSSEC работает?
Проверьте домен через внешний DNSSEC-валидатор. Он должен подтвердить подписи и показать непрерывную цепочку доверия без ошибок.