Технология 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-ключа:

  1. Публикация DS-записей нового KSK-ключа в родительской зоне. В ispmanager следующий KSK-ключ создаётся сразу при подписании домена или сразу после удаления старого KSK-ключа. В таком случае у пользователя появляется возможность заранее опубликовать DS-записи нового ключа. Для корректной работы обновления KSK-ключа DS-записи нового ключа нужно опубликовать в родительской зоне за месяц до конца обновления KSK-ключа.

  2. Замена KSK-ключа. Активный действующий KSK-ключ заменяется новым KSK-ключом. В ispmanager замена происходит за 2 недели до конца обновления KSK-ключа.

  3. Удаление DS-записей старого ключа в родительской зоне. В этот момент ispmanager генерирует следующий новый ключ, позволяя пользователям одновременно выполнить необходимые действия в родительской зоне: удалить DS-записи старого ключа и добавить DS-записи следующего нового ключа.

Процесс обновления ZSK-ключа:

  1. Создание и публикация в доменной зоне нового ключа ZSK-ключа. В ispmanager выполняется за 2 недели до смены ключа. Новый ключ является пассивным и не участвует в процессе подписывания доменной зоны.

  2. Замена ZSK-ключа. Опубликованный заранее новый ZSK-ключ становится активным. Действующий до этого ZSK-ключ становится пассивным и больше не участвует в процессе подписи.

  3. Удаление старого пассивного ZSK-ключа. Действие выполняется через 2 недели после замены ZSK-ключа.

Обратите внимание!

При использовании DNSSEC увеличивается размер пакета DNS. Если размер пакета превышает 512 байт, используется протокол TCP. На некоторых маршрутизаторах работа DNS по протоколу TCP может быть запрещена (закрыт порт 53).

При превышении размера MTU пакеты DNS фильтруются. MTU — максимальный размер полезного блока данных одного пакета, который может быть передан без фрагментации. Распространённый размер MTU — 1500 байт.

Обратите внимание!

Некоторые регистраторы доменных имён требуют удалять пробелы из созданных ключей при публикации DS-записей.

Включение поддержки DNSSEC


Поддержка DNSSEC доступна для DNS-серверов:

  • Bind, начиная с версии 9.8.4;

  • PowerDNS, начиная с версии 3.2.

Обратите внимание!

PowerDNS до 4-й версии не полностью поддерживает CAA-записи. В связи с этим на DNS-сервере с PowerDNS до 4-й версии подписывание домена с помощью DNSSEC может привести к недоступности CAA-записей.

Включите поддержку DNSSEC и настройте параметры ключей:

  1. В Основном меню выберите Управление DNS.

  2. В открывшейся форме нажмите на кнопку Настройки по умолчанию.

  3. Отметьте чекбокс Поддержка DNSSEC.

  4. Выполните настройку появившихся разделов Ключ подписания ключа (KSK) и Ключ подписания зоны (ZSK):

    • Алгоритм – метод генерации ключей;

    • Длина ключа – указывается в битах;

    • Период обновления – время обновления ключа по истечении которого будет сгенерирован новый ключ. Указывается в месяцах;

  5. Нажмите на кнопку Сохранить.

Выключение поддержки DNSSEC


Обратите внимание!

Перед отключением поддержки DNSSEC удалите DS-записи всех подписанных доменов из их родительских зон. В противном случае доменные имена перестанут работать.

  1. В Основном меню выберите Управление DNS.

  2. В открывшейся форме нажмите на кнопку Настройки по умолчанию.

  3. Снимите чекбокс Поддержка DNSSEC.

  4. Нажмите на кнопку Сохранить.

Подробнее см. в статье Установка и настройка DNS-сервера. После сохранения происходит отписывание всех доменов и удаление всех их ключей.

Почтовые уведомления


Для включения и поддержки работы DNSSEC нужно вручную публиковать и обновлять DS-записи в родительской доменной зоне. Почтовые уведомления DNSSEC позволяют настроить получение уведомлений о новых DS-записях, требующих публикации.

