Microsoft CA
Для настройки работы Indeed Certificate Manager с Microsoft Enterprise CA выполните следующие действия:
- Создайте сервисную учетную запись для работы с Microsoft CA
- Выполните настройку шаблонов сертификатов
- Добавьте подготовленные шаблоны сертификатов в список выдаваемых
- Выпустите сертификат Агента регистрации (Enrollment Agent) сервисной учетной записи
Перейдите к инструкции по подключению к центру сертификации Microsoft через компонент Indeed CM MSCA 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) введите имя сервисной учетной записи (serviceca) и нажмите ОК.
- В разделе Разрешения для группы (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),
- ГОСТ-сертификаты для защиты электронной почты и подписи документов.
infoИмя субъекта сертификата будет сформировано из запроса на сертификат.
Атрибуты для формирования имени субъекта (Subject) и альтернативного имени субъекта (Subject Alternative Name) можно указать в Консоли управления: Конфигурация→Политики→Настройки PKI→Microsoft→Шаблоны.На вкладке Безопасность (Security) нажмите Добавить... (Add...).
- В поле Введите имена выбираемых объектов (Enter the object names to select) введите имя сервисной учетной записи (serviceca) и нажмите ОК.
- В разделе Разрешения для группы (Permissions for) установите флажок Разрешить (Allow) для привилегий Чтение (Read) и Заявка (Enroll).
cautionВыдайте аналогичные разрешения сервисной учетной записи для всех шаблонов сертификатов, которые будут использоваться в 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
– имя сервисной учетной записи для работы с центрами сертификации (serviceca);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”
Выполните вход в систему под сервисной учетной записью (serviceca) и откройте оснастку Сертификаты (Certificates) пользователя (certmgr.msc).
Запустите мастер выпуска нового сертификата.
Выберите тип сертификата Агент регистрации (Enrollment Agent), разверните окно подробной информации и перейдите в Свойства (Properties).
Перейдите на вкладку Закрытый ключ (Private key), разверните меню Параметры ключа (Key options) и включите опцию Сделать закрытый ключ экспортируемым (Make private key exportable).
Переместите выпущенный сертификат и его закрытый ключ в хранилище сертификатов компьютера, на котором развернут сервер Indeed CM.
Выдайте сервисному пользователю (serviceca) права на чтение закрытого ключа сертификата Агент регистрации (Enrollment Agent).
- Перейдите в оснастку Сертификаты (Certificates) компьютера и нажмите правой кнопкой мыши на сертификате.
- Выберите Все задачи (All tasks)→Управление закрытыми ключами... (Manage Private Keys...).
- Нажмите Добавить (Add), укажите сервисную учетную запись (serviceca).
- Выставите право Полный доступ (Full control).
- Нажмите Применить (Apply).
Подключение к Microsoft CA через Indeed CM MS CA Proxy
Indeed Certificate Manager может взаимодействовать с центрами сертификации Microsoft, которые находятся за пределами домена сервера Indeed CM. Например, конфигурация с несколькими независимыми доменами с самостоятельными центрами сертификации в каждом, а Indeed CM развернут только в одном из этих доменов.
При выпуске сертификата Indeed CM обращается к Indeed CM MS CA Proxy, а тот, используя сертификат Агента Регистрации, передает запрос на целевой центр сертификации.
Приложение MS CA Proxy можно установить только на систему под управлением ОС Windows. Системные требования для установки совпадают с требованиями для установки серверных компонентов.
Выберите инструкцию по установке и настройке приложения MS CA Proxy в зависимости от операционной системы, где установлен сервер Indeed CM:
- ОС Windows
- ОС Linux
- Создайте во внешнем для системы домене сервисную учетную запись для работы с центром сертификации Microsoft.
- Настройте для сервисной учетной записи шаблон Агент регистрации и выпустите для этой учетной записи сертификат по этому шаблону. Сертификат Агент регистрации должен располагаться в Хранилище сертификатов рабочей станции (Local computer), на которой установлен компонент Indeed CM MS CA Proxy.
- Установите компонент IndeedCM.MSCA.Proxy-<номер версии>.x64.ru-ru.msi из каталога IndeedCM.WindowsServer дистрибутива системы на рабочую станцию в домене с внешним УЦ.
- Запустите редактор Блокнот от имени администратора и откройте файл конфигурации MS CA Proxy — C:\inetpub\wwwroot\cm\mscaproxy\Web.config.
- В секции
caProxySettings
укажите :
- Имя центра сертификации в параметре
ca
в форматеCAMachineName\CAName
, где:CAMachineName
– DNS-имя сервера с ролью центра сертификации.CAName
– имя центра сертификации.
- Данные учетной записи (логин и пароль), обладающей сертификатом Агент регистрации в параметрах
userName
иpassword
. - Отпечаток (Thumbprint) сертификата Агент регистрации в параметре
enrollmentAgentCertificateThumbprint
.<caProxySettings ca="servercm.external.com\EXTERNAL-CA" userName="EXTERNAL\serviceca" password="p@ssw0rd"
enrollmentAgentCertificateThumbprint="dbd1859d27395860843643ebe17e2ee3fc463aba"/>
- Задайте параметры аутентификации. Для подключения Windows-сервера Indeed CM к приложению MS CA Proxy используется аутентификация Windows. В параметре
allow users
укажите сервисную учетную запись из домена, где установлен Indeed CM MSCA Proxy.<authentication mode="Windows" />
<authorization>
<deny users="?" />
<allow users="EXTERNAL\serviceca" />
<deny users="*" />
</authorization> - Сохраните изменения в файле и закройте файл конфигурации.
- Перезапустите пул приложения Indeed CM MS CA Proxy, чтобы сохранить изменения:
- Откройте Диспетчер служб IIS (Internet Information Services Manager) и в левом меню выберите Пул приложений IIS (Application pools).
- Выберите приложение Indeed CM MS CA Proxy и в правом меню нажмите Перезапуск (Recycle).
- Создайте во внешнем для системы домене сервисную учетную запись для работы с центром сертификации Microsoft.
- Настройте для сервисной учетной записи шаблон Агент регистрации и выпустите для этой учетной записи сертификат по этому шаблону. Сертификат Агент регистрации должен располагаться в Хранилище сертификатов рабочей станции (Local computer), на которой установлен компонент Indeed CM MS CA Proxy.
- Установите компонент IndeedCM.MSCA.Proxy-<номер версии>.x64.ru-ru.msi из каталога IndeedCM.LinuxServer дистрибутива системы на рабочую станцию в домене с внешним УЦ.
- Запустите редактор Блокнот от имени администратора и откройте файл конфигурации MS CA Proxy — C:\inetpub\wwwroot\cm\mscaproxy\Web.config.
- В секции
caProxySettings
укажите :
- Имя центра сертификации в параметре
ca
в форматеCAMachineName\CAName
, где:CAMachineName
– DNS-имя сервера с ролью центра сертификации.CAName
– имя центра сертификации.
- Данные учетной записи (логин и пароль), обладающей сертификатом Агент регистрации в параметрах
userName
иpassword
. - Отпечаток (Thumbprint) сертификата Агент регистрации в параметре
enrollmentAgentCertificateThumbprint
.<caProxySettings ca="servercm.external.com\EXTERNAL-CA" userName="EXTERNAL\serviceca" password="p@ssw0rd"
enrollmentAgentCertificateThumbprint="dbd1859d27395860843643ebe17e2ee3fc463aba"/>
- Задайте параметры аутентификации. Для подключения Linux-сервера Indeed CM к MS CA Proxy используется аутентификация по сертификатам.
- В секции
appSettings
укажите значение True в параметреauthorizeByCertificate
. В параметреallowedCertificateThumbprints
укажите отпечаток клиентского сертификата, разрешенного к предъявлению сервером Indeed CM.<appSettings>
<add key="authorizeByCertificate" value="true" />
<add key="allowedCertificateThumbprints" value="aba8b93d73343f2182e3c1c40482b2ae2d75b6ec" />
</appSettings> - Укажите значение None в параметре
authentication
и закомментируйте секциюauthorization
.<authentication mode="None" />
<!--
<authorization>
<deny users="?"/>
<allow users="*" />
<deny users="*" />
</authorization>
-->cautionУбедитесь, что выполнены следующие требования для аутентификации по сертификатам в ОС Linux:
- поле Улучшенный ключ (Enhanced Key Usage) сертификата содержит значение Проверка подлинности клиента (Client Authentication).
- сертификат установлен в хранилище сертификатов сервера Indeed CM.
- Сохраните изменения в файле и закройте файл конфигурации.
- Настройте MS CA Proxy для приема сертификатов клиента - сервера Indeed CM. Для этого откройте Диспетчер служб IIS (Internet Information Services Manager) и выполните следующие действия:
- Выберите приложение MS CA Proxy и перейдите в Параметры SSL (SSL Settings).
- В списке Сертификаты клиента (Client certificates) выберите значение Принимать (Accept).
- Перезапустите пул приложения Indeed CM MS CA Proxy, чтобы сохранить изменения. В левом меню выберите Пул приложений IIS (Application pools). Выберите приложение Indeed CM MS CA Proxy и в правом меню нажмите Перезапуск (Recycle).