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

Как запретить контроллерам домена регистрировать сертификат «аутентификации Kerberos»?

Согласно этот вопрос, У меня есть среда, в которой сертификаты на основе шаблона «Проверка подлинности Kerberos» не могут быть выданы (есть удаленные сайты без прямого подключения к ЦС, регистрация сертификатов использует CEP / CES, но шаблон проверки подлинности Kerberos требует, чтобы ЦС подключился обратно к запрашивающий DC; подробности в связанном вопросе).

Мы можем жить без этих сертификатов ... но все контроллеры домена продолжают запрашивать их, когда включена автоматическая регистрация.

Я попытался отключить шаблон, но контроллеры домена продолжают пытаться и терпят неудачу с ошибкой «Запрошенный шаблон сертификата не поддерживается этим ЦС».

Как я могу указать контроллерам домена запрашивать только сертификат «Проверка подлинности контроллера домена» и прекратить попытки получить сертификат «Проверка подлинности Kerberos»?

Для этой проблемы может быть два входа:

Часть 1: Замещение шаблона

В настройках шаблона сертификата (certtmpl.msc), Там есть Замененные шаблоны вкладка, где вы можете указать список шаблонов, которые заменяются текущим шаблоном. Этот параметр используется только функцией автоматической подачи заявок на сертификат.

Во время автоматической регистрации клиент проверяет каждый шаблон и проверяет, указан ли текущий шаблон как * заменено * в любом другом шаблоне. Если он присутствует в списке, текущий шаблон пропускается. Это поведение определено в [MS-CAESO] спецификации протокола, §4.4.5.6.1:

4.4.5.6.1 Определение допустимости экземпляра CertificateTemplate для автоматической регистрации Если какие-либо условия в следующем списке верны, автоматическая регистрация НЕ ДОЛЖНА обрабатывать новую регистрацию для конкретного экземпляра CertificateTemplate.

<...> пропущено для краткости

  • В списке CertificateEnrollmentPolicy.Templates существует экземпляр CertificateTemplate, чей список CertificateTemplate.SupersededTemplates содержит значение, равное текущему CertificateTemplate.CommonName

 

Примечание: В 2014 году документ [MS-CAESO] был удален, а его содержимое было перенесено в спецификации ряда других протоколов, и я не пытался отслеживать этот шаг. Учитывая, что с тех пор ничего не изменилось, вы можете использовать заархивированную копию документа в формате PDF: Архивная копия в формате PDF [MS-CAESO].

Это отвечает на первую половину вопроса: почему разрешенный шаблон автоматической регистрации не регистрируется автоматически. Таким образом, проверьте, не настроен ли ни один из шаблонов для замены Domain Controller Authentication шаблон. Если есть, удалите его из заменяемого списка.

И проверьте, если Domain Controller Authentication добавляется для выдачи в ЦС, который включен для регистрации через Интернет.

Часть 2: Кэш MS-XCEP

Когда клиенты используют веб-службы регистрации сертификатов (Microsoft CEP / CES), они делают следующее:

  1. Подключитесь к службе политик регистрации (CEP) и запросите политику.
  2. CEP аутентифицирует клиента и считывает все шаблоны сертификатов из Active Directory, где аутентифицированный объект имеет как минимум Read разрешения.
  3. CEP связывается с центрами сертификации, чтобы получить список шаблонов, разрешенных каждым центром сертификации, и составляет ответ, как указано в [MS-XCEP] §3.1.4.1.3.23

В ответном сообщении есть nextUpdateHours который:

Целое число, представляющее количество часов, которые сервер рекомендует клиенту подождать перед отправкой другого сообщения GetPolicies.

Значение по умолчанию - 8 часов. Клиент кэширует этот ответ и не может пытаться запросить новую политику с обновленным списком шаблонов в течение этого периода времени. Хотя есть логическое policiesNotChanged поле, которое клиенты могут использовать для опроса об изменениях, но на практике я могу сказать, что клиенты не выполняют опрос. Вместо этого они используют этот бит, чтобы определить, следует ли заменять кэшированную политику или нет. Это только мое мнение, потому что любые изменения в политике имеют большую задержку для клиентов.

Либо подождите не менее 8 часов и посмотрите, будет ли проблема решена автоматически, когда клиенты получат новую политику с сервера CEP, либо попытайтесь принудительно получить политику:

Удалить все содержимое из %systemdrive%\ProgramData\Microsoft\Windows\X509Enrollment на целевом компьютере (DC), а затем запустите

certutil -pulse

для запуска автоматической регистрации. Во время этого вызова будет загружена новая политика, и автоматическая регистрация должна выбрать правильный шаблон.