Для этого включите оповещения:

  1. В Основном меню выберите Настройки.

  2. В раскрывшемся списке выберите Оповещения.

  3. На открывшейся форме в разделе Настройка типов уведомлений.

  4. Отметьте чекбокс Уведомления от расширения DNSSEC dns-сервера.

  5. Нажмите на кнопку Сохранить.

Включение защиты DNSSEC домена


Включение состоит из этапов:

  1. Проверка максимального значения TTL в доменной зоне.

  2. Подписание доменной зоны.

  3. Создание цепочки доверия.

Проверка максимального значения TTL в доменной зоне

Для правильного обновления ключей нужно, чтобы максимальное значение TTL в доменной зоне имело значение менее 2 недель (1209600 секунд).

  1. В Основном меню выберите Управление DNS.

  2. В открывшейся форме выберите соответствующее доменное имя и нажмите на кнопку Управлять DNS записями.

  3. Проверьте столбец TTL, если необходимо скорректируйте.

По умолчанию TTL-зоны равно 1 часу (3600 секунд).

Подписание доменной зоны

  1. В Основном меню выберите Управление DNS.

  2. В открывшейся форме выберите соответствующее доменное имя и нажмите на кнопку Изменить.

  3. Отметьте чекбокс Подписать домен.

  4. Нажмите на кнопку Сохранить.

    Пример параметров

При успешном подписании доменной зоны иконка изменится на

. Для домена становится доступной кнопка DNSSEC и отображается баннер "Есть неопубликованные DS-записи".

Пример состояния

Создание цепочки доверия

Чтобы создать цепочку доверия, нужно передать DS-запись и, если требует регистратор, DNSKEY-записи в родительскую доменную зону.

Эти записи доступны:

  1. В Основном меню выберите Управление DNS.

  2. В открывшейся форме выберите соответствующее доменное имя и нажмите на кнопку контекстного меню ““.

  3. В раскрывшемся меню выберите DNSSEC.

    Пример контекстного меню

Для каждой записи из списка DS-записей отображаются данные:

  • Начало записи — включает наименование домена, класс и тип ресурсной DS-записи;

  • Тег — идентификатор ключа;

  • Алгоритм — идентификатор алгоритма шифрования;

  • Тип дайджеста — идентификатор типа отпечатка KSK-ключа;

  • Дайджест — содержимое отпечатка.

Показать DNSKEY — по нажатию кнопки отображается таблица DNSKEY-записей. Для каждой записи из списка DNSKEY-записей отображаются следующие данные:

  • Начало записи —  включает наименование домена, класс и тип ресурсной DNSKEY-записи;

  • Флаги — идентификатор типа ключа;

  • Протокол — номер протокола DNSSEC;

  • Алгоритм — идентификатор алгоритма шифрования;

  • Публичный ключ — открытая часть ключа;

  • Тег — идентификатор KSK-ключа.

Передача DS-записей осуществляется одним из следующих образов:

  1. Добавить записи через веб-интерфейс панели управления доменом у регистратора доменных имён. Скопируйте DS-записи из ispmanager. Если у регистратора записи добавляются в виде строк, то объедините значения всех столбцов из таблицы DS-записей в ispmanager, вставляя пробелы между ними. Если нужно, то также скопируйте DNSKEY-записи.

  2. Если доменная зона находится вместе с родительской зоной на одном и том же сервере под управлением ispmanager, нажмите Передать DS-записи в родительскую зону.

  3. Если подписываемый домен является родительским для домена, находящегося на стороннем сервере, создайте DS-записи дочернего домена в записях родительского домена.

Один раз в неделю ispmanager проверяет наличие DS-записей в родительской зоне. Необходимо, чтобы было передано хотя бы по одной DS-записи для каждого KSK-ключа. Успешное прохождение проверки завершает процесс включения защиты DNSSEC. В столбце Состояние изменится иконка на

Выключение защиты DNSSEC домена


Чтобы отключить защиту домена:

  1. В Основном меню выберите Управление DNS.

  2. В открывшейся форме выберите соответствующее доменное имя и нажмите на кнопку Изменить.

  3. Отметьте чекбокс Удалить подпись.

  4. Нажмите на кнопку Сохранить.