Поделиться через


Что такое DNSSEC?

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

Принцип работы DNSSEC

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

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

Основные расширения DNSSEC указываются в следующем запросе комментариев (RFCs).

  • RFC 4033. Введение в безопасность DNS и требования безопасности.
  • RFC 4034. Записи ресурсов для расширений безопасности DNS.
  • RFC 4035. Изменения протокола для расширений безопасности DNS.

На следующем рисунке показан пример записей ресурсов DNS для зоны contoso.com до и после подписывания зоны.

Схема, на которой показаны примеры записей ресурсов DNS в зоне contoso.com до и после подписывания DNSSEC зоны.

Дополнительные сведения о каждой из этих записей ресурсов см. в ресурсных записях DNSSEC.

Записи ресурсов DNSSEC

В следующей таблице показаны типы записей ресурсов, используемые с DNSSEC.

Тип записи ресурса Описание
Подпись записи ресурса (RRSIG) Подписи, созданные с помощью DNSSEC, содержатся в записях RRSIG. Каждая запись RRSIG соответствует другой записи в зоне, для которой она предоставляет цифровую подпись. Когда резолвер отправляет запрос на имя, в ответе возвращаются одна или несколько записей RRSIG.
Next Secure (NSEC) Запись NSEC используется для подтверждения отсутствия DNS-имени. Записи NSEC предотвращают спуфинг-атаки, цель которых ввести DNS-клиента в заблуждение, заставив поверить, что DNS-имя не существует.
Next Secure 3 (NSEC3) NSEC3 — это замена или альтернатива NSEC, которая предотвращает прогулку по зонам. Прогулка по зонам — это процесс повторения запросов NSEC, чтобы получить все имена в зоне. DNS-сервер под управлением операционной системы Windows Server 2012 или более поздней версии поддерживает как NSEC, так и NSEC3. Зона может быть подписана с помощью NSEC или NSEC3, но не с обоими.
Следующий параметр Secure 3 (NSEC3PARAM) Запись NSEC3PARAM используется для определения включаемых в ответы записей NSEC3 для несуществующих DNS-имен.
DNS-ключ (DNSKEY) Запись ресурса DNSKEY хранит открытый криптографический ключ, используемый для проверки подписи. Запись DNSKEY используется DNS-сервером во время проверки. Записи DNSKEY могут хранить открытые ключи для ключа подписывания зоны (ZSK) или ключа подписывания ключей (KSK).
Подписыватель делегирования (DS) Запись DS — это тип записи DNSSEC, используемый для защиты делегирования. Записи DS используются для создания цепочек аутентификации в дочерних зонах.

За исключением записи DS, все эти записи добавляются в зону автоматически при подписании с помощью DNSSEC. Запись DS — это специальная запись, которую можно вручную добавить в родительскую зону, чтобы создать безопасное делегирование для дочерней зоны. Например, зона contoso.com может содержать запись DS для secure.contoso.com. Однако эта запись должна быть создана в родительской зоне или создана в дочерней зоне, а затем распространяться в родительскую зону. Запись DS не создается автоматически при подписании зоны.

Записи NSEC или NSEC3 автоматически добавляются в зону во время подписывания зоны. Однако подписанная зона не может содержать записи NSEC и NSEC3. Тип записи (NSEC или NSEC3), добавленный в зону, зависит от настройки подписи зоны. В предыдущем примере зона подписана с помощью NSEC3.

Доверенные якори

Записи ресурсов DNSKEY и DS также называются привязками доверия или точками доверия. Привязка доверия должна распространяться на все неавторитивные DNS-серверы, выполняющие проверку DNSSEC-ответов для подписанной зоны. Если DNS-сервер работает на контроллере домена, привязки доверия хранятся в разделе каталогов леса в службах Active Directory (AD DS) и могут быть реплицированы на все контроллеры домена в лесу. На автономных DNS-серверах привязки доверия хранятся в файле с именем TrustAnchors.dns.

Используйте Windows PowerShell, чтобы просмотреть привязки доверия для зоны с помощью команды Get-DnsServerTrustAnchor . Чтобы просмотреть все текущие точки доверия на сервере, используйте команду Get-DnsServerTrustPoint PowerShell. DNS-сервер под управлением Windows Server 2012 или более поздней операционной системы также отображает настроенные привязки доверия в дереве консоли диспетчера DNS в контейнере "Точки доверия ".

Дальнейшие шаги

Дополнительные сведения о том, как DNSSEC использует записи ресурсов для проверки и защиты ответов DNS, см. в статье "Проверка ответов DNS".