INTEGRITY Документация

Обзор

Multi-signer DNSSEC включает две модели, которые позволяют разным провайдерам авторитативного DNS обслуживать одну и ту же зону и одновременно использовать DNSSEC.

Это обеспечивает лучшую совместимость с функциями DNS, которые требуют подписания записей в реальном времени (в момент запроса), а также позволяет переносите зоны в Cloudflare, не отключая DNSSEC.

Вы можете настроить DNSSEC с несколькими подписантами с использованием одной из моделей, описанных в RFC 8901.

Как это работает

Multi-signer DNSSEC опирается на цепочку доверия, необходимую для проверки DNSSEC, и использует её, чтобы гарантировать завершение проверки даже при участии нескольких провайдеров.

Пример случая, когда без этого проверка могла бы завершиться ошибкой: резолвер закэшировал Набор записей DNSKEY от одного провайдера, но получает ответ, подписанный другим провайдером.

Чтобы избежать проблем в этом случае, при настройке multi-signer DNSSEC необходимо изменить следующее:

  1. Ключи подписи зоны (ZSK), которые есть у ваших DNS-провайдеров в наборах записей DNSKEY.
  2. Кто отвечает за Secure Entry Point (SEP), ключи подписи ключей (KSK) и запись Delegation Signer (DS).

Если эти настройки скорректированы так, что (a) все участвующие провайдеры имеют открытые ключи подписи зоны (ZSK) друг друга и (b) записи Delegation Signer (DS) ссылаются на нужные ключи подписи ключей (KSK), подписание зон несколькими провайдерами в реальном времени перестаёт быть проблемой.

Модель 1

В обеих моделях все провайдеры добавляют ключи подписи зоны (ZSK) друг друга в свой набор записей DNSKEY. Но в модели 1 такие наборы записей DNSKEY подписываются только одним ключом подписи ключей (KSK). За управление этим KSK и его привязку через запись DS (то есть Secure Entry Point) отвечает владелец зоны или только один провайдер, назначенный владельцем зоны.

Модель 2

В модели 2, напротив, каждый провайдер использует собственный KSK для подписи собственного набора записей DNSKEY, а на эти KSK затем ссылается запись DS (Secure Entry Point).


Что происходит при включении multi-signer DNSSEC

При включении multi-signer DNSSEC в Cloudflare происходят следующие изменения:

  1. Внутренний флаг: Cloudflare устанавливает внутренний флаг, который позволяет добавлять записи DNSKEY в вашу зону.
  2. Внешние ZSK включены: Когда вы добавляете записи DNSKEY от вторичного провайдера, Cloudflare включает их в набор записей DNSKEY (RRset).
  3. Подписание с использованием KSK Cloudflare: Cloudflare подписывает внешние ZSK ключом KSK Cloudflare, создавая RRset по модели Multi-signer DNSSEC Model 2.
  4. Генерация CDS/CDNSKEY: Если вы добавите KSK другого провайдера (не обязательно, но рекомендуется), Cloudflare сформирует RRset CDS/CDNSKEY для совместимости с инструментами валидации.

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


Рекомендации

При настройке multi-signer DNSSEC следуйте приведённым ниже рекомендациям, чтобы развёртывание прошло без проблем.

Использовать модель 2

Для настроек с несколькими подписывающими сторонами Cloudflare рекомендует модель 2. В этой модели у каждого провайдера есть собственный KSK DNSKEY, поэтому создаются две DS-записи (по одной для каждого провайдера). Это обеспечивает большую независимость и гибкость.

Изучите флаги DNSKEY

При обмене ключами между провайдерами убедитесь, что вы добавляете в набор записей DNSKEY (DNSKEY RRset) ключ правильного типа (как правило, ZSK).

Соблюдение TTL

После изменения записей DNSKEY и DS всегда дожидайтесь истечения TTL, прежде чем переходить к следующему шагу. Это гарантирует, что кэшированные записи устареют до того, как вступят в силу новые, и помогает избежать ошибок проверки.

Проверка совместимости провайдера

Не все DNS-провайдеры поддерживают добавление внешних DNSKEY в свой набор DNSKEY RRset. Перед началом миграции multi-signer:

Некоторые сторонние провайдеры могут не поддерживать необходимую функциональность.

Тщательно тестируйте

Multi-signer DNSSEC подразумевает согласование криптографических ключей между несколькими провайдерами. Перед развёртыванием в продакшене:

  1. Убедитесь, что оба провайдера добавили ZSK друг друга в свои наборы записей DNSKEY (RRset).
  2. Убедитесь, что обе записи DS присутствуют у регистратора.
  3. Используйте инструменты проверки DNSSEC, чтобы протестировать резолвинг у обоих провайдеров.
  4. Отслеживайте ошибки проверки в течение переходного периода.