Сервисные сертификаты
Cоздайте и выпустите SSL/TLS-сертификаты для настройки защищенного соединения с сервисами Indeed CM:
- сертификат серверной аутентификации для веб-сервера и сервера OpenID Connect;
- сертификат клиентской аутентификации для дополнительных сервисов Indeed CM Event Log Proxy и Indeed AirCard Enterprise.
Серверный сертификат
Cоздайте и выпустите SSL/TLS-сертификат для настройки защищенного соединения с веб-сайтом, где расположен Indeed CM. Используйте тот же сертификат в качестве сертификата подписи для настройки OpenID Connect.
Требования к сертификату
- Субъект (Subject) сертификата должен содержать FQDN сервера Indeed CM.
- Дополнительное имя субъекта (Subject Alternative Name) сертификата должно содержать атрибут DNS-имя (DNS Name) (FQDN сервера Indeed CM), например, server.demo.local, или соответствующую запись с подстановочными знаками, например *.demo.local (Wildcard certificate).
- Улучшенный ключ (Enhanced Key Usage) сертификата серверной аутентификации должен содержать значение «Проверка подлинности сервера» (Server Authentication).
Создание шаблона сертификата
Подготовьте шаблон сертификата. В инструкции описана настройка шаблона сертификата в УЦ Microsoft CA.
- В оснастке управления УЦ certsrv правой кнопкой мыши нажмите на Шаблоны сертификатов (Certificate Templates) и выберите Управление (Manage).
- Скопируйте предустановленный шаблон Веб-сервер (Web Server) – правой кнопкой мыши нажмите на название шаблона и выберите Скопировать шаблон (Duplicate Template). Откроется окно свойств нового шаблона.
- На вкладке Общие (General) укажите имя шаблона сертификата. При необходимости укажите период действия сертификата и период обновления.
- На вкладке Обработка запроса (Request Handling) включите опцию Разрешить экспортировать закрытый ключ (Allow private key to be exported).
- На вкладке Шифрование (Cryptography) измените минимальный размер ключа при необходимости.
- На вкладке Безопасность (Security) укажите имя сервера для запроса сертификата:
- Нажмите Добавить (Add)→Типы объектов (Object Types), включите опцию Компьютеры (Computers) и нажмите ОК.
- Введите имя сервера, где расположен Indeed CM, и нажмите ОК.
- В списке разрешений напротив опции Заявка (Enroll) включите Разрешить (Allow), чтобы разрешить запрос сертификата.
- Нажмите Применить (Apply) и ОК.
- Опубликуйте созданный шаблон сертификата:
- Перейдите в оснастку управления УЦ certsrv.
- Правой кнопкой мыши нажмите на Шаблоны сертификатов (Certificate Templates) и выберите Создать (New)→Выдаваемый шаблон сертификата (Certificate Template to Issue).
- В окне Включение шаблонов сертификатов (Enable Certificate Templates) выберите созданный шаблон. Шаблон опубликуется в УЦ.
- Закройте certsrv.
Выпуск сертификата
Выпустите TLS-сертификат на имя рабочей станции, где будет установлен веб-сервер. Сертификат можно выпустить:
- в УЦ;
- с помощью самоподписанного сертификата.
- УЦ
- Cамоподписанный сертификат
В инструкции описан процесс выпуска сертификата в УЦ Microsoft CA.
- Откройте оснастку certs и перейдите в раздел хранилища локального компьютера Сертификаты (локальный компьютер) (Certificates (Local Computer)).
- Правой кнопкой мыши нажмите Личное (Personal).
- Выберите Все задачи (All Tasks)→Запросить новый сертификат (Request New Certificate).
- В окне Регистрация сертификатов (Certificate Enrollment) два раза нажмите Далее (Next) и активируйте чекбокс с названием шаблона сертификата.
- Нажмите на ссылку Требуется больше данных для подачи заявки на этот сертификат. Щелкните здесь для настройки параметров (More information is required to enroll for this certificate. Click here to configure settings), чтобы указать дополнительную информацию для запроса сертификата. Откроется окно свойств сертификата.
- На вкладке Субъект (Subject):
- В поле Имя субъекта (Subject name) в выпадающем списке Тип (Type) выберите Общее имя (Common name).
- Введите FQDN сервера Indeed CM и нажмите Добавить (Add).
- В поле Дополнительное имя (Alternative name) в выпадающем списке Тип (Type) выберите DNS.
- Введите FQDN сервера Indeed CM и нажмите Добавить (Add).
- При необходимости создайте маску имени домена для Wildcard сертификатов, которые предъявляют серверы с различными именами. В поле Дополнительное имя (Alternative name) в выпадающем списке Тип (Type) выберите DNS и введите имя домена, например, *.demo.local. Нажмите Добавить (Add).
- Нажмите OK.
- Перейдите на вкладку Закрытый ключ (Private Key)→Параметры ключа (Key Options) и убедитесь, что опция Сделать закрытый ключ экспортируемым (Make private key exportable) включена. Нажмите OK.
- Нажмите Заявка (Enroll).
Сертификат выпущен и установлен в хранилище локального компьютера (Сертификаты (Certificates)→Личное (Personal)→Сертификаты (Certificates)) с назначением «Проверка подлинности сервера» (Server Authentication).
Установка сертификата на ОС Linux
Чтобы перенести и установить сертификат на рабочие станции под управлением ОС Linux, экспортируйте сертификат и разделите его на файл сертификата и файл закрытого ключа:
Выпустите сертификат в УЦ по инструкции выше.
Правой кнопкой мыши нажмите на сертификат и выберите Все задачи (All Tasks)→Экспорт (Export). Откроется мастер экспорта сертификатов.
Нажмите Далее (Next), выберите Да, экспортировать закрытый ключ (Yes, export the private key) и два раза нажмите Далее (Next).
Установите пароль – включите опцию Пароль (Password), введите и подтвердите пароль. Нажмите Далее (Next).
Выберите папку для экспорта сертификата.
Нажмите Готово (Finish).
Разделите файл PFX на файл сертификата и файл закрытого ключа. Вместо PFXFILE подставьте имя импортированного файла.
предупреждениеПри выполнении команд утилита openssl предлагает установить пароль для файла закрытого ключа. Оставьте файл без пароля: два раза нажмите Enter.
openssl pkcs12 -in PFXFILE.pfx -nokeys | sed -ne '/-BEGIN CERTIFICATE/,/END CERTIFICATE/p' > SSL.crt
openssl pkcs12 -in PFXFILE.pfx -cacerts -nokeys | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > root-ca.crt
openssl pkcs12 -in PFXFILE.pfx -nocerts -out SSLencrypted.key
openssl rsa -in SSLencrypted.key -out SSL.key
rm SSLencrypted.keyФайл SSL.crt должен содержать следующее:
-----BEGIN CERTIFICATE-----
#Ваш сертификат#
-----END CERTIFICATE-----
Самоподписанный корневой сертификат создается с помощью утилиты openssl.
Создайте закрытый ключ, а затем корневой сертификат с использованием сгенерированного ключа:
openssl genrsa -out ca.key 2048
openssl req -x509 -new -nodes -key ca.key -out ca.crt -days 3650 -subj "/CN=selfCA"Создайте файл конфигурации SSL.conf, который содержит настройки для генерации запроса на сертификат веб-сервера. Вместо
<FQDN сервера Indeed CM>
подставьте DNS-имя рабочей станции, где будет установлен веб-сервер.nano SSL.conf
Пример содержимого файла SSL.conf
[ req ]
default_bits = 2048
encrypt_key = no
default_md = sha256
utf8 = yes
string_mask = utf8only
prompt = no
distinguished_name = req_distinguished_name
req_extensions = req_ext
[ req_distinguished_name ]
commonName = <FQDN сервера Indeed CM>
[ req_ext ]
subjectAltName = @alt_names
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
basicConstraints = CA:FALSE
extendedKeyUsage = serverAuth
[alt_names]
DNS.1 = <FQDN сервера Indeed CM>Создайте утилитой openssl запрос на сертификат и выпустите сертификат для веб-сервера с помощью самоподписанного сертификата:
openssl genrsa -out SSL.key 2048
openssl req -new -sha256 -out SSL.csr -key SSL.key -config SSL.conf
openssl x509 -req -days 365 -in SSL.csr -CA ca.crt -CAkey ca.key -CAcreateserial -extfile SSL.conf -extensions req_ext -out SSL.crt
Клиентский сертификат
Сервер Indeed CM может выступать в качестве клиента для дополнительных сервисов Indeed CM Event Log Proxy и Indeed AirCard Enterprise.
В этом случае сервер Indeed CM должен иметь сертификат клиентской аутентификации, чтобы получить доступ к сервисам.
Требования к сертификату
- Субъект (Subject) сертификата должен содержать FQDN сервера Indeed CM;
- Улучшенный ключ (Enhanced Key Usage) сертификата должен содержать значение «Проверка подлинности клиента» (Client Authentication).
Создание шаблона сертификата
Подготовьте шаблон сертификата. В инструкции описана настройка шаблона сертификата в УЦ Microsoft CA.
- В оснастке управления УЦ certsrv правой кнопкой мыши нажмите на Шаблоны сертификатов (Certificate Templates) и выберите Управление (Manage).
- Скопируйте предустановленный шаблон Проверка подлинности рабочей станции (Workstation Authentication) – правой кнопкой мыши нажмите на название шаблона и выберите Скопировать шаблон (Duplicate Template). Откроется окно свойств нового шаблона.
- На вкладке Общие (General) укажите имя шаблона сертификата. При необходимости укажите период действия сертификата и период обновления.
- На вкладке Обработка запроса (Request Handling) включите опцию Разрешить экспортировать закрытый ключ (Allow private key to be exported).
- На вкладке Шифрование (Cryptography) измените минимальный размер ключа при необходимости.
- На вкладке Безопасность (Security) укажите имя сервера для запроса сертификата:
- Нажмите Добавить (Add)→Типы объектов (Object Types), включите опцию Компьютеры (Computers) и нажмите ОК.
- Введите имя сервера, где будет расположен Indeed CM, и нажмите ОК.
- В списке разрешений напротив опции Заявка (Enroll) включите Разрешить (Allow), чтобы разрешить запрос сертификата.
- Нажмите Применить (Apply) и ОК.
- Опубликуйте созданный шаблон сертификата:
- Перейдите в оснастку управления УЦ certsrv.
- Правой кнопкой мыши нажмите на Шаблоны сертификатов (Certificate Templates) и выберите Создать (New)→Выдаваемый шаблон сертификата (Certificate Template to Issue).
- В окне Включение шаблонов сертификатов (Enable Certificate Templates) выберите созданный шаблон. Шаблон опубликуется в УЦ.
- Закройте certsrv.
Выпуск сертификата
Выпустите TLS-сертификат на имя сервера Indeed CM.
- в УЦ;
- с помощью самоподписанного сертификата.
- УЦ
- Cамоподписанный сертификат
В инструкции описан процесс выпуска сертификата в УЦ Microsoft CA.
- Откройте оснастку certs и перейдите в раздел хранилища локального компьютера Сертификаты (локальный компьютер) (Certificates (Local Computer)).
- Правой кнопкой мыши нажмите Личное (Personal).
- Выберите Все задачи (All Tasks)→Запросить новый сертификат (Request New Certificate).
- В окне Регистрация сертификатов (Certificate Enrollment) два раза нажмите Далее (Next) и активируйте чекбокс с названием шаблона сертификата.
- Нажмите на ссылку Требуется больше данных для подачи заявки на этот сертификат. Щелкните здесь для настройки параметров (More information is required to enroll for this certificate. Click here to configure settings), чтобы указать дополнительную информацию для запроса сертификата. Откроется окно свойств сертификата.
- На вкладке Субъект (Subject):
- В поле Имя субъекта (Subject name) в выпадающем списке Тип (Type) выберите Общее имя (Common name).
- Введите FQDN сервера Indeed CM и нажмите Добавить (Add).
- В поле Дополнительное имя (Alternative name) в выпадающем списке Тип (Type) выберите DNS.
- Введите FQDN сервера Indeed CM и нажмите Добавить (Add).
- При необходимости создайте маску имени домена для Wildcard сертификатов, которые предъявляют серверы с различными именами. В поле Дополнительное имя (Alternative name) в выпадающем списке Тип (Type) выберите DNS и введите имя домена, например, *.demo.local. Нажмите Добавить (Add).
- Нажмите OK.
- Перейдите на вкладку Закрытый ключ (Private Key)→Параметры ключа (Key Options) и убедитесь, что включена опция Сделать закрытый ключ экспортируемым (Make private key exportable). Нажмите OK.
- Нажмите Заявка (Enroll).
Сертификат выпущен и установлен в хранилище локального компьютера (Сертификаты (Certificates)→Личное (Personal)→Сертификаты (Certificates)) с назначением «Проверка подлинности рабочей станции» (Client Authentication).
Установка сертификата на ОС Linux
Чтобы перенести и установить сертификат на рабочие станции под управлением ОС Linux, экспортируйте сертификат и разделите его на файл сертификата и файл закрытого ключа:
Выпустите сертификат в УЦ по инструкции выше.
Правой кнопкой мыши нажмите на сертификат и выберите Все задачи (All Tasks)→Экспорт (Export). Откроется мастер экспорта сертификатов.
Нажмите Далее (Next), выберите Да, экспортировать закрытый ключ (Yes, export the private key) и два раза нажмите Далее (Next).
Установите пароль – включите опцию Пароль (Password), введите и подтвердите пароль. Нажмите Далее (Next).
Выберите папку для экспорта сертификата.
Нажмите Готово (Finish).
Разделите файл PFX на файл сертификата и файл закрытого ключа. Вместо PFXFILE подставьте имя импортированного файла.
предупреждениеПри выполнении команд утилита openssl предлагает установить пароль для файла закрытого ключа. Оставьте файл без пароля: два раза нажмите Enter.
openssl pkcs12 -in PFXFILE.pfx -nokeys | sed -ne '/-BEGIN CERTIFICATE/,/END CERTIFICATE/p' > client.crt
openssl pkcs12 -in PFXFILE.pfx -cacerts -nokeys | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > root-ca.crt
openssl pkcs12 -in PFXFILE.pfx -nocerts -out clientencrypted.key
openssl rsa -in clientencrypted.key -out client.key
rm clientencrypted.keyФайл client.crt должен содержать следующее:
-----BEGIN CERTIFICATE-----
#Ваш сертификат#
-----END CERTIFICATE-----
Самоподписанный корневой сертификат создается с помощью утилиты openssl.
Создайте закрытый ключ, а затем корневой сертификат с использованием сгенерированного ключа:
openssl genrsa -out ca.key 2048
openssl req -x509 -new -nodes -key ca.key -out ca.crt -days 3650 -subj "/CN=selfCA"Создайте файл конфигурации client.conf, который содержит настройки для генерации запроса на сертификат. Вместо
<FQDN сервера Indeed CM>
подставьте DNS-имя рабочей станции, где установлен сервер Indeed CM.nano client.conf
Пример файла client.conf
[ req ]
default_bits = 2048
encrypt_key = no
default_md = sha256
utf8 = yes
string_mask = utf8only
prompt = no
distinguished_name = req_distinguished_name
req_extensions = req_ext
[ req_distinguished_name ]
commonName = <FQDN сервера Indeed CM>
[ req_ext ]
subjectAltName = @alt_names
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
basicConstraints = CA:FALSE
extendedKeyUsage = clientAuth
[alt_names]
DNS.1 = <FQDN сервера Indeed CM>Создайте утилитой openssl запрос на сертификат и выпустите сертификат с помощью самоподписанного сертификата:
openssl genrsa -out client.key 2048
openssl req -new -sha256 -out client.csr -key client.key -config client.conf
openssl x509 -req -days 365 -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -extfile client.conf -extensions req_ext -out client.crt