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


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

Авторы: Jitesh Thakur, Meera Mohideen, технические консультанты в группе Windows. Инженер поддержки Ankit Tyagi из группы Windows

Сводка

В этой статье приведены пошаговые инструкции по реализации веб-службы политики регистрации сертификатов (CEP) и веб-службы регистрации сертификатов (CES) на пользовательском порту, отличном от 443 для продления ключа сертификата, чтобы воспользоваться функцией автоматического продления CEP и CES.

В этой статье также объясняется, как работает CEP и CES и предоставляет рекомендации по настройке.

Примечание.

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

Отказ от ответственности. Эта настройка создается для определенного требования, в котором вы не хотите использовать порт 443 для связи по умолчанию HTTPS для серверов CEP и CES. Хотя эта настройка возможна, она имеет ограниченную поддержку. Клиентская служба и поддержка смогут помочь вам наилучшим образом, если вы будете тщательно следовать этому руководству, минимально отклоняясь от предоставленной конфигурации веб-сервера.

Сценарий

В этом примере инструкции основаны на среде, которая использует следующую конфигурацию:

  • Лес Contoso.com с инфраструктурой открытых ключей службы Active Directory Certificate Services (AD CS).

  • Два экземпляра CEP/CES, настроенные на одном сервере, использующем служебную учетную запись. Одна инстанция использует имя пользователя и пароль для первоначальной регистрации. Другой использует проверку подлинности на основе сертификатов для продления на основе ключей только в режиме продления.

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

  • Подключение пользователя к CEP и CES через HTTPS происходит на пользовательском порту, например 49999. (Этот порт выбирается из динамического диапазона портов и не используется в качестве статического порта любой другой службой.)

  • Когда срок действия сертификата подходит к концу, компьютер использует обновление ключа CES на основе сертификата для продления сертификата через тот же канал.

развёртывание

Инструкции по настройке конфигурации

Обзор

  1. Настройте шаблон для обновления на основе ключей.

  2. При необходимости настройте сервер CEP и CES для проверки подлинности имени пользователя и пароля. В этой среде экземпляр называется "CEPCES01".

  3. Настройте другой экземпляр CEP и CES с помощью PowerShell для проверки подлинности на основе сертификатов на том же сервере. Экземпляр CES использует служебную учетную запись.

    В этой среде мы называем экземпляр "CEPCES02". Используемая учетная запись службы — cepcessvc.

  4. Настройте параметры на стороне клиента.

Конфигурация

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

Примечание.

Вы также можете настроить любую учетную запись службы пользователя, MSA, или GMSA, чтобы CES работала.

Необходимо настроить CEP и CES на сервере с помощью проверки подлинности имени пользователя и пароля.

Настройка шаблона для обновления на основе ключей

Вы можете дублировать существующий шаблон компьютера и настроить следующие параметры шаблона:

  1. На вкладке "Имя субъекта" шаблона сертификата убедитесь, что выбраны параметры "Указать в запросе" и использовать сведения о субъекте из существующих сертификатов для автоматического продления запросов. Новые шаблоны

  2. Перейдите на вкладку "Требования к выдаче" и установите флажок утверждения диспетчера сертификатов ЦС . Требования к выпуску

  3. Назначьте разрешение на чтение и регистрацию учетной записи службы cepcessvc для этого шаблона.

  4. Опубликуйте новый шаблон в ЦС.

Примечание.

Убедитесь, что параметры совместимости шаблона имеют значение Windows Server 2012 R2 , так как существует известная проблема, из-за которой шаблоны не отображаются, если для совместимости задано значение Windows Server 2016 или более поздней версии. Дополнительные сведения см. в статье "Не удается выбрать шаблоны сертификатов, совместимые с Windows Server 2016 или более поздними версиями для ЦС или CEP-серверов".

Настройка экземпляра CEPCES01

Шаг 1. Установка экземпляра

Чтобы установить экземпляр CEPCES01, используйте один из следующих методов.

Метод 1

