Назад | Перейти на главную страницу

Ключ подписи зоны DNSSEC (ZSK)

Мне было поручено изучить возможность внедрения DNSSEC на наших серверах имен. Хотя техническая сторона этого (создание ключей, подписание зон, подготовка ролловеров) относительно проста, я столкнулся с логистической проблемой. Я хочу запустить разные реализации DNSSEC на разных серверах имен.

Должен ли ключ подписи зоны DNSSEC (ZSK) быть одинаковым на всех серверах имен? Если да, то почему?

Если вы имеете в виду на всех серверах имен, авторитетных для данной зоны, то да, они должны совместно использовать ключи, поскольку они публикуются как записи DNSKEY, которые будут использоваться рекурсивными проверяющими клиентами для проверки подписей.

Теперь сервер имен A может публиковать DNSKEY ZSK A + все RRSIG, созданные с помощью ZSK A, а сервер имен B может иметь ZSK B + все RRSIG, созданные с помощью ZSK B. И каждый с DNSKEY KSK и RRSIG с KSK соответствующего ZSK.

Чтобы DNSSEC проверил сервер имен, необходимо найти хотя бы один правильный путь ключей и подписей. Таким образом, теоретически рекурсивный сервер имен, обращающийся только к серверу имен A и извлекающий оттуда все записи, может получить оттуда все, что ему нужно для проверки записей. То же самое, если он попадает только nameserverB.

Однако проблема заключается в только часть и тот факт, что вещи кэшируются и что рекурсивные серверы имен не «привязываются» к одному авторитетному серверу имен, но будут переключаться в зависимости от различных алгоритмов. Разрешающий сервер имен может иметь в своем кэше смесь данных, например, с DNSKEY A и RRSIG из B. Тогда проверка не будет выполнена.

Короче говоря, я был бы очень удивлен, если бы это сработало надежно.

Это подробно обсуждается в этом документе: https://datatracker.ietf.org/doc/draft-huque-dnsop-multi-provider-dnssec/?include_text=1 Он пытается увидеть, как доменное имя может использовать более одного поставщика DNS одновременно для разрешения, но при этом иметь надлежащее управление DNSSEC с различными сценариями в зависимости от того, кто подписывает это.

Вы можете проверить это, но, как сказал Хокан, похоже, у вас есть еще одна проблема, прежде чем приступить к этой проблеме.

Должен ли ключ подписи зоны DNSSEC (ZSK) быть одинаковым на всех серверах имен? Если да, то почему?

Ключи подписи зоны (ZSK) и ключи подписи ключа (KSK) не необходимость находиться на любом из серверов имён.

Благодаря архитектуре DNSSEC сервер имен может отвечать на запросы с предварительно подписанными записями, включая новые записи для доказательства отказа в существовании запрошенной записи.

ZSK просто должны принадлежать тому хосту, который намеревается подписывать файлы зоны, остальным серверам имен просто нужна копия новой подписанной зоны, которая может быть передана через настройки сервера имен главный-подчиненный.

Простая установка может заключаться в наличии ZSK на главном сервере имен. У подчиненных серверов имен нет причин знать ZSK, если они не подписывают зоны.

Изменить: как упомянул Хокан Линдквист, ZSK и KSK технически находятся на всех серверах имен, но только публичная часть ключа в виде записей DNSKEY в предварительно подписанном файле зоны. Когда я говорил о KSK и ZSK выше, я имел в виду частные части ключей, которые должны храниться в секрете.