DNS создавался так, чтобы доверять любому ответу, пришедшему первым. DNSSEC добавляет подписи к записям DNS, чтобы резолверы могли проверить, что ответ действительно пришёл от владельца домена и не был изменён по пути. Регистраторы и панели хостинга теперь делают настройку DNSSEC похожей на один переключатель, и для доменов, размещённых у крупного DNS-провайдера, это часто так и есть. Когда ваш бизнес держит собственный авторитетный DNS-сервер или переносит домены между провайдерами, несколько деталей решают, защитит ли вас DNSSEC или выведет домен из строя. В этом руководстве такие детали разобраны простыми словами.
Что такое DNSSEC и чего он не делает
Что такое DNSSEC на практике? Записи зоны подписываются закрытым ключом, а соответствующий открытый ключ публикуется в самой зоне. Отпечаток этого ключа, запись DS, находится в родительской зоне, например .com, и попадает туда через вашего регистратора. Проверяющие резолверы идут по этой цепочке доверия от корня и отвергают ответы, подписи которых не совпадают. Это защищает от отравления кеша и подделанных ответов, которые могли бы направить посетителей или почту на неверный сервер.
DNSSEC не шифрует трафик DNS, не скрывает, какие имена запрашиваются, и не заменяет HTTPS. Он также ничем не поможет, если кто-то получит доступ к вашему регистратору или учётной записи DNS, поэтому надёжные пароли и двухфакторная аутентификация там важнее любого протокола.
Как пошагово выполняется настройка DNSSEC
- Подпишите зону на авторитетном сервере, который создаст ключи и подписи.
- Убедитесь, что подписанные ответы приходят с каждого сервера имён домена, включая вторичные.
- Опубликуйте запись DS у регистратора. До этого шага ничто не проверяется, поэтому ошибки в первых двух шагах безвредны.
- Проверьте цепочку с помощью dig +dnssec или delv через проверяющий резолвер либо онлайн-анализатора DNSSEC.
- Наблюдайте с этого момента за сроком действия подписей и сменой ключей.
Порядок важен. Если опубликовать запись DS для зоны, которая подписана неправильно не на каждом сервере имён, проверяющие резолверы откажутся принимать домен вообще.
BIND dnssec-policy и PowerDNS DNSSEC
В актуальных выпусках BIND 9 подписью управляет политика. Если добавить в зону оператор BIND dnssec-policy (хорошее начало — встроенная политика default), BIND создаст ключи, подпишет зону и будет автоматически её переподписывать. Политика по умолчанию использует один совмещённый ключ подписи с алгоритмом ECDSA P-256, алгоритм 13, который сохраняет ответы небольшими. Руководство BIND по DNSSEC описывает подробности, в том числе то, как BIND может проверить родительскую зону на наличие записи DS, прежде чем продолжить смену ключа. Как и при любом изменении конфигурации BIND, выполните проверки конфигурации перед перезагрузкой. Подписание зон на серверах BIND или PowerDNS — часть нашей работы по настройке DNS-серверов.
PowerDNS DNSSEC работает иначе, потому что зоны хранятся в базе данных. Инструмент pdnsutil защищает зону и выводит записи DS, которые нужно передать регистратору, а PowerDNS подписывает ответы по мере их выдачи. Вторичные серверы имён требуют внимания в обоих продуктах. Если вторичный сервер получает зону по зонной передаче, он должен отдавать подписанную версию; вторичный сервер, который строит зону самостоятельно, возвращает неподписанные ответы и ломает проверку для части ваших посетителей.
Что вызывает ошибку проверки DNSSEC
Когда DNSSEC ломается, домен не выглядит медленным или частично неправильным. Для пользователей за проверяющими резолверами, к которым относятся многие крупные публичные резолверы и интернет-провайдеры, он просто перестаёт разрешаться: сайты, электронная почта и всё остальное в этом домене. Обычные причины:
- Просроченные подписи. У подписей есть срок действия. Если подписание прекращается, например потому, что сервер пересобрали без его ключей, зона продолжает работать, пока подписи не истекут, а затем отказывает целиком и сразу.
- Смена ключей DNSSEC, выполненная не по порядку. Замена ключа подписи ключей (key-signing key) означает публикацию новой записи DS в нужный момент и удаление старой только после истечения кешей. Политика BIND по умолчанию избегает плановой смены этого ключа, и это одна из причин, почему она подходит небольшим организациям.
- Смена DNS-провайдера при включённом DNSSEC. Новый провайдер подписывает другими ключами, а у регистратора всё ещё хранится старая запись DS.
- Вторичные серверы, отдающие неподписанные данные, как описано выше.
Безопасный перенос или отключение DNSSEC
Чтобы перенести подписанный домен на другой DNS-хостинг, простейший безопасный путь — сначала снять подпись. Удалите запись DS у регистратора, дождитесь, пока везде истечёт время жизни (TTL) старой записи DS, что для многих доменов верхнего уровня составляет около суток, затем перенесите домен, подпишите его у нового провайдера и опубликуйте новую запись DS. Некоторые провайдеры поддерживают более плавный перенос с обоими наборами ключей, но только если обе стороны сотрудничают. В BIND по той же причине есть встроенная политика insecure: она безопасными шагами возвращает зону к неподписанному состоянию, когда родительская зона больше не указывает на её ключи.
Та же осторожность относится к разрешению доменных имён внутри вашей офисной сети. Если ваш локальный резолвер проверяет DNSSEC, сломанный домен где-то ещё не будет работать и для ваших сотрудников, а отключение проверки ради «исправления» убирает защиту для всех остальных доменов.
Часто задаваемые вопросы: настройка DNSSEC
Нужен ли DNSSEC малому бизнесу?
Он имеет смысл там, где ваш DNS-провайдер и регистратор обрабатывают его автоматически. Если вы держите собственные серверы имён, включайте его, когда есть мониторинг и письменная процедура на случай переезда между провайдерами, потому что ошибка затрагивает весь домен.
Где взять запись DS?
На DNS-сервере или у провайдера, который подписывает зону. Затем вы вводите её у регистратора, который передаёт её в родительскую зону. Если DNS-хостинг и регистратор — одна компания, это часто происходит автоматически.
Замедляет ли DNSSEC мой сайт?
Заметно нет. Ответы несколько больше, а резолверы выполняют чуть больше работы, но ответы кешируются, как и любые другие данные DNS, а современные ключи на эллиптических кривых держат накладные расходы небольшими.
Планируете подписать свои домены или перенести подписанные домены между DNS-хостингами? Наша услуга настройки и управления DNS-серверами охватывает серверы BIND и PowerDNS, вторичные серверы, записи MX, SPF, DKIM и DMARC, а также DNSSEC для компаний в Лос-Анджелесе и за его пределами. Если вам нужны межсетевые экраны и удалённый доступ, посмотрите нашу услугу настройки сети, VPN и безопасности. Свяжитесь с нами, прислав список ваших доменов и сведения о том, где сейчас размещён их DNS.



