Defaults.Exposed › Настройка › DNSSEC
Как настроить DNSSEC в AWS Route 53
Включите подписывание DNSSEC в Route 53 с ключом KMS и добавьте DS-запись у регистратора, чтобы никто не смог подделать ответы вашего DNS.
Почему это важно для бизнеса
Когда кто-то заходит на ваш сайт или пишет вам письмо, его компьютер сначала спрашивает у системы DNS правильный адрес. Обычно эти ответы передаются без подписи, поэтому злоумышленник, способный вмешаться в запрос, может незаметно перенаправить ваших посетителей на поддельный сайт или увести вашу почту на свой сервер — а в адресной строке всё это время будет ваш настоящий домен.
DNSSEC (Domain Name System Security Extensions — расширения безопасности DNS) это предотвращает. Он криптографически подписывает ответы вашего DNS, чтобы любой, кто к вам обращается, мог убедиться: ответ действительно пришёл от вас и не был изменён в пути. Проще говоря: это блокирует угон домена и отравление кэша — атаки, обращающие ваш собственный домен против ваших клиентов. Как функция он бесплатен (ключ подписывания использует небольшой ключ AWS KMS, что влечёт незначительную ежемесячную плату) и является одним из самых сильных средств защиты, какие можно включить.
Как работает DNSSEC в Route 53
Route 53 разделяет задачу так, что это стоит понять до начала:
- Route 53 подписывает вашу размещённую зону ключом, хранящимся в AWS KMS (Key Management Service). Включение подписывания публикует открытые ключи (запись DNSKEY) и создаёт DS-запись (DS, Delegation Signer).
- Ваш регистратор — компания, у которой вы продлеваете домен, — затем должен опубликовать эту DS-запись в родительской зоне (например,
.com), чтобы остальной интернет доверял подписям.
Если домен зарегистрирован через Route 53 (Amazon Registrar), шаг с регистратором всё равно обязателен, но выполняется внутри консоли AWS. Если ваш регистратор — другая компания, DS-запись вы копируете туда вручную.
Реальный риск — действуйте аккуратно
Неправильно настроенный DNSSEC может вывести из строя весь домен. Это происходит двумя путями:
- DS-запись у регистратора не соответствует ключу, которым подписывает Route 53.
- Отключение подписывания, удаление ключа KMS или перенос DNS из Route 53 без предварительного удаления DS-записи у регистратора — устаревшая DS-запись продолжает требовать подписей, которых больше нет, и запросы рушатся.
Точно соблюдайте порядок ниже. А если когда-нибудь будете уводить DNS из Route 53, сначала удалите DS-запись у регистратора и отключите подписывание, а уже потом переносите.
Убедитесь, что DNS обслуживает Route 53
Это сработает, только если на запросы DNS для вашего домена отвечает Route 53. Проверьте, что серверы имён (nameservers) домена указывают на четыре сервера имён Route 53, перечисленных для вашей размещённой зоны (hosted zone). Откройте консоль Route 53, перейдите в Hosted zones, откройте домен и посмотрите значения записи NS — настройка серверов имён у регистратора должна им соответствовать. Если серверы имён указывают в другое место, включайте DNSSEC у того провайдера, который реально обслуживает ваш DNS.
Пошагово в Route 53
- Войдите в консоль AWS и откройте Route 53.
- Перейдите в Hosted zones и откройте размещённую зону вашего домена.
- Откройте вкладку DNSSEC signing и выберите Enable DNSSEC signing.
- Для ключа подписывания ключей (KSK) нужно указать управляемый клиентом ключ KMS:
- Выберите Create customer managed key (или выберите подходящий существующий).
- Ключ должен быть асимметричным с назначением Sign and verify, спецификации ECC_NIST_P256, и находиться в регионе US East (N. Virginia)
us-east-1— DNSSEC в Route 53 требует ключ именно в этом регионе. - Дайте KSK имя.
- Подтвердите и включите подписывание. Теперь Route 53 подписывает размещённую зону.
- На той же вкладке DNSSEC signing найдите DS record / Establish a chain of trust. Route 53 покажет нужные значения, включая Key Tag, Signing algorithm, Digest algorithm и Digest (а часто и готовую строку DS-записи).
- Теперь перейдите к своему регистратору и добавьте DS-запись:
- Если домен зарегистрирован в Route 53 (Amazon Registrar): консоль может провести вас по шагам в настройках домена — либо скопируйте значения в раздел DNSSEC домена.
- Если ваш регистратор — другая компания: откройте у него раздел DNSSEC / DS-записей и точно введите значения из шага 6 — Key Tag, Algorithm (обычно
13), Digest Type (обычно2) и Digest.
- Сохраните у регистратора. Цепочка доверия завершена, как только DS-запись принята в родительской зоне.
Особенности Route 53, где часто ошибаются
- Ключ KMS должен быть в
us-east-1. DNSSEC в Route 53 не примет ключ KSK из другого региона — на этом спотыкаются первым делом. - Используйте правильный тип ключа. Нужен асимметричный ключ KMS с назначением sign-and-verify и спецификацией ECC_NIST_P256. Симметричный ключ или ключ неверной спецификации в роли KSK не подойдёт.
- Две системы, а не одна. Само по себе включение подписывания в Route 53 ничего не даёт — DS-запись должна ещё и дойти до регистратора. Люди останавливаются после шага 5 и недоумевают, почему ничего не проходит проверку.
- Копируйте дайджест точно. Один неверный символ в Digest означает, что DS-запись у регистратора не совпадёт с ключом подписывания Route 53 — ровно та ошибка конфигурации, что выводит домен из строя. Вставляйте, не перепечатывайте.
- Не удаляйте ключ KMS, пока подписывание активно. И никогда не удаляйте DS-запись у регистратора, пока Route 53 всё ещё подписывает.
- Перед переносом DNS отключайте в правильном порядке. Чтобы уйти: удалите DS-запись у регистратора, дождитесь её снятия, затем отключите подписывание в Route 53 — а не наоборот.
- Дайте время. Изменения DNSSEC распространяются и проходят проверку от нескольких минут до суток.
Проверьте результат
После включения подписывания в Route 53 и размещения DS-записи у регистратора запустите бесплатную проверку на этом сайте. Она простыми словами скажет, корректно ли опубликован DNSSEC и доверяют ли ему для вашего домена.
Готово? Проверьте свой домен бесплатно чтобы убедиться, что всё сработало — и увидеть полную оценку по всем 34 проверкам.