Пошаговые инструкции по включению CEP и CES для проверки подлинности имени пользователя и пароля см. в следующих статьях:

Руководство по веб-службе политики регистрации сертификатов

Руководство по регистрации сертификатов для веб-службы

Примечание.

Убедитесь, что параметр "Включить Key-Based обновление" не выбран, если вы настраиваете экземпляры CEP и CES для аутентификации с использованием имени пользователя и пароля.

Метод 2

Для установки экземпляров CEP и CES можно использовать следующие командлеты PowerShell:

Import-Module ServerManager
Add-WindowsFeature Adcs-Enroll-Web-Pol
Add-WindowsFeature Adcs-Enroll-Web-Svc
Install-AdcsEnrollmentPolicyWebService -AuthenticationType Username -SSLCertThumbprint "sslCertThumbPrint"

Эта команда устанавливает веб-службу политики регистрации сертификатов (CEP), указав, что имя пользователя и пароль используются для проверки подлинности.

Примечание.

В этой команде <SSLCertThumbPrint — это отпечаток> сертификата для привязки к IIS.

Install-AdcsEnrollmentWebService -ApplicationPoolIdentity -CAConfig "CA1.contoso.com\contoso-CA1-CA" -SSLCertThumbprint "sslCertThumbPrint" -AuthenticationType Username

Эта команда устанавливает веб-службу регистрации сертификатов (CES) для использования центра сертификации для имени компьютера CA1.contoso.com и общего имени contoso-CA1-CA. Идентификатор CES указывается в качестве идентификатора пула приложений по умолчанию. Тип проверки подлинности — имя пользователя. SSLCertThumbPrint — это отпечаток сертификата для привязки IIS.

Шаг 2. Проверка консоли диспетчера служб IIS

После успешной установки вы увидите следующий экран в консоли диспетчера служб Интернета (IIS). Снимок экрана: консоль диспетчера служб Internet Information Services.

В разделе "Веб-сайт по умолчанию" выберите ADPolicyProvider_CEP_UsernamePassword, а затем откройте параметры приложения. Запишите идентификатор и универсальный код ресурса (URI).

Вы можете добавить название для удобства для управления.

Настройка экземпляра CEPCES02

Шаг 1. Установите CEP и CES для обновления на основе ключей на том же сервере.

Выполните следующую команду в PowerShell:

Install-AdcsEnrollmentPolicyWebService -AuthenticationType Certificate -SSLCertThumbprint "sslCertThumbPrint" -KeyBasedRenewal

Эта команда устанавливает веб-службу политики регистрации сертификатов (CEP) и указывает, что сертификат используется для проверки подлинности.

Примечание.

В этой команде <SSLCertThumbPrint> — это отпечаток сертификата, который необходимо привязать к IIS.

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

Install-AdcsEnrollmentWebService -CAConfig "CA1.contoso.com\contoso-CA1-CA" -SSLCertThumbprint "sslCertThumbPrint" -AuthenticationType Certificate -ServiceAccountName "Contoso\cepcessvc" -ServiceAccountPassword (read-host "Set user password" -assecurestring) -RenewalOnly -AllowKeyBasedRenewal

Эта команда устанавливает веб-службу регистрации сертификатов (CES) для использования центра сертификации для имени компьютера CA1.contoso.com и общего имени contoso-CA1-CA.

В этой команде в качестве учетной записи службы указывается удостоверение веб-службы регистрации сертификатов cepcessvc. Тип проверки подлинности — сертификат. SSLCertThumbPrint — это отпечаток сертификата для привязки IIS.

Командлет RenewalOnly позволяет CES работать только в режиме продления. Командлет AllowKeyBasedRenewal также указывает, что CES принимает запросы на продление, основанные на ключах, для сервера регистрации. Это действительные клиентские сертификаты для аутентификации, которые не сопоставляются напрямую с субъектом безопасности.

Примечание.

Учетная запись службы должна быть частью группы IIS_IUSRS на сервере.

