Microsoft CA
Для настройки работы Indeed Certificate Manager с Microsoft Enterprise CA:
- Создайте сервисную учетную запись для работы с Microsoft CA.
- Настройте шаблоны сертификатов.
- Добавьте подготовленные шаблоны сертификатов в список выдаваемых.
- Выпустите сертификат Агента регистрации (Enrollment Agent) сервисной учетной записи.
Перейдите к инструкции по подключению к центру сертификации Microsoft через компонент Indeed CM MS CA Proxy, если:
- центр сертификации Microsoft располагается за пределами домена, в котором развернут сервер Indeed CM под управлением ОС Windows;
- сервер Indeed CM установлен на ОС Linux.
Создание сервисной учетной записи для работы с Microsoft CA
Создайте сервисную учетную запись, от имени которой Indeed CM будет запрашивать сертификаты пользователей в центре сертификации (ЦС):
- Создайте учетную запись пользователя в Active Directory.
- Откройте оснастку Центр сертификации (Certification Authority), выберите ЦС и перейдите в его Свойства (Properties).
- На вкладке Безопасность (Security) нажмите Добавить (Add) и укажите имя созданной учетной записи.
- Задайте разрешение Выдача и управление сертификатами (Issue and Manage Certificates). Разрешение Запросить сертификаты задано по умолчанию.
- Нажмите ОК, чтобы сохранить настройки.
Включите разрешение Управлять ЦС (Manage CA), чтобы иметь возможность Публиковать список отозванных сертификатов при настройке шаблонов сертификатов для ЦС.
Если вы планируете использовать Indeed CM с несколькими ЦС, сервисная учетная запись должна иметь одинаковый набор привилегий для всех ЦС.
Настройка шаблонов сертификатов
Настройте шаблон сертификата Агент регистрации (Enrollment Agent) и шаблоны сертификатов пользователей.
Агент Регистрации
Для работы Microsoft CA с Indeed CM необходим шаблон сертификата Агент регистрации (Enrollment Agent).
Cертификат Агент регистрации (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.
Например, создайте и настройте шаблон сертификата пользователя Вход со смарт-картой (Smartсard Logon), который будет использоваться для выпуска сертификатов, предназначенных для входа в операционную систему по смарт-карте:
Откройте консоль управления Центр сертификации (Certification Authority).
Перейдите в раздел Шаблоны сертификатов (Certificate Templates), нажмите правой кнопкой мыши и выберите Управление (Manage).
Нажмите правой кнопкой мыши по шаблону Вход со смарт-картой (Smartсard 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 (значение по умолчанию).
- Выберите Политики применения (Application Policy) из списка В подписи требуется указать тип политики (Policy type required in signature).
- Выберите Агент запроса сертификата (Certificate Request Agent) из списка Политика применения (Application Policy).
- Выберите параметр Тех же уcловий, что и для регистрации (Same criteria as for enrollment) в разделе Требовать для повторной регистрации (Require the following for reenrollment).
Перейдите на вкладку Имя субъекта (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).
- Выберите Полное различающееся имя (Fully distinguished name) из списка Формат имени субъекта (Subject name format).
- Установите флажок Имя субъекта-пользователя (UPN) (User principal name (UPN)).
- Снимите флажки с опций Включить имя электронной почты в имя субъекта (Include e-mail name in subject name) и Имя электронной почты (E-mail name), если по данному шаблону будут выпускаться сертификаты для пользователей, у которых не указан адрес электронной почты в Active Directory.
Выберите Предоставляется в запросе (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, чтобы от его имени Indeed CM запрашивал и подписывал запросы на сертификаты для всех остальных пользователей.
Сертификат можно создать:
- с помощью утилиты Cm.CertEnroll.MsCA;
- в диспетчере сертификатов пользователя.
- Cm.CertEnroll.MsCA
- Диспетчер сертификатов
Утилита Cm.CertEnroll.MsCA находится в каталоге IndeedCM.WindowsServer\Misc дистрибутива Indeed CM.
Для выпуска сертификата с назначением Enrollment Agent запустите от имени учетной записи с правами локального администратора на сервере Indeed CM утилиту 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.demo.local\Indeed-Demo-CA
Certificate has been enrolled successfully.
Если запрос на сертификат должен быть одобрен оператором удостоверяющего центра (УЦ), то утилита предложит принять запрос и продолжить работу, указав при этом порядковый номер запроса и имя ключевого контейнера:
CA: msca.demo.local\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.demo.local\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.demo.local\Indeed-Demo-CA”
Выполните вход в систему под сервисной учетной записью и откройте оснастку Сертификаты (Certificates) пользователя (certmgr.msc).
Запустите мастер выпуска нового сертификата.
Выберите тип сертификата Агент регистрации (Enrollment Agent), разверните окно подробной информации и перейдите в Свойства (Properties).
Перейдите на вкладку Закрытый ключ (Private key), разверните меню Параметры ключа (Key options) и включите опцию Сделать закрытый ключ экспортируемым (Make private key exportable).
Переместите выпущенный сертификат и его закрытый ключ в хранилище сертификатов компьютера, на котором развернут сервер Indeed CM.
Выдайте сервисному пользователю права на чтение закрытого ключа сертификата Агент регистрации (Enrollment Agent).
- Перейдите в оснастку Сертификаты (Certificates) компьютера и нажмите правой кнопкой мыши на сертификате.
- Выберите Все задачи (All tasks)→Управление закрытыми ключами... (Manage Private Keys...).
- Нажмите Добавить (Add), укажите сервисную учетную запись.
- Выставите право Полный доступ (Full control).
- Нажмите Применить (Apply).
Подключение к Microsoft CA через Indeed CM MS CA Proxy
Indeed Certificate Manager может взаимодействовать с ЦС Microsoft, которые находятся за пределами домена сервера Indeed CM, с помощью компонента Indeed CM MS CA Proxy.
Примеры конфигурации:
- в инфраструктуре есть несколько независимых доменов с самостоятельными ЦС в каждом, и Indeed CM развернут только в одном из этих доменов;
- Indeed CM развернут на внедоменном сервере под управлением ОС Linux и используется для запроса и выпуска сертификатов в домене с Microsoft CA.
При выпуске сертификата Indeed CM обращается к Indeed CM MS CA Proxy, а тот, используя сертификат Агента Регистрации, передает запрос на целевой ЦС.
Приложение MS CA Proxy можно установить только на систему под управлением ОС Windows. Системные требования для установки совпадают с требованиями для установки серверных компонентов.
Установка и настройка
Создайте во внешнем для системы домене сервисную учетную запись для работы с ЦС Microsoft.
Настройте для сервисной учетной записи шаблон Агент регистрации и выпустите для этой учетной записи сертификат по этому шаблону. Сертификат Агент регистрации должен располагаться в Хранилище сертификатов рабочей станции (Local computer), на которую устанавливается компонент Indeed CM MS CA Proxy.
Установите Indeed CM MS CA Proxy на рабочую станцию в домене с внешним УЦ: откройте каталог IndeedCM.Server дистрибутива системы и запустите Мастер установки 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
укажите отпечаток сертификата Агент регистрации. Убедитесь, что поле Улучшенный ключ (Enhanced Key Usage) сертификата содержит значение «Проверка подлинности клиента» (Client Authentication), и сертификат установлен в хранилище сертификатов сервера Indeed CM."authSettings": {
"authorizeByCertificate": "true",
"allowedCertificateThumbprints": "aba8b93d73343f2182e3c1c40482b2ae2d75b6ec"
}Сохраните изменения и закройте файл appsettings.json.
Перезапустите пул приложения Indeed CM MS CA Proxy, чтобы сохранить изменения:
- Откройте Диспетчер служб IIS (Internet Information Services Manager) и в левом меню выберите Пул приложений IIS (Application pools).
- Выберите приложение Indeed CM MS CA Proxy и в правом меню нажмите Перезапуск (Recycle).