Microsoft CA
Чтобы настроить работу Indeed CM с Microsoft Enterprise CA:
- Создайте сервисную учетную запись.
- Подготовьте шаблоны сертификатов.
- Добавьте шаблоны сертификатов в список выдаваемых.
- Выпустите сертификат Агента регистрации (Enrollment Agent) сервисной учетной записи.
Перейдите к инструкции по подключению к центру сертификации Microsoft через компонент Indeed CM MS CA Proxy, если:
- Microsoft Enterprise CA располагается за пределами домена, в котором находится сервер Indeed CM на ОС Windows.
- Сервер Indeed CM установлен на ОС Linux.
Создание сервисной учетной записи
Создайте сервисную учетную запись, от имени которой Indeed CM будет создавать запросы на сертификаты пользователей в Microsoft CA. Если вы планируете использовать Indeed CM с несколькими центрами сертификации (ЦС), сервисная учетная запись должна иметь одинаковый набор привилегий для всех ЦС.
- Создайте учетную запись пользователя в Active Directory.
- Откройте оснастку Центр сертификации (Certification Authority), выберите ЦС и перейдите в его Свойства (Properties).
- На вкладке Безопасность (Security) нажмите Добавить (Add) и укажите имя созданной учетной записи.
- Задайте разрешение Выдача и управление сертификатами (Issue and Manage Certificates). Разрешение Запросить сертификаты задано по умолчанию.
Если вы планируете использовать Indeed CM с несколькими центрами сертификации (ЦС), сервисная учетная запись должна иметь одинаковый набор привилегий для всех ЦС. - Нажмите ОК.
Включите разрешение Управлять ЦС (Manage CA), чтобы иметь возможность Публиковать список отозванных сертификатов при настройке шаблонов сертификатов для Microsoft CA в Indeed CM.
Подготовка шаблонов сертификатов
Настройте шаблон сертификата Агент регистрации (Enrollment Agent) и шаблоны сертификатов пользователей.
Агент Регистрации
Сертификат Агент регистрации (Enrollment Agent) – это обязательный сертификат, который позволяет создавать запросы на сертификаты от имени конечных пользователей по шаблонам сертификатов, которые будут использоваться в Indeed CM.
Сертификат Агент регистрации (Enrollment Agent) добавляется в Indeed CM только один раз и выдается только на имя сервисной учетной записи.
Убедитесь, что сертификат Агент регистрации не добавлен в политики использования устройств, иначе пользователи будут иметь возможность самостоятельно подписывать сертификаты в УЦ, что создает угрозу безопасности.
Чтобы создать шаблон сертификата Агент регистрации:
- Откройте консоль управления Центр сертификации (Certification Authority).
- Перейдите в раздел Шаблоны сертификатов (Certificate Templates), нажмите правой кнопкой мыши и выберите Управление (Manage).
- Нажмите правой кнопкой мыши по шаблону Агент регистрации (Enrollment Agent) и выберите Скопировать шаблон (Duplicate Template).
- В окне Свойства нового шаблона перейдите на вкладку Общие (General) и в поле Отображаемое имя шаблона (Template display name) введите Indeed Enrollment Agent. Измените Период действия (Validity period) в соответствии с потребностями вашей организации.
- На вкладке Шифрование (Cryptography) в поле Минимальный размер ключа (Minimum key size) укажите необходимую длину ключа. Рекомендуемая длина ключа – 2048 бит.
- На вкладке Расширения (Extensions) выберите расширение Политики применения (Application Policies) и нажмите Изменить... (Edit...)..
- Нажмите Добавить... (Add...) в появившемся окне.
- Из списка политик применения выберите Проверка подлинности клиента (Client Authentication) и нажмите ОК.
- На вкладке Безопасность (Security) нажмите Добавить... (Add...).
- В поле Введите имена выбираемых объектов (Enter the object names to select) введите имя сервисной учетной записи и нажмите ОК.
- В разделе Разрешения для группы (Permissions for) установите Разрешить (Allow) для привилегий Чтение (Read) и Заявка (Enroll).
- Нажмите ОК, чтобы сохранить настройки шаблона.
Сертификаты пользователей
Подготовьте шаблоны сертификатов для различных назначений (политик применения), которые будут использоваться для выпуска сертификатов конечным пользователям Indeed CM.
Например, создайте и настройте шаблон сертификата пользователя Вход со смарт-картой (Smartcard Logon) для выпуска сертификатов, предназначенных для входа в операционную систему по смарт-карте.
Откройте консоль управления Центр сертификации (Certification Authority).
Перейдите в раздел Шаблоны сертификатов (Certificate Templates), нажмите правой кнопкой мыши и выберите Управление (Manage).
Нажмите правой кнопкой мыши по шаблону Вход со смарт-картой (Smartcard Logon) и выберите Скопировать шаблон (Duplicate Template).
Перейдите на вкладку Общие (General) и в поле Отображаемое имя шаблона (Template display name) введите Indeed Smart Сard Logon. Измените Период действия (Validity period) и Период обновления (Renewal period) в соответствии с потребностями вашей организации.
На вкладке Шифрование (Cryptography) в поле Минимальный размер ключа (Minimum key size) укажите необходимую длину ключа.
Подробнее о минимальном размере ключа
Минимальный размер ключа можно настроить для Microsoft CA 2008/2008R2 и выше. В предыдущих версиях минимальный размер ключа настраивается на вкладке Обработка запроса (Request Handling).
Обратите внимание на размер ключей шифрования, указанный в свойствах шаблонов сертификатов. Чтобы снизить риск несанкционированного доступа к конфиденциальной информации, компания Microsoft выпустила обновление KB 2661254 для всех поддерживаемых версий Microsoft Windows. Это обновление блокирует криптографические ключи меньше 1024 бит. Обновление не относится к Windows 8 (и выше) или Windows Server 2012 (и выше), т.к. эти операционные системы блокируют ключи RSA меньше 1024 бит.
На вкладке Требования выдачи (Issuance Requirements):
- Включите опцию Одобрения диспетчера сертификатов ЦС (CA certificate manager approval).
- Включите опцию Указанного числа авторизованных подписей (This number of authorized signatures) и укажите число подписей, равное 1 (значение по умолчанию).
- Из списка В подписи требуется указать тип политики (Policy type required in signature) выберите Политики применения (Application Policy).
- Из списка Политика применения (Application Policy) выберите Агент запроса сертификата (Certificate Request Agent).
- В разделе Требовать для повторной регистрации (Require the following for reenrollment) выберите параметр Тех же уcловий, что и для регистрации (Same criteria as for enrollment).
Перейдите на вкладку Имя субъекта (Subject Name). В зависимости от назначения сертификата выберите следующие настройки:
- Строится на основе данных Active Directory
- Предоставляется в запросе
Выберите Строится на основе данных Active Directory (Build from this Active Directory information), если по этому шаблону будут формироваться сертификаты с назначением «Вход со смарт-картой» (SmartCard Logon, OID 1.3.6.1.4.1.311.20.2) и «Проверка подлинности клиента» (Client Authentication, OID 1.3.6.1.5.5.7.3.2).
- Из списка Формат имени субъекта (Subject name format) выберите Полное различающееся имя (Fully distinguished name).
- Включите опцию Имя субъекта-пользователя (UPN) (User principal name (UPN)).
- Если по этому шаблону будут выпускаться сертификаты для пользователей, у которых не указан адрес электронной почты в Active Directory, отключите опции Включить имя электронной почты в имя субъекта (Include e-mail name in subject name) и Имя электронной почты (E-mail name).
Выберите Предоставляется в запросе (Supply in the request), если по этому шаблону будут формироваться следующие сертификаты:
- Сертификаты для защиты электронной почты (электронная подпись, шифрование) с назначением «Защита электронной почты» (Secure Email, OID 1.3.6.1.5.5.7.3.4)
- Сертификаты с назначением «Подпись документов» (Document Signing, OID 1.3.6.1.4.1.311.10.3.12)
- ГОСТ-сертификаты для защиты электронной почты и подписи документов
ПримечаниеИмя субъекта сертификата формируется из запроса на сертификат.
Атрибуты для формирования имени субъекта (Subject) и альтернативного имени субъекта (Subject Alternative Name) можно указать в Консоли управления: Конфигурация → Политики → Настройки PKI → Microsoft → Шаблоны.На вкладке Безопасность (Security) нажмите Добавить... (Add...).
- В поле Введите имена выбираемых объектов (Enter the object names to select) введите имя сервисной учетной записи и нажмите ОК.
- В разделе Разрешения для группы (Permissions for) установите Разрешить (Allow) для привилегий Чтение (Read) и Заявка (Enroll).
предупреждениеВыдайте аналогичные разрешения сервисной учетной записи для всех шаблонов сертификатов, которые будут использоваться в Indeed CM.
Нажмите ОК, чтобы сохранить настройки шаблона.
Добавление шаблонов сертификатов
- Откройте консоль управления Центр сертификации (Certification Authority) и дважды нажмите на имя ЦС.
- Нажмите правой кнопкой мыши на контейнере Шаблоны сертификатов (Certificate Templates).
- Выберите команду Создать (New), а затем пункт Выдаваемый шаблон сертификата (Certificate Template to Issue).
- Выберите шаблон обязательного сертификата Indeed Enrollment Agent, а также все остальные шаблоны сертификатов (например, Indeed Smart Card Logon), которые будут выпускаться конечным пользователям системы.
- Нажмите ОК.
Выпуск сертификата Агент регистрации
Сервисный пользователь с сертификатом Агент регистрации (Enrollment Agent) необходим, чтобы от его имени Indeed CM создавал и подписывал запросы на сертификаты для всех остальных пользователей.
Сертификат можно создать следующими способами:
- С помощью утилиты Cm.CertEnroll.MsCA
- В оснастке Сертификаты (Certificates) пользователя (certmgr.msc)
- Cm.CertEnroll.MsCA
- Certmgr.msc
Откройте консоль Powershell от имени администратора на сервере Indeed CM и перейдите в каталог IndeedCM.WindowsServer\Misc\certenrollmsca.
Запустите утилиту Cm.CertEnroll.MsCA.exe с параметрами
/e userName passwordи/t templateName, где:userName– имя сервисной учетной записи для работы с ЦСpassword– пароль сервисной учетной записиtemplateName– имя шаблона сертификата Агент регистрации. Убедитесь, что поле Улучшенный ключ (Extended Key Usage) сертификата содержит значение «Агент запроса сертификата» (Certificate Request Agent)
ПримерCm.CertEnroll.MsCA.exe /e serviceca p@ssw0rd /t=”IndeedEnrollmentAgent”Результат работы утилитыCA: msca.domain.loc\Indeed-Demo-CA
Certificate has been enrolled successfully.Если запрос на сертификат должен одобрить оператор удостоверяющего центра (УЦ), то утилита предложит принять запрос и укажет порядковый номер запроса и имя ключевого контейнера.
ПримерCA: msca.domain.loc\Indeed-Demo-CA
Certificate request is pending.
Request id: 27
Container name: lr-IndeedEnrollmentAgent-175d9490-7481-4a29-b567-503d39747354
Please accept request and then install certificate.После одобрения запроса в УЦ установите сертификат в хранилище сертификатов компьютера: запустите утилиту Cm.CertEnroll.MsCA.exe с параметром
/i userName password requestId containerName, где:userName– имя сервисной учетной записи для работы с ЦСpassword– пароль сервисной учетной записиrequestId– порядковый номер запроса на сертификатcontainerName– имя ключевого контейнера
ПримерCm.CertEnroll.MsCA.exe /i serviceca p@ssw0rd 27 lr-IndeedEnrollmentAgent-175d9490-7481-4a29-b567-503d39747354
CA: msca.domain.loc\Indeed-Demo-CA
Certificate has been installed successfully.В результате работы утилиты в хранилище сертификатов компьютера, на котором установлен сервер Indeed CM, появится сертификат с назначением «Агент запроса сертификатов» (Enrollment Agent) с экспортируемым закрытым ключом и настроенными правами на управление закрытым ключом для учетной записи сервисного пользователя.
Если вам необходимо выпустить сертификат Агент регистрации (Enrollment Agent) с определенного ЦС (например, если в домене несколько ЦС), запустите утилиту с параметром
/c, в котором укажите имя ЦС в форматеCAMachineName\CAName, где:CAMachineName– DNS-имя сервера с ролью ЦСCAName– имя ЦС
Пример запуска утилиты с указанием ЦСCm.CertEnroll.MsCA.exe /e serviceca p@ssw0rd /t=”IndeedEnrollmentAgent” /c=”msca.domain.loc\Indeed-Demo-CA”
Войдите в систему от имени сервисной учетной записи и откройте оснастку Сертификаты (Certificates) пользователя: в меню Пуск выберите Выполнить (Win+R) и введите
certmgr.msc.Нажмите правой кнопкой мыши на хранилище Личное и выберите Все задачи → Запросить новый сертификат.
Два раза нажмите Далее.
Выберите тип сертификата Агент регистрации (Enrollment Agent), разверните окно Подробности (Details) и перейдите в Свойства (Properties).