Шаг 2. Проверка консоли диспетчера IIS

После успешной установки вы увидите следующее отображение в консоли диспетчера IIS. Диспетчер IIS

Выберите KeyBasedRenewal_ADPolicyProvider_CEP_Certificate в разделе "Веб-сайт по умолчанию " и откройте параметры приложения. Запишите идентификатор и универсальный код ресурса (URI). Вы можете добавить название для удобства для управления.

Примечание.

Если экземпляр установлен на новом сервере, дважды проверьте идентификатор, чтобы убедиться, что идентификатор совпадает с идентификатором, созданным в экземпляре CEPCES01. Можно скопировать и вставить значение непосредственно, если оно отличается.

Полная конфигурация веб-служб регистрации сертификатов

Чтобы зарегистрировать сертификат для функциональных возможностей CEP и CES, необходимо настроить учетную запись компьютера рабочей группы в Active Directory, а затем настроить ограниченное делегирование в учетной записи службы.

Шаг 1. Создание учетной записи компьютера рабочей группы в Active Directory

Эта учетная запись используется для аутентификации при продлении сертификата на основе ключей и опции "Публиковать в Active Directory" в шаблоне сертификата.

Примечание.

Вам не нужно присоединять клиентский компьютер к домену.

Новый объект

Шаг 2. Настройка учетной записи службы для ограниченного делегирования (S4U2Self)

Выполните следующую команду PowerShell, чтобы включить ограниченное делегирование (S4U2Self или любой протокол проверки подлинности):

Get-ADUser -Identity cepcessvc | Set-ADAccountControl -TrustedToAuthForDelegation $True
Set-ADUser -Identity cepcessvc -Add @{'msDS-AllowedToDelegateTo'=@('HOST/CA1.contoso.com','RPCSS/CA1.contoso.com')}

Примечание.

В этой команде <cepcessvc> — это учетная запись службы, а <CA1.contoso.com> — центр сертификации.

Это важно

Мы не включаем флаг RENEWALONBEHALOF на ЦС в этой конфигурации, так как используем ограниченное делегирование для выполнения той же задачи. Это позволяет нам избежать добавления разрешения для учётной записи службы в систему безопасности ЦС.

Шаг 3. Настройка пользовательского порта на веб-сервере IIS
  1. В консоли диспетчера IIS выберите веб-сайт по умолчанию.

  2. В области действий выберите "Изменить привязку сайта".

  3. Измените параметр порта по умолчанию с 443 на пользовательский порт. На снимке экрана показан параметр порта 49999. Изменение порта

Шаг 4. Изменение объекта служб регистрации Центра сертификации (ЦС) в Active Directory
  1. На контроллере домена откройте adsiedit.msc.

  2. Подключитесь к разделу конфигурации и перейдите к объекту служб регистрации УЦ:

    CN=ENTCA,CN=Услуги по регистрации,CN=Службы открытых ключей,CN=Услуги,CN=Конфигурация,DC=contoso,DC=com

  3. Щелкните правой кнопкой мыши и измените объект CA. Измените атрибут msPKI-Enrollment-Servers, используя пользовательский порт и URI ваших серверов CEP и CES, найденные в параметрах приложения. Рассмотрим пример.

    140https://cepces.contoso.com:49999/ENTCA_CES_UsernamePassword/service.svc/CES0
    181https://cepces.contoso.com:49999/ENTCA_CES_Certificate/service.svc/CES1
    

    Изменение ADSI

Настройте клиентский компьютер.

