← Cloudflare DNS / dns / dnssec / multi-signer-dnssec
Обзор
Multi-signer DNSSEC включает две модели, которые позволяют разным провайдерам авторитативного DNS обслуживать одну и ту же зону и одновременно использовать DNSSEC.
Это обеспечивает лучшую совместимость с функциями DNS, которые требуют подписания записей в реальном времени (в момент запроса), а также позволяет переносите зоны в Cloudflare, не отключая DNSSEC.
Вы можете настроить DNSSEC с несколькими подписантами с использованием одной из моделей, описанных в RFC 8901 ↗.
Как это работает
Multi-signer DNSSEC опирается на цепочку доверия, необходимую для проверки DNSSEC, и использует её, чтобы гарантировать завершение проверки даже при участии нескольких провайдеров.
Пример случая, когда без этого проверка могла бы завершиться ошибкой: резолвер закэшировал Набор записей DNSKEY ↗ от одного провайдера, но получает ответ, подписанный другим провайдером.
Чтобы избежать проблем в этом случае, при настройке multi-signer DNSSEC необходимо изменить следующее:
- Ключи подписи зоны (ZSK), которые есть у ваших DNS-провайдеров в наборах записей DNSKEY.
- Кто отвечает за 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 происходят следующие изменения:
- Внутренний флаг: Cloudflare устанавливает внутренний флаг, который позволяет добавлять записи DNSKEY в вашу зону.
- Внешние ZSK включены: Когда вы добавляете записи DNSKEY от вторичного провайдера, Cloudflare включает их в набор записей DNSKEY (RRset).
- Подписание с использованием KSK Cloudflare: Cloudflare подписывает внешние ZSK ключом KSK Cloudflare, создавая RRset по модели Multi-signer DNSSEC Model 2.
- Генерация CDS/CDNSKEY: Если вы добавите KSK другого провайдера (не обязательно, но рекомендуется), Cloudflare сформирует RRset CDS/CDNSKEY для совместимости с инструментами валидации.
Такая настройка гарантирует, что распознаватели смогут проверять ответы от любого из провайдеров, поскольку все ZSK DNSKEY подписаны соответствующими KSK, указанными в записях DS.
Рекомендации
При настройке multi-signer DNSSEC следуйте приведённым ниже рекомендациям, чтобы развёртывание прошло без проблем.
Использовать модель 2
Для настроек с несколькими подписывающими сторонами Cloudflare рекомендует модель 2. В этой модели у каждого провайдера есть собственный KSK DNSKEY, поэтому создаются две DS-записи (по одной для каждого провайдера). Это обеспечивает большую независимость и гибкость.
Изучите флаги DNSKEY
- ZSKs (Zone Signing Keys): флаг
256 - KSKs (Key Signing Keys): флаг
257
При обмене ключами между провайдерами убедитесь, что вы добавляете в набор записей DNSKEY (DNSKEY RRset) ключ правильного типа (как правило, ZSK).
Соблюдение TTL
После изменения записей DNSKEY и DS всегда дожидайтесь истечения TTL, прежде чем переходить к следующему шагу. Это гарантирует, что кэшированные записи устареют до того, как вступят в силу новые, и помогает избежать ошибок проверки.
Проверка совместимости провайдера
Не все DNS-провайдеры поддерживают добавление внешних DNSKEY в свой набор DNSKEY RRset. Перед началом миграции multi-signer:
- Убедитесь, что ваш другой провайдер поддерживает multi-signer DNSSEC.
- Убедитесь, что они могут добавить ZSK Cloudflare в свои записи DNSKEY.
- По возможности проверяйте конфигурацию в среде, отличной от продакшена.
Некоторые сторонние провайдеры могут не поддерживать необходимую функциональность.
Тщательно тестируйте
Multi-signer DNSSEC подразумевает согласование криптографических ключей между несколькими провайдерами. Перед развёртыванием в продакшене:
- Убедитесь, что оба провайдера добавили ZSK друг друга в свои наборы записей DNSKEY (RRset).
- Убедитесь, что обе записи DS присутствуют у регистратора.
- Используйте инструменты проверки DNSSEC, чтобы протестировать резолвинг у обоих провайдеров.
- Отслеживайте ошибки проверки в течение переходного периода.