Настройка DNSSEC
Технология DNSSEC разработана как расширение системы DNS для защиты от подмены данных. Позволяет не допустить фишинга, отравления кэша и других интернет-угроз.
Принципы работы
Принцип работы DNSSEC основан на использовании цифровых подписей и построении цепочки доверия. DNSSEC создаёт для каждого типа ресурсных записей специальную ресурсную запись с цифровой подписью. Чтобы сгенерировать цифровую подпись для каких-либо данных, нужен секретный ключ. При этом проверить достоверность цифровой подписи может любой DNS-клиент с помощью открытого ключа. Открытые ключи публикуются в зоне домена в виде ресурсной записи типа DNSKEY. Для проверки открытой части ключа используется цепочка доверия. Проверка достоверности ключа происходит с помощью его отпечатков, предварительно отправленных в родительскую доменную зону в виде ресурсных DS-записей. Отпечатки открытых ключей родительских доменных зон также отправляются в соответствующие для них родительские зоны. Такая цепочка доверия строится до корневой зоны, у которой открытый ключ и его отпечатки опубликованы в официальных документах ICANN — организации ответственной за корневую зону.
DNSSEC использует 2 типа ключей:
- ZSK (Zone Signing Key) — ключ для подписи ресурсных записей зоны;
- KSK (Key Signing Key) — ключ для подписи ключей.
Рекомендуем длину KSK-ключа и период его обновления выбирать больше, чем для ZSK-ключа. ZSK-ключ используется каждый раз, когда происходит редактирование доменной зоны или её обновление. Использование короткого ZSK-ключа облегчает процесс подписи, так как снижает нагрузку на сервер, а небольшой период обновления позволяет поддерживать высокий уровень безопасности. С помощью KSK-ключа производится только подписание ключей. Он используется реже ZSK-ключа. Поэтому длинный ключ не так сильно влияет на производительность. Для длинного ключа можно указать длинный период обновления ключа без ущерба для безопасности. Длинный период обновления KSK позволяет реже передавать DS-записи в родительскую зону.
Для избежания компрометации ключей DNSSEC используется процесс обновления ключей. Ключи обновляются постепенно, чтобы у вторичных серверов и серверов кэширования DNS было достаточно времени для синхронизации с первичным сервером DNS, не допуская сбоев работы домена.
Процесс обновления KSK-ключа:
- Публикация DS-записей нового KSK-ключа в родительской зоне. В ISPmanager следующий KSK-ключ создаётся сразу при подписании домена или сразу после удаления старого KSK-ключа. В таком случае у пользователя появляется возможность заранее опубликовать DS-записи нового ключа. Для корректной работы обновления KSK-ключа DS-записи нового ключа нужно опубликовать в родительской зоне за месяц до конца обновления KSK-ключа.
- Замена KSK-ключа. Активный действующий KSK-ключ заменяется новым KSK-ключом. В ISPmanager замена происходит за 2 недели до конца обновления KSK-ключа.
- Удаление DS-записей старого ключа в родительской зоне. В этот момент ISPmanager генерирует следующий новый ключ, позволяя пользователям одновременно выполнить необходимые действия в родительской зоне: удалить DS-записи старого ключа и добавить DS-записи следующего нового ключа.
Процесс обновления ZSK-ключа:
- Создание и публикация в доменной зоне нового ключа ZSK-ключа. В ISPmanager выполняется за 2 недели до смены ключа. Новый ключ является пассивным и не участвует в процессе подписывания доменной зоны.
- Замена ZSK-ключа. Опубликованный заранее новый ZSK-ключ становится активным. Действующий до этого ZSK-ключ становится пассивным и больше не участвует в процессе подписи.
- Удаление старого пассивного ZSK-ключа. Действие выполняется через 2 недели после замены ZSK-ключа.
Включение поддержки DNSSEC
Поддержка DNSSEC доступна для PowerDNS, начиная с версии 3.2.
Включить поддержку DNSSEC и настроить параметры ключей может администратор в Домены → Доменные имена → Настройки. Подробнее см. в статье Настройки DNS-сервера.
Почтовые уведомления
Для включения и поддержки работы DNSSEC нужно вручную публиковать и обновлять DS-записи в родительской доменной зоне. Почтовые уведомления DNSSEC позволяют настроить получение уведомлений о новых DS-записях, требующих публикации. Для этого включите опцию Настройки → Почтовые уведомления → Уведомления от расширения DNSSEC dns-сервера.
Включение защиты DNSSEC домена
Включение состоит из этапов:
- Проверка максимального значения TTL в доменной зоне.
- Подписание доменной зоны.
- Создание цепочки доверия.
Проверка максимального значения TTL в доменной зоне
Для правильного обновления ключей нужно, чтобы максимальное значение TTL в доменной зоне имело значение менее 2 недель (1209600 секунд). Проверьте значения TTL ресурсных записей доменной зоны в Домены → Доменные имена → Управлять DNS-записями → столбец TTL, сек. По умолчанию TTL-зоны равно 1 часу (3600 секунд).
Подписание доменной зоны
Включите опцию Домены → Доменные имена → меню → Изменить → Подписать домен и нажмите Ok. Запустится фоновый процесс подписания доменной зоны. В ходе процесса генерируются KSK и ZSK ключи. На время работы процесса в Домены → Доменные имена → столбец Состояние отображается иконка . При успешном подписании доменной зоны иконка изменится на . Для домена становится доступной кнопка DNSSEC и отображается баннер "Есть неопубликованные DS-записи".
Подписание доменной зоны доступно пользователям с уровнем доступа "Пользователь" или "Администратор".
Создание цепочки доверия
Чтобы создать цепочку доверия, нужно передать DS-запись и, если требует регистратор, DNSKEY-записи в родительскую доменную зону. Эти записи доступны в Домены → Доменные имена → DNSSEC.
Для каждой записи из списка DS-записей отображаются данные:
- Начало записи — включает наименование домена, класс и тип ресурсной DS-записи;
- Тег — идентификатор ключа;
- Алгоритм — идентификатор алгоритма шифрования;
- Тип дайджеста — идентификатор типа отпечатка KSK-ключа;
- Дайджест — содержимое отпечатка.
Показать DNSKEY — по нажатию кнопки отображается таблица DNSKEY-записей. Для каждой записи из списка DNSKEY-записей отображаются следующие данные:
- Начало записи — включает наименование домена, класс и тип ресурсной DNSKEY-записи;
- Флаги — идентификатор типа ключа;
- Протокол — номер протокола DNSSEC;
- Алгоритм — идентификатор алгоритма шифрования;
- Публичный ключ — открытая часть ключа;
- Тег — идентификатор KSK-ключа.
Передача DS-записей осуществляется одним из следующих образов:
- Добавить записи через веб-интерфейс панели управления доменом у регистратора доменных имён. Скопируйте DS-записи из ISPmanager. Если у регистратора записи добавляются в виде строк, то объедините значения всех столбцов из таблицы DS-записей в ISPmanager, вставляя пробелы между ними. Если нужно, то также скопируйте DNSKEY-записи.
- Если доменная зона находится вместе с родительской зоной на одном и том же сервере под управлением ISPmanager, нажмите Передать DS-записи в родительскую зону.
- Если подписываемый домен является родительским для домена, находящегося на стороннем сервере, создайте DS-записи дочернего домена в записях родительского домена: Домены → Доменные имена → Управлять DNS-записями → Создать. Подробнее см. в статье Создание ресурсных записей доменной зоны.
Один раз в неделю ISPmanager проверяет наличие DS-записей в родительской зоне. Необходимо, чтобы было передано хотя бы по одной DS-записи для каждого KSK-ключа. Успешное прохождение проверки завершает процесс включения защиты DNSSEC. В Домены → Доменные имена → столбец Состояние появится иконка
Отключение защиты DNSSEC домена
Чтобы отключить защиту домена:
- Удалите все DS-записи из родительской доменной зоны и подождите несколько часов.
- Удалите подпись доменной зоны. Для этого включите опцию: Домены → Доменные имена → меню → Изменить → Удалить подпись и нажмите Ok.
Отключить защиту домена может пользователь с уровнем доступа "Пользователь" или "Администратор".
Отключение поддержки DNSSEC
Отключить поддержку DNSSEC может администратор в Домены → Доменные имена → Настройки . Подробнее см. в статье Настройки DNS-сервера. После подтверждения изменений происходит отвязка всех доменов и удаление всех их ключей.