На клиентском компьютере настройте политики регистрации и политику автоматической регистрации. Для этого выполните следующие действия.

  1. Выберите Пуск>Выполнить, а затем введите gpedit.msc.

  2. Перейдите к конфигурации компьютера>настройкам Windows>параметрам безопасности, и выберите Политики открытых ключей.

  3. Включите клиент служб сертификатов — политику автоматической регистрации для сопоставления параметров на следующем снимке экрана. Групповая политика сертификата

  4. Включение клиента служб сертификатов — политика регистрации сертификатов.

    a. Нажмите кнопку "Добавить" , чтобы добавить политику регистрации и введите универсальный код ресурса (URI) CEP с именем пользователяPassword , который мы редактировали в ADSI.

    б. Для типа проверки подлинности выберите имя пользователя и пароль.

    с. Задайте приоритет 10, а затем проверьте сервер политики. Снимок экрана, на котором показано, где задать приоритет.

    Примечание.

    Убедитесь, что номер порта добавляется в URI и разрешен в брандмауэре.

  5. Зарегистрируйте первый сертификат для компьютера с помощью certlm.msc. Снимок экрана, на котором показано, где выбрать политику регистрации сертификатов.

    Выберите шаблон KBR и зарегистрируйте сертификат. Снимок экрана, на котором показано, где выбрать шаблон K B R.

  6. Снова откройте gpedit.msc . Измените клиент служб сертификатов — политику регистрации сертификатов, а затем добавьте политику регистрации на основе ключей:

    a. Нажмите кнопку "Добавить", введите URI CEP с сертификатом , который мы редактировали в ADSI.

    б. Задайте приоритет 1, а затем проверьте сервер политики. Вам будет предложено выполнить проверку подлинности и выбрать сертификат, который мы зарегистрировали изначально.

    Политика регистрации

Примечание.

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

Тестирование установки

Чтобы убедиться, что автоматическое продление работает, убедитесь, что обновление вручную выполняется путем продления сертификата с тем же ключом с помощью mmc. Кроме того, вам будет предложено выбрать сертификат при продлении. Вы можете выбрать сертификат, который мы зарегистрировали ранее. Ожидается подсказка.

Откройте хранилище персональных сертификатов компьютера и добавьте представление архивированных сертификатов. Для этого добавьте оснастку учетной записи локального компьютера в mmc.exe, выделите сертификаты (локальный компьютер) щелчком мыши, нажмите просмотр на вкладке действий справа или в верхней части mmc, выберите параметры отображения, отметьте "Архивированные сертификаты" и нажмите "ОК".

Метод 1

Выполните следующую команду:

certreq -machine -q -enroll -cert <thumbprint> renew

Метод 2

Перенагрузите время и дату на клиентском компьютере до времени продления шаблона сертификата.

Например, шаблон сертификата имеет 2-дневный параметр срока действия и настроенный параметр продления 8 часов. Пример сертификата был выдан в 4:00 утра 18-го дня месяца, истекает в 4:00 утра 20-го дня. Подсистема автоматической регистрации запускается при перезапуске и примерно каждые 8 часов.

Таким образом, если вы продвинете время до 8:10 вечера 19-го числа, так как наше окно продления было установлено на 8-часовой интервал в шаблоне, при запуске программы Certutil с ключом -pulse (чтобы активировать подсистему AE) регистрирует для вас сертификат.

команда

После завершения теста верните параметр времени на исходное значение, а затем перезапустите клиентский компьютер.

Примечание.

На предыдущем снимке экрана представлен пример, который демонстрирует, что подсистема автоматической регистрации работает как положено, поскольку дата ЦС по-прежнему установлена на 18-е. Поэтому он продолжает выдавать сертификаты. В реальных условиях такое большое количество обновлений не произойдет.

Ссылки

Руководство по лабораторным испытаниям: Демонстрация продления сертификата Key-Based

Веб-службы регистрации сертификатов

Install-AdcsEnrollmentPolicyWebService

Install-AdcsEnrollmentWebService

См. также

Форум по безопасности Windows Server

Часто задаваемые вопросы о инфраструктуре открытых ключей (PKI) служб сертификатов Active Directory (AD CS)

Справочник по документации по Windows PKI и библиотека

Блог по PKI Для Windows

Как настроить ограниченное делегирование Kerberos (S4U2Proxy или только Kerberos) в пользовательской учетной записи службы для страниц прокси веб-регистрации