Перейдите на вкладку Закрытый ключ (Private key), разверните меню Параметры ключа (Key options) и включите опцию Сделать закрытый ключ экспортируемым (Make private key exportable).
Установите выпущенный сертификат и его закрытый ключ в хранилище сертификатов компьютера на сервере Indeed CM и выдайте сервисной учетной записи права на чтение закрытого ключа сертификата Агент регистрации (Enrollment Agent).
Как установить сертификат и выдать права на чтение закрытого ключа
Подключение к Microsoft CA через Indeed CM MS CA Proxy
Indeed Certificate Manager может взаимодействовать с ЦС Microsoft, которые находятся за пределами домена сервера Indeed CM, с помощью компонента Indeed CM MS CA Proxy. При выпуске сертификата Indeed CM обращается к Indeed CM MS CA Proxy, который использует сертификат Агента Регистрации, чтобы передать запрос на целевой ЦС.
Примеры конфигурации:
- В инфраструктуре есть несколько независимых доменов с самостоятельными ЦС в каждом, и Indeed CM находится только в одном из этих доменов.
- Indeed CM находится на внедоменном сервере под управлением ОС Linux и используется для запроса и выпуска сертификатов в домене с Microsoft CA.
Приложение MS CA Proxy можно установить только на систему под управлением ОС Windows.
Системные требования
Установка и настройка Indeed CM MS CA Proxy
Создайте во внешнем для системы домене сервисную учетную запись для работы с Microsoft CA.
Создайте шаблон Агент регистрации и выпустите сертификат для сервисной учетной записи по этому шаблону. Убедитесь, что сертификат Агент регистрации установлен в хранилище Локальный компьютер (Local computer) рабочей станции, на которую устанавливается Indeed CM MS CA Proxy.
Установите Indeed CM MS CA Proxy на рабочую станцию в домене с внешним УЦ: откройте каталог IndeedCM.Server дистрибутива Indeed CM и запустите Мастер установки IndeedCM.MSCA.Proxy-<номер версии>.x64.ru-ru.msi.
В Мастере установки выберите способ аутентификации в зависимости от ОС, где установлен сервер Indeed CM, и укажите необходимые настройки в файлах конфигурации:
- Windows
- Linux
- Выберите способ аутентификации Windows. По завершении установки нажмите Готово и закройте Мастер установки.
- Откройте файл appsettings.json (C:\inetpub\wwwroot\cm\mscaproxy) в редакторе Блокнот от имени администратора.
- В секции
caProxySettingsукажите:
ca– имя ЦС в форматеCAMachineName\CAName, гдеCAMachineName– DNS-имя сервера с ролью ЦС,CAName– имя ЦС.userNameиpassword– логин и пароль учетной записи , обладающей сертификатом Агент регистрации.enrollmentAgentCertificateThumbprint– Отпечаток (Thumbprint) сертификата Агент регистрации.Пример настроек"caProxySettings": {
"ca": "servercm.external.com\\EXTERNAL-CA",
"userName": "EXTERNAL\\serviceca",
"password": "p@ssw0rd",
"enrollmentAgentCertificateThumbprint": "dbd1859d27395860843643ebe17e2ee3fc463aba"
}
- Сохраните изменения и закройте файл appsettings.json.
- Выберите способ аутентификации по сертификату. По завершении установки нажмите Готово и закройте Мастер установки.
- Откройте файл appsettings.json (C:\inetpub\wwwroot\cm\mscaproxy) в редакторе Блокнот от имени администратора.
- В секции
caProxySettingsукажите:
ca– имя ЦС в форматеCAMachineName\CAName, гдеCAMachineName– DNS-имя сервера с ролью ЦС,CAName– имя ЦС.userNameиpassword– логин и пароль учетной записи , обладающей сертификатом Агент регистрации.enrollmentAgentCertificateThumbprint– Отпечаток (Thumbprint) сертификата Агент регистрации.Пример настроек"caProxySettings": {
"ca": "servercm.external.com\\EXTERNAL-CA",
"userName": "EXTERNAL\\serviceca",
"password": "p@ssw0rd",
"enrollmentAgentCertificateThumbprint": "dbd1859d27395860843643ebe17e2ee3fc463aba"
}
В секции
authSettingsв параметреallowedCertificateThumbprintsукажите отпечаток клиентского сертификата, разрешенного к предъявлению сервером Indeed CM. Убедитесь, что поле Улучшенный ключ (Enhanced Key Usage) сертификата содержит значение «Проверка подлинности клиента» (Client Authentication), и сертификат установлен в хранилище сертификатов на сервере Indeed CM.
Как установить сертификатРекомендуется использовать один и тот же сертификат в качестве сертификата Агент регистрации и для клиентской аутентификации.
"authSettings": {
"authorizeByCertificate": "true",
"allowedCertificateThumbprints": "dbd1859d27395860843643ebe17e2ee3fc463aba"
}Сохраните изменения и закройте файл appsettings.json.
Перезапустите пул приложения Indeed CM MS CA Proxy, чтобы сохранить изменения:
- Откройте Диспетчер служб IIS (Internet Information Services Manager) и в левом меню выберите Пул приложений IIS (Application pools).
- Выберите приложение Indeed CM MS CA Proxy и в правом меню нажмите Перезапуск (Recycle).