Установка центра сертификации windows server 2019

Всем привет, с вами Искандер Рустамов, младший системный администратор Cloud4Y. Сегодня мы будем покорять развертывание центра сертификации (ЦС). 

Из-за сложной геополитической обстановки резко усилился процесс импортозамещения, появилась необходимость в выстраивании инфраструктуры на базе государственных требований к решениям в области информационной безопасности. Одним из таких решений является организация доступа клиентов к веб-ресурсам через портал nGate по защищённому TLS соединению с использованием шифрования по ГОСТ криптопровайдера «КриптоПро». Для этого необходим собственный центр сертификации. 

В данной статье мы рассмотрим установку Standalone Center Authority на базе Windows Server 2019. Если вам будет интересно, могу описать процесс привязки нашего центра сертификации к порталу nGate (спойлер: на самом деле там нет ничего сложного). 

Вводные данные

КриптоПро NGateэто универсальное высокопроизводительное средство криптографической защиты сетевого трафика, объединяющее в себе функционал:

  • TLS-сервера доступа к веб-сайтам;

  • Сервера портального доступа;

  • VPN-сервера.

NGate обладает широкими возможностями по управлению доступом удалённых пользователей как с обеспечением строгой многофакторной аутентификации, так и прозрачно, обеспечивая при этом гибкое разграничение прав доступа к ресурсам. КриптоПро NGate реализует российские криптографические алгоритмы, сертифицирован по требованиям к СКЗИ, имеет сертификаты ФСБ России по классам КС1, КС2 и КС3 и может использоваться для криптографической защиты конфиденциальной информации, в том числе персональных данных, в соответствии с требованиями российского законодательства по информационной безопасности.

Кроме того, NGate:

  • Снижает нагрузку по обработке TLS-соединений с веб-серверов, позволяя им сосредоточиться на выполнении своих основных задач;

  • Исключает необходимость установки на каждом веб-сервере отдельного СКЗИ и проведения исследований по оценке влияния ПО веб-серверов на СКЗИ.

Процесс настройки

Ранее я не сталкивался с центрами сертификациями. Поскольку ОС Windows Server мне ближе, решил развернуть ЦС с использованием Server Manager. Разворачивать контроллер домена не нужно, так как сертификаты будут выдаваться внешним пользователям. Соответственно, можно обойтись «автономным» центром сертификации, подробнее о нём расскажу позже. 

Перед развертыванием центра сертификации необходимо: 

  • Установить СКЗИ КриптоПро CSP 5.0.12330:

  • Установить КриптоПро ЭЦП Browser plug-in;

Инсталляцию производим через «Дополнительные опции»

  1. Выбираем язык установки, уровень защиты КС1 (другие уровни защиты требуют дополнительных аппаратных средств защиты);

  2. В разделе «Установка компонентов» проверяем, что добавлен «Криптопровайдер уровня ядра ОС»; (рис. 1)

Рисунок 1. Установка дополнительных компонентов «КриптоПро CSP»

Рисунок 1. Установка дополнительных компонентов «КриптоПро CSP»

Криптопровайдер уровня ядра ОС необходим для работы криптопровайдера
в службах и ядре Windows.

3.  В следующем окне оставляем пункты:

  • Зарегистрировать считыватель «Реестр» (позволит сохранять контейнеры ключей в реестр);

  • Усиленный контроль использования ключей;

  • Не разрешать интерактивные сервисы Windows;

4. Также «КриптоПро» предложит добавить сертификаты своих центров сертификации;

5. Устанавливаем, перезагружаемся.

Установка центра сертификации (Standalone CA Windows Server 2019)

Непосредственно перед самой установкой коротко объясню особенности Standalone CA:

  • Не интегрирован с Active Directory (а он нам и не нужен);

  • Публикация сертификатов происходит через запрос на WEB-сайте. Путем автоматического или ручного подтверждения администратором ЦС (ЕМНИП, ЦС предприятия было добавлена такая возможность, не проверял её работу);

  • Пользователь сам вводит идентификационную информацию во время запроса сертификата;

  • Не поддерживает шаблоны сертификатов (из-за этого всплывут некоторые моменты, которые раскрою в процессе развертывания).

Начинаем:

1. Измените имя компьютера до установки роли, после это будет сделать невозможно. «Далее (Next)» (рис.2): 

Рисунок 2. Уведомления при установки роли.

2. Добавляем роль в «Диспетчере серверов» (Server Manager), «Далее (Next)» (рис. 3):

Рисунок 3. Интерфейс «Диспетчера устройств» (Server Manager) 

Рисунок 3. Интерфейс «Диспетчера устройств» (Server Manager) 

2.1. «Установка ролей и компонентов (Add roles and features wizard)». Нажимаем «Далее (Next)» — «Далее (Next)»;

2.2. «Тип установки: Установка ролей и компонентов (Installation type: Role-based or features-based installation». «Далее (Next)»;

2.3. «Выбор сервера (Server selection)». В нашем случае среди предложенных будет один сервер и имя компьютера. «Далее (Next)» (рис. 4);

Рисунок 4. «Выбор сервера (Server selection)»

Рисунок 4. «Выбор сервера (Server selection)»

2.4. «Роли сервера (Server roles). Здесь необходимо отметить две роли: Служба сертификатов Active Directory (Certificate Services Active Directory), Веб-сервер IIS (Web-server IIS);

Во всплывающем окне перечня нажимаем «Добавить компонент (Add features)» — «Далее (Next)»;

2.5. «Компоненты (Features) оставляем как есть — «Далее (Next)» ;

2.6. «Служба ролей (Role Services)» ЦС, необходимо выбрать:

  • «Центр сертификации (Certification Authority)»,

  • «Служба регистрации в центре сертификации через Интернет (Certification Authority Enrollment)»;

Сетевой автоответчик (Online responder) добавим уже после развертывания ЦА, в противном случае могут возникнуть проблемы. 

2.7. В «Служба ролей (Role Services)» веб-сервера оставляем всё предложенное автоматически — «Далее (Next)»;

2.8. «Подтверждение (Confirmation).

На этом этапе запустится процесс установки роли.

3. После установки роли центра сертификации необходимо его настроить
(рис. 5). Выбираем: 

3.1. «Настроить службы сертификатов Active Directory (Configure Active Directory-Certificate Services)

Рисунок 5. Уведомление о необходимости настройки центра сертификации

Рисунок 5. Уведомление о необходимости настройки центра сертификации

3.2. Указываем учетные данные. Так как мы развертываем Standalone центр сертификации, не нужно состоять в группе «Администраторов предприятия (Enterprise Administrators)» — «Далее (Next)»;

3.3. Выбираем установленные службы ролей для настройки (Select role services to configure) ЦС: «Центр сертификации (Certification Authority)», «Служба регистрации в центре сертификации через Интернет (Certification Authority Enrollment)»;

3.3.1. При выборе центра сертификации появится окно выбора ключевого носителя – КриптоПРО CSP, в качестве носителя для создания контейнера cngWorkAround используем хранилище ключей реестра Windows – Реестр. (рис. 6)

Рисунок 6. Выбор ключевого носителя – КриптоПРО CSP

Рисунок 6. Выбор ключевого носителя – КриптоПРО CSP

3.4. Указываем вариант установки ЦС (Specify the setup type of the CA):
Автономный центр сертификации (Standalone CA). «Далее (Next)»;

3.5. Указываем тип ЦС (Specify the type of CA) – Корневой ЦС (Root CA). «Далее (Next)»;

3.6. Необходимо создать закрытый ключ ЦС, чтобы он мог создавать и выдавать их клиентам. Для этого выбираем «Создать новый закрытый ключ (Create a new private key)».

В качестве поставщика службы шифрования выбираем один из трёх предложенных (не забывайте, что 2001 год уже устарел) Crypto-Pro GOST R 34.10-2012 Strong Cryptographic Service Provider с длиной 512 и открытого ключа 1024 бита. (рис.7)

И обязательно подтверждаем: «Разрешить взаимодействие с администратором, если ЦС обращается к закрытому ключу (Allow administrator interaction when the private key is accessed by the CA)»;

Рисунок 7. Выбор криптопровайдера

Рисунок 7. Выбор криптопровайдера

3.7. Укажите имя центра сертификации и суффиксы различающего имени, данные суффиксы будут отображаться в составе сертификата в графе «Издатель (Issuer)».

СN = Certificate Name, O = Organization, L = Locale, S = Street, C = Country, E = E-mail; (рис. 8)

3.8. Указываем необходимый «срок годности (validaty period)» корневого сертификата (в нашем случае было выбрано 15 лет). «Далее (Next)»;

3.9. Указываем расположение баз данных сертификатов (certificate database location). «Далее (Next)»;

3.10. В окне «Подтверждения (Confirmation) сверяем введённую информацию — «Настроить (Configure)»

3.11. Появится окно выбора носителя для создания контейнера нашего ЦС.

Где хранятся сами контейнеры ключей:

1. Реестр: (в качестве хранилища ключей используется реестр Windows), путь хранения контейнеров ключей следующий:

Ключи компьютера: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\CryptoPro\Settings\Keys

Ключи пользователя ОС: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\CryptoPro\Settings\Users\SID-пользователя\Keys 

В некоторых случаях (было замечено в виртуальных машинах) сертификат попадает сюда: HKEY_USERS\S-1-5-21-{SID}_Classes\VirtualStore\MACHINE\SOFTWARE\[Wow6432Node]\

CryptoPro\Settings\USERS\{SID-пользователя}\Keys\ //

2. Директория: (в качестве хранилища ключей используется директория на жёстком диске), путь хранения контейнеров ключей следующий: C:\Users\All Users\Crypto Pro\Crypto

3.12. Далее откроется окно генерации начальной последовательности с помощью биологического ДСЧ. Для генерации случайной последовательности перемещайте указатель мыши или нажимайте различные клавиши. 

3.13. После введите пароль на доступ к закрытому ключу.

3.14. Далее появится окно результатов об успешной установке компонентов (рис. 8)

Рис.8. Результаты установки

Рис.8. Результаты установки

Настройка веб-сервера IIS

Теперь необходимо выполнить некоторые настройки веб-сервера: прицепить сертификат (самоподписанный или выпущенный нашим же ЦА). Кстати, он уже работает. В качестве примера выпустим самоподписанный сертификат.

1. Откроем Диспетчер служб IIS (Manager IIS) — Сертификат сервера (Server Certificates) (рис. 9);

1.1. В открывшемся окне в панели «Действия (Actions)» выберем – «Создать самоподписанный сертификат (Create Self-Signed Certificate);

1.2. Выбираем тип «Личный (Personal) и указываем «Имя сертификата (Friendly Name)»

1.3. Теперь необходимо привязать этот сертификат для доступа по https к веб-серверу.

1.3.1. Переходим «Сайты (Sites)» — Default Web Site – Bindings – добавить (Add) — выбрать https – и выбрать самоподписанный SSL-сертификат.

Рисунок 9. Диспетчер служб IIS (IIS Manager)

Рисунок 9. Диспетчер служб IIS (IIS Manager)

Также сертификат вы можете выпустить следующим образом:
На этой же панели создайте запрос (Create certificate request) для выпуска сертификата через наш ЦА и дальнейшей его загрузки в IIS (Complete Certificate Request). Но это по желанию.

Пример запроса (request) для формирования запроса вручную

[NewRequest]
Subject="CN=ИмяСертификата ,O=Организация, L=Город, S=Улица, C=Страна, E=Почта"
ProviderName="Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider"
ProviderType=80
KeySpec=1
Exportable = TRUE
KeyUsage=0xf0
MachineKeySet=true
RequestType=Cert
SMIME=FALSE
ValidityPeriod=Years
ValidityPeriodUnits=2
[EnhancedKeyUsageExtension]
OID=1.3.6.1.5.5.7.3.1

В целом с веб-сервером мы закончили, в default web site вы можете увидеть, что были автоматически созданы virtual directory и applications «CertSrv». При желании можно создать отдельную виртуальную директорию под CRL’ки.

Установка сетевого ответчика (Online responder)

А вот мы и вернулись к установке автоответчика.

1. Добавляем роль в «Диспетчере серверов» (Server Manager) — «Далее (Next)» 

1.1. Установка ролей и компонентов (Add roles and features wizard)» — «Далее (Next)»;

1.2. «Роли сервера (Server roles), раскрываем роль: Служба сертификатов Active Directory (Certificate Services Active Directory); и устанавливаем галочку на «Сетевой ответчик» (Online Responder) 

1.3. Завершаем работу с мастером ролей и компонентов, путём односмысленных нажатий «Далее (Next)».

В IIS была добавлена Applications: ocsp. Только не пугайтесь, что сама по себе директория пустая. Так и должно быть. 

Нам осталось настроить центр сертификации и выпустить сертификат на OCSP.

Настройка центра сертификации

1. В «Диспетчере серверов (Server manager)» — выбираем «Служба сертификации Active Directory (AD CS) – правой клавишей по вашему серверу и открываем: «Центр сертификации (Certification Authority).

1.1. Вы попали в оснастку управления центром сертификации: certsrv.

1.2. Выбираем ваш центр сертификации и открываем свойства (рис. 10):

Рисунок 10. Настройка центра сертификации. Оснастка управления центром сертификации certsrv.

Рисунок 10. Настройка центра сертификации. Оснастка управления центром сертификации certsrv.

1.3. Следующим важным шагом выступает настройка точек распространения CDP и AIA.

Authority Information Access (AIA) — содержит ссылки на корневой сертификат центра сертификации (Certification Authority)

CRL Distribution Point — содержит ссылки на файлы CRL, которые периодически публикует сервер CA, который издал рассматриваемый сертификат. Этот файл содержит серийные номера и прочую информацию о сертификатах, которые были отозваны. (рис. 11)

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

1.4. В разделе свойства переходим в «Расширения (Extensions):

 Удаляем ненужные точки распространения и оставляем локальную и внешнюю ссылку для CDP:

http://<ip_address/dns_name>/CertSrv/CertEnroll/<CaName><CRLNAmeSuffix><DeltaCRLAllowed>.crl

Ставим галочки «Включить в CRL. Включить в CDP (Include in CRL. Include in the CDP)».

AIA:

http://<ip_address/dns_name>/CertSrv/CertEnroll/<ServerDNSName>_<CaName><CertificateName>.crt

Ставим галочку: «Включать в AIA- расширение выданных сертификатов (Include in the AIA extension of issued certificates)»

OCSP:

https://<ip_address/dns_name>/ocsp

Ставим галочку: «Включать в расширение протокола OCSP (Include in the online certificate status protocol (OCSP) extension)»

Рисунок 11. Настройка точек распространения AIA и CRL

В свойствах центра сертификации можно настроить автоматический выпуск сертификатов при поступившем запросе. Так вы исключаете возможность проверки указанных требуемых полей сертификатов. Для этого перейдите в «Модуль политик (Policy Module)» — «Свойства (Properties)» и выберите соответствующий пункт:

В первом случае сертификату присваивается режим ожидания, а одобрение выпуска сертификата остается за администратором;

Во втором случае из-за отсутствия шаблонов в Standalone CA сертификаты будут выпускаться автоматически. (рис. 12)

Рисунок 12. Дополнительные настройки ЦС для автоматического выпуска сертификатов

Да, центр сертификации уже функционирует и доступен по указанному dns-имени. Не забудьте открыть 80 и 443 порты для функционирования веб-сервера и online-reposnder’a, настройкой которого мы займёмся далее.

Проверить работу ЦС вы можете, перейдя в ChromiumGost или Internet Explorer или Edge (с поддержкой Internet Explorer(IE)): https://localhost/CertSrv.

При переходе по ссылке извне в IE необходимо добавить наш веб-сервер в «Надежные сайты (Trusted Sites)» в настройках в пункте «Безопасность».  Не забудьте, что должен быть установлен КриптоПро CSP, в ином случае при выпуске сертификата вам не будет доступен выбор ГОСТовского криптопровайдера (рис.13). 

Рисунок 13. Веб-интерфейс центра сертификации. Формирование запроса. Правильное отображение

Рисунок 13. Веб-интерфейс центра сертификации. Формирование запроса. Правильное отображение

Также вы можете здесь вручную скачать сертификат нашего ЦС, цепочку сертификатов, CRL и разностные CRL. Кстати говоря, их мы и забыли настроить. 

Вернёмся в оснастку certsrv к нашему центру сертификации и настроим выпуск разностных CRL. Для этого необходимо открыть «Свойства (Properties)» раздела «отозванных сертификатов (Revoked Certificates)» (рис. 14).

1. Задаём «Интервал публикации CRL (CRL Publications interval)».

1.1. Включаем публикацию разностных CRL и задаём интервал.

Кажется, что все хорошо. Но есть один момент:

«ЦС будет публиковать Delta CRL, которые содержат символ плюс «+» в имени файла (например, contoso-pica+.crl). По умолчанию IIS будет расценивать этот символ в запросе как метасимвол и не позволит клиентам скачать список отзыва. Необходимо включить двойной эскейпинг в настройках IIS, чтобы расценивать знак плюса в запросе как литерал:»

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

Import-Module -Name WebAdministration
Set-WebConfigurationProperty -PSPath 'MACHINE/WEBROOT/APPHOST' -Filter /system.webServer/security/requestFiltering -name allowdoubleescaping -Value 'true'
Рисунок 14. Настройка параметров публикации CRL.

Настройка OCSP — сетевого ответчика (Online responder)

Так как у Standalone центра сертификации нет шаблонов, нам необходимо вручную сформировать запрос и выпуск сертификата для конфигурации отзыва (Array configuration) в «Управление сетевым ответчиком (Online responder management). Для это используйте следующую конфигурацию для формирования запроса 

1.1. Создайте: ocsp.txt cо следующим внутренним содержанием:

[NewRequest]
Subject = "CN=Имя"
PrivateKeyArchive = FALSE
Exportable = TRUE
UserProtected = FALSE
MachineKeySet = TRUE
ProviderName = "Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider"
KeyLength = 512
UseExistingKeySet = FALSE
RequestType = PKCS10
[ApplicationPolicyStatementExtension]
Policies = OCSPSigning
Critical = false
[OCSPSigning]
OID = 1.3.6.1.5.5.7.3.9
[EnhancedKeyUsageExtension]
OID="1.3.6.1.5.5.7.3.9"
[Extensions]
1.3.6.1.5.5.7.48.1.5 = Empty

1.2. Откройте командную строку cmd. Перейдите в директорию с текстовым файлом или в будущем просто укажите полный путь при формировании запроса.

1.3. Узнаем, на какой срок сейчас выпускаются сертификаты. Для этого воспользуемся командой - certutil –getreg ca\validityperiodunits  

Результат — на рис. 15.

Рисунок 15. В текущей конфигурации сертификаты выпускаются на один год

Рисунок 15. В текущей конфигурации сертификаты выпускаются на один год

1.4. Изменим длительность выпуска сертификата:

 #Изменение выпуска сертификатов с текущего состояния на длительность в 5 лет
 certutil -setreg ca\ValidityPeriodUnits 5 
 #Перезапуск сервера
 net stop certsvc 
 net start certsvc 

1.5. Сформируем запрос и выпустим сертификат для сетевого автоответчика (рис 16.):

#Конфигурирование запроса
 certreq -new <имя>.inf <имя>.req 
 
#Формирование запроса в ЦС
 certreq -submit <имя>.req
 
#Одобрение запроса (Можно руками через оснастку управления центром сертификации)
 certutil.exe -Resubmit "Цифра запроса" 

Во время конфигурирования запроса выбираем место хранения контейнера ключа и проходим процедуру ДСЧ.

Рисунок 16. Выпуск сертификата для сетевого автоответчика

Рисунок 16. Выпуск сертификата для сетевого автоответчика

1.6. Экспортируем сертификат из центра сертификации и устанавливаем его в личные сертификаты локального компьютера.

1.6.1. После запроса сертификата открываем оснастку: Certificates (RunMMC – Add or remove Snap-ins – Certificate),

1.6.2. Выбираем сертификат, выданный для сетевого ответчика. Нажимаем правой клавишей и открываем «Все задачи (Управление закрытыми ключами (All Tasks — Manage Private keys)»

1.6.3. В открывшемся окне Permissions необходимо добавить в «Группы и пользователи (Group and Users):   Network Service и выдать право Read для этой учётной записи. (рис.16.1)

Это нужно сделать, так как служба OCSP работает от лица Network Service.

Рисунок 16.1. Настройка сертификата для  работы сетевого ответчика

1.7. Далее переходим в настройки самого сетевого ответчика. (рис. 17)

1.8. Нам необходимо добавить «Конфигурацию отзыва (Revocation Configuration) – «Добавить»

2. Предстоит небольшой процесс настройки конфигурации отзыва.

2.1. «Далее».

2.2. Введите имя конфигурации – «Далее».

2.3. Выбираем второй пункт: «Выбрать сертификат в локальном хранилище сертификатов (Select a certificate from the local certificate store)» — «Далее».

2.4. В следующем окне нажимаем «Обзор (Browse)» и выбираем корневой сертификат нашего ЦА – «Больше вариантов (More choices)». (рис. 17) – «Далее».

2.5. В следующем окне выбираем «Выбрать сертификат подписи вручную (Manually a signing sertificate)

2.6. В последнем окне нажимаем «Поставщик (Provider)». Здесь необходимо указать источник, из которого будут браться базовые и разностные CRL. В нашем случае: http://localhost/CDP/CA-C4Y-VPN.crl (для базового) и  http://localhost/CDP/CA-C4Y-VPN+.crl (для разностного).

Рисунок 17. Управление сетевым ответчиком. (online responder management)

Рисунок 17. Управление сетевым ответчиком. (online responder management)
Рисунок 18. Прикрепляем конфигурации корневой сертификат ЦА

Рисунок 18. Прикрепляем конфигурации корневой сертификат ЦА

2.7. Осталось прицепить к нашей конфигурации выпускаемый ранее сертификат и проверить некоторые моменты.

2.7.1. Переходим в «Конфигурацию массива(array configuration)», выбираем конфигурацию и нажимаем «Назначить сертификат подписи (Assign Signing Certificate)». В появившемся окне нужно просто нажать «ОК».

2.7.2. Теперь необходимо «Обновить конфигурацию массива». Для этого выбираем «Конфигурация массива (Array configuration) – «Обновить (Refresh)»

2.7.3. После всех этих действий главное окно оснастки ocsp должно выглядеть так, как на рисунке 19.

Рисунок 19. Итоговый результат о работе сетевого ответчика

Рисунок 19. Итоговый результат о работе сетевого ответчика

В процессе самостоятельной настройки «сетевого ответчика» может возникнуть много вопросов, особенно если нет опыта работы с Standalone центром сертификации, в котором отсутствуют шаблоны, без которых можно обойтись, но пути становятся длиннее в исполнение.  Кстати говоря, если после прикрепления сертификата вы не получили заветное Working, то проверьте следующее (рис.20, 20.1):

Рисунок 20. Переходим в редактирование свойств конфигурации отзыва

Рисунок 20. Переходим в редактирование свойств конфигурации отзыва
Рисунок 20.1. Проверяем что в разделе «Подписи» выбран ГОСТ алгоритм шифрования

Чтобы проверить работу центра сертификации и сетевого автоответчика, выпустите сертификат для конечного пользователя, установите его и экспортируйте в какую-нибудь директорию. А после воспользуйтесь утилитой: Certutil –url /patch/test.crt

Для подробного отчёта вы можете воспользоваться: certutil –verify –urlfetch /patch/test.crt

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

Дополнительно:


Что ещё интересного есть в блоге Cloud4Y

→ Малоизвестный компьютер SWTPC 6800

→ Сделайте Linux похожим на Windows 95

→ Бесплатные книги, полезные для IT-специалистов и DevOps

→ WD-40: средство, которое может почти всё

→ Игры для MS-DOS с открытым исходным кодом

Подписывайтесь на наш Telegram-канал, чтобы не пропустить очередную статью. Пишем только по делу.

Служба сертификации Active Directory (AD CS) позволяет развернуть вам собственную инфраструктуру PKI в доменной сети, и используется для выдачи и управления сертификатами. В этой статье мы рассмотрим сценарий развертывания центра сертификации: установку корпоративной службы AD CS на Windows Server, настройку групповой политики выдачи сертификатов в домене.

В продуктивной среде не рекомендуется развёртывать службы AD CS на контроллере домене Active Directory. В продуктивной среде нужно реализовать двухуровневую архитектуру PKI:

  • Отдельный корневой сервер сертификации (Root CA) – это сервер выдает сертификат для подписи выдающего сервера сертификации. После генерации доверенного корневого сертификата и CRL, этот сервер рекомендуется выключить (это позволит снизить риски компрометации ключа). В нашем примере этот сервер называется RootCA;
  • Выдающий сервер сертификации (Subordinate CA) – это основной сервер, который будет выдавать сертификаты клиентам в организации. Также он хранит список отозванных сертификатов и используется для проверки отозванных сертификатов. Имя сервера subordCA

Служба сертификации Active Directory Certificate Services это одна из стандартных ролей Windows Server 2022/2019/2016.

Сначала нужно настроить корневой CA (сервер RootCA). Это Windows Server, который не нужно добавлять в домен AD.

Запустите Server Manager и выберите Add roles and features;

  1. Выберите текущий сервер, в списке ролей отметьте Active Directory Certification Authority и нажмите Next;
    Установка Active Directory Certification Authority

  2. В списке компонентов роли AD CS выберите Certification Authority;
    Установить Certification Authority в Windows Server

  3. После окончания установки, нужно выполнить первичную настройку роли ADCS. Для этого в Server Manager нажмите на флажок и щелкните по пункту Configure Active Directory Certificate Services on the destination server;
    Настройка Active Directory Certificate Services

  4. Выберите сервисы для настройки;
    Роль Certification Authority

  5. Так как сервер rootCA не добавлен в домен AD, выберите здесь Standalone CA -> Root CA;
    Установить Standalone CA - data-lazy-src=

  • Выберите Create a new private key;
    Create a new private key

    Параметры ключа оставьте по умолчанию:

    Cryptographic provider: RSA
    Key length: 2048
    Hash algorithm: SHA256

    Криптографические параметры RSA ключа для CA

  • Имя CN можно оставить без изменений;
  • На странице Validity period укажите срок действия сертификата CA (укажите 15 лет здесь);
    Срок действия ключа CA

  • Оставьте пути к базе данных CA и логам по умолчанию: c:\windows\system32\certlog
    База данных и логи CA

  • Если все настроено верно, появится надпись: Configuration succeeded.
    Установка AD Certificate Services завершена

  • Совет. Вы можете установить роль ADCS в Windows Server с помощью PowerShell:

    Add-WindowsFeature Adcs-Cert-Authority -IncludeManagementTools

    После установки роли AD CS выполните команду:

    Install-AdcsCertificationAuthority -CAType EnterpriseRootCA

    Для управления ADCS используется специальная оснастка Certification Authority (certsrv.msc). Запустите ее.

    Затем откройте каталог C:\Windows\System32\CertSrv\CertEnroll и скопируйте оттуда сертификат и список отзыва сертификатов. Эти файлы понадобятся в дальнейшем при настройке выдающего центра сертификации.

    Теперь переходим к настройке второго сервера Subordinate CA (subordCA).

    1. Установите на нем роль AD CS, со следующими компонентами:
    • Certification Authority
    • Certification Authority Web Enrollment
    • Certification Authority Web Service
    1. Выберите тип CA — Subordinate CA;
    2. На странице Private Key выберите Create a new private key;
    3. Настройки криптографии оставьте по умолчанию, задайте Common Name
    4. На странице Certificate request выберите Save a certificate request to file on the target machine;
    5. Нажмите Configure чтобы начать установку.

    Теперь нужно получить сертификат от вашего rootCA на основе вашего запроса:

    1. Скопируйте файл *.reg в корень диска C:\ на rootCA;
    2. Выполните команду:
      certreq -submit "C:\subordCA.tect.loc_ SUBORDCA-1.req"
    3. Появится окно Certification Authority List, в котором нужно выбрать ваш rootCA и нажмите OK;
    4. Теперь откройте консоль Certification Authority на Root CA и перейдите в раздел Pending Requests. Ваш запрос должен появится в этой консоли. Запомните номер запроса, например Request ID 2. Щелкните по нему правой кнопкой и выберите All Tasks -> Issue;
    5. Экспортируйте подписанный сертификат в файл с помощью команды:
      certreq -retrieve 2 C:\SubordCA.crt

    Скопируйте файл SubordCA.crt на промежуточный сервер сертификации. Установите корневые сертификаты и список отзыва, которые вы скопировали ранее:

    certutil -dspublish -f "C:\PS\RootCA.crt"
    certutil -addstore -f root "C:\PS\RootCA.crt"
    certutil -addstore -f root "C:\PS\RootCA.crl"

    Теперь установите сертификат, который вы подписали:

    certutil -installcert C:\PS\SubordCA.crt

    Запустите службу CertSrv. Ваш промежуточный сервер сертификации готов к выдаче сертификатов. Хост RootCA можно отключить.

    Теперь можно настроить в домене групповую политику для автоматической выдачи сертификатов (autoenrollment) для клиентов домена.

    1. Откройте консоль Group Policy Management, щелкните по корню домена и выберите “ Create a GPO in this domain, and Link it here…”;
      Создать GPO

    2. Укажите имя политики и перейдите в режим редактирования;
    3. Перейдите в Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Public Key Policies
    4. Выберите шаблон «Certificate Services Client — Auto-Enrollment»
    5. Включите политику и настройте ее следующим образом
      Configuration mode: Enabled
      Renew expired certificates, update pending certificates and remove revoked certificate
      Update certificates that use certificate templates

      Политика выдачи сертификатов для клиентов домена Auto-Enrollment

    Обновите политики на клиентах и проверьте, что ваш корневой сертификат появился в Trusted Root Certificates.

    Prevent Accidental Deletions in Azure

    In this article, we will see how to install and configure Certificate Services in Server 2019..

    Click on Add Roles and Features

    Click on Next

    Select Role-based or feature-based installation and Click on Next

    Select Server to install and Click on Next

    Select Active Directory Certificate Services and Click on Next

    Select include management tools(if applicable) and click add Features

    Post selecting the features included, Click on Next

    As we have already selected required features for the Certificate Services and Click on Next

    Click on Next

    As we are focusing installing the CA, Select Certificate Authority and click on Next

    Click on Next

    Click on Configure Active Directory Certificate Services on the destination server

    Select the Administrator Account and click on Next

    Select Certification Authority and click on Next

    Since it is Root CA Configuration, Select Enterprise CA and Click on Next

    Select Create a new Private key and click on Next

    Select cryptographic Provider, Hash Algorithm and Key Length depends on the requirement and click on Next

    Note: SHA1 hash algorithm and Key length 1024 has been ruled out. Hence select the versions higher than this types.

    Select Common name for this CA and click on Next

    Select the Validation and click on Next

    Note: Since it is root ca, it is always good to select validity period higher than 5 years.

    Click on Next

    Click on Configure

    Certificate Authority has been sucessfully configured. Click on Close

    Now, Let us validate the Certificate Authority installation.

    On Server Manager, Tools –> Click on Certificate Authority

    PKI

    Can see Certificate Authority is shows running and ready to use the Certificate templates.

    PKI

    #ADCS #PKI #Server2019 #AD CS


    • Founder & Author, Windowstechpro

    Note: This guide is archived and is no longer updated on this website. For any future updates to this guide, please refer to the version that can be found on docs.mjcb.ca.

    Goals of this Guide

    The goal of this guide is to deploy an internal Certificate Authority and a Public Key Infrastructure (PKI) using Active Directory Certificate Services in Windows Server 2019. This provides a lot of benefits to an organization, including features like:

    • Utilizing SSL on internal Servers and on internal Websites.
    • Replacing self-signed Certificates on internal Network Devices.
    • Increased security for Remote Desktop Services on internal Servers.
    • Utilize internal Certificates for Applications and Services.
    • Issue internal Certificates for VPN Services.
    • Issue internal Certificates for Wireless Users and Access Points.
    • Allow for better security with Active Directory with LDAPS.
    • Use your own internal Certificate for SSL Decryption on Firewalls and Proxy Devices.

    The procedure for creating a Certificate Authority has not changed considerably since Windows Server 2012 R2. Recent enhancements and changes with some vendors (Apple and Mozilla) do require a few minor changes to allow for security changes with those vendors.

    I apologize for the length of this document but creating a Certificate Authority is a very complicated process. I tried to document every single step that I could, as missing even the smallest detail can cause a lot of issues that are very difficult to correct.

    Guide

    Since this is such a complicated subject there are multiple parts to this guide. Here are the links to each part of the guide:

    • Part 1 — Offline Root CA Setup
    • Part 2 — Subordinate CA Setup
    • Part 3 — Deploy Root and Subordinate Certificate
    • Part 4 — Certificate Revocation Policies
    • Part 5 — Configure Private Key Archive and Recovery
    • Part 6 — Certificate Template Deployment
    • Part 7 — Certificate Auto-Enrollment
    • Part 8 — Final Steps

    Environment Assumptions

    All Servers in this guide are using Windows Server 2019 Standard (Desktop Experience), but this should work correctly using Windows Server 2016. In this guide, the Active Directory Domain and Forest Functional Levels are set to Windows Server 2016 levels, but this should work for Windows Server 2012 R2 functional levels.

    This guide should work perfectly fine using Hyper-V, VirtualBox or VMware. This guide does not assume any virtualization platform so there should not be any issues using any virtualization platform.

    For this guide I am using VMware Workstation 15 Pro (15.5.1 build-15018445) on Windows 10 Pro 1909 (Build 18363.657). I am using a Lenovo P51 Mobile Workstation (Intel Core i7-7820HQ @ 2.90GHz and 64 GB RAM).

    Environment Design and Overview

    This guide uses a simplified and very basic Server Infrastructure and is the bare minimum that is required for Active Directory Certificate Services to operate correctly. It is technically possible to run Active Directory Certificate Services on the same Server as a Domain Controller, but this is very bad practice and can have some unintended consequences if there is ever an issue with it. It is also incredibly insecure to have your Root Certificate Server available at all times.

    The example that is going to be used in this guide is the TFS Labs Domain (corp.tfslabs.com). It is very basic in design, and there is a total of 3 Servers, 1 Workstation and 1 iOS Device:

    TFS Labs Certificate Authority Infrastructure Overview

    The virtual machines that are being used in this guide are using the following specifications:

    Virtual Machine Operating System CPU Memory Hard Disk IP Address
    TFS-DC01 Windows Server 2019 1 4096 MB 60 GB 192.168.0.210/24
    TFS-CA01 Windows Server 2019 2 8192 MB 60 GB 192.168.0.211/24
    TFS-WIN10 Windows 10 Pro 1 4096 MB 60 GB 192.168.0.212/24
    TFS-ROOT-CA Windows Server 2019 1 4096 MB 60 GB N/A

    The iOS device used in this environment is an iPad Air 3 and is running the latest version of iPad OS (13.3.1 as of the time of this writing). It is on wireless on the same network and has an IP address of 192.168.0.213/24.

    Here is breakdown of the Servers and Workstations in this environment:

    • TFS-DC01 the Domain Controller for the TFS Labs Domain. It is also needed to allow for Certificate distribution and for Group Policy updates to the TFS Labs Domain. It is also the LDAP CDP and AIA Publishing Location. This guide assumes that you already know how to setup a basic Active Directory Domain Controller and Domain and have done this already prior to starting this guide.
    • TFS-ROOT-CA is the Offline Root Certificate Authority and it is only used to issue the Root Certificate for the TFS Labs Domain. It signs the Certificate for the Subordinate Certificate Authority only and is left offline unless there is an issue with the Subordinate Certificate Authority. It is not a member of the TFS Labs Domain and has no additional software or services installed on it. Once the implementation of the Certificate Authority is complete it can be shutdown (but not deleted).
    • TFS-CA01 is the Subordinate Certificate Authority and issues all Certificates within the TFS Labs Domain. It also handles the OCSP Role and CRL roles. It is a TFS Labs Domain member.
    • TFS-WIN10 is a Workstation that is a member of the TFS Labs Domain, and it is used to ensure Certificates that are issued by the two Certificate Authorities are operating correctly. It is also used to ensure that Group Policy deployment of these certificates are working correctly. This guide assumes that you can configure a Windows 10 Pro virtual machine prior to starting this guide.

    Certificate Hierarchy Overview

    For the Certificates that will be issued for the TFS Labs Domain, there will be one Root and one Subordinate Certificate in a Two-Tier Certificate Authority:

    TFS Labs Certificate Authority Hierarchy

    Certificate Type Certificate Name Server Name Validity Period
    Root CA TFS Labs Certificate Authority TFS-ROOT-CA 10 Years
    Subordinate CA TFS Labs Enterprise CA TFS-CA01 5 Years
    Certificate N/A TFS-CA01 1 Years

    The Validity Period for the Certificates in the TFS Labs Domain is set to the following:

    • The Standalone Root CA Certificate is set to expire after 10 years. This Certificate is the Root of the entire PKI at TFS Labs. 10 Years for the Validity Period is perfectly acceptable for a Root CA, and that Server will need to be brought online once every 52 weeks in order to update the CRL for the Subordinate CA.
    • The Enterprise Subordinate CA Certificate is set to expire after 5 years. This Certificate is used to Sign all Certificates that are issued to the TFS Labs Domain. Unlike the Root CA, it is always online.
    • Any Certificates that are issued from the Enterprise CA is limited to 1 year only. A lot of vendors, the most recent being Apple have specifically restricted SSL lifetimes to 1 year only. This forces Vendors to keep their SSL Certificates up to date, and to make sure that modern security practices and technologies are being used.

    Design Considerations

    In the deployment of Active Directory Certificate Services on the TFS Labs Domain, the following design considerations will be made:

    • The use of SHA-1 will not be used since it has been deprecated by online Certificate Authorities and by virtually every vendor. The Certificate Authority created at TFS Labs will use SHA-2 (SHA256) by default.
    • Utilize an Offline Root CA for the main Certificate.
    • Utilize a Subordinate Enterprise CA for issuing Certificates to the TFS Labs Domain. This will always be online and will be used to issue all Certificates.
    • The Root Certificate will be valid for 10 Years and the Subordinate Certificate will be valid for 5 Years. All issued Certificates from the Subordinate CA will be valid for 1 Year only.
    • The Offline Root CA is only online for creating the Enterprise CA and is then shutdown and can isolated from the network in order to keep it safe.
    • Any files that need to be transferred to and from the Root CA is to be done with a virtual floppy disk. This will be deleted at the end of the implementation phase and when needed in the future a new one should be created.
    • Auditing will be enabled on all Servers that are performing Certificate related tasks. This will write events to the Windows Event Log every time a Certificate is Issued, Revoked, Requested, etc.
    • CNAME records will be used when possible in the deployment to allow for the TFS-CA01 Server to be split up in the future if needed.

    Why Use an Offline CA?

    There are a lot of very good reasons to use an Offline Root CA in your environment and it is pretty much expected in a Certificate Authority that is created today. Unauthorized access to your Certificate Authority can put your organization at risk and can cause a lot of headaches in order to fix it, especially if you depend heavily on a PKI for critical functions in your environment.

    The Root CA is critical to your PKI and you don’t want to risk having the Root CA compromised and having your Private Keys leaked. This would effectively invalidate every single Certificate in your organization.

    The best way to protect the Root CA is always to have it be completely unavailable to people on the network. It isn’t needed in day to day operations, so having it online is not necessary and can put it at unnecessary risk. This also means that it is not enough to just have it turned off until needed, it shouldn’t be accessible by anyone even when it is temporarily powered on. A lot of administrators don’t even have a network connection to it and use virtual floppy disks to transfer data between it and other Servers. It is cumbersome, but this happens so infrequently that it shouldn’t be an issue. Some virtualization platforms allow for Copy/Paste, but that should be disabled for the Root CA in order to minimize the attack surface on it.

    Registered IANA Number

    When you are dealing with an Internal CA you don’t really need to worry about utilizing a properly registered IANA Number. This is only ever required if you are going to be using your Certificate Authority outside of your organization. This is beyond the scope of this guide.

    Active Directory Certificate Services Internal URLs

    The following URLs will be in use once the Active Directory Certificate Services implementation has been completed.

    Server (CNAME) Role Address
    TFS-CA01 (N/A) IIS 10.0 HTTP Server Instance http​://tfs-ca01.corp.tfslabs.com/
    TFS-CA01 (N/A) Active Directory Web Enrollment Service https​://tfs-ca01.corp.tfslabs.com/CertSrv/
    TFS-CA01 (PKI) Certificate Practice Statement http​://pki.corp.tfslabs.com/cps.html
    TFS-CA01 (PKI) Root CA CRL http​://pki.corp.tfslabs.com/CertData/
    TFS-CA01 (PKI) Enterprise CA CRL http​://pki.corp.tfslabs.com/CertEnroll/
    TFS-CA01 (OCSP) Online Certificate Status Protocol http​://ocsp.corp.tfslabs.com/ocsp/
    TFS-CA01 (PKI) Root and Subordinate Certificates Download http​://pki.corp.tfslabs.com/Certificates/

    SSL Enabled Services

    SSL is not used for securing many of the Web Sites that a Certificate Server uses. The one exception is the Active Directory Web Enrollment Service, since it is used to securely submit a Certificate Request. This is because you cannot always assume that the device connecting to the HTTPS service has your Certificates on it, and therefore the connection would not be secure anyways.

    Disclaimer

    I cannot guarantee that this guide will work in your environment and I cannot take responsibility if this guide causes any potential issues in your environment. If you or anyone else has attempted to create a Certificate Authority in the past you should check your Active Directory setup to see if you have any failed Certificate Authorities in there already. You should remove these first before starting this guide.

    I cannot guarantee that there are no errors in this guide as well. I have implemented this exact same setup at multiple organizations without any major issues, but odd issues can always arise in a Windows Server Infrastructure. So be prepared to have to “Google” your way out a few error messages in this guide.

    As with everything else, you should build this out in a lab at least once prior to attempting this on a production environment. You should not attempt to implement this guide for your organization if you don’t have a good understanding of how a Certificate Authority and PKI works.

    • Introduction
    • Part 1 — Offline Root CA Setup
    • Part 2 — Subordinate CA Setup
    • Part 3 — Deploy Root and Subordinate Certificate
    • Part 4 — Certificate Revocation Policies
    • Part 5 — Configure Private Key Archive and Recovery
    • Part 6 — Certificate Template Deployment
    • Part 7 — Certificate Auto-Enrollment
    • Part 8 — Final Steps

    Active Directory Certificate Services Overview

    Active Directory Certificate Services (AD CS) allows workstations, servers, and applications to establish trust within an Active Directory forest without the cost of third-party certificates like TLS.

    This post shows how to install and configure Active Directory Certificate Services on server 2019.

    • Before you install Active Directory Certificate Services, you must name the computer, configure the computer with a static IP address, and join the computer to the domain.
    • To perform this procedure, the computer on which you are installing AD CS must be joined to a domain where Active Directory Domain Services (AD DS) is installed.

    To install Active Directory Certificate Services 

    Log on as a member of both the Enterprise Admins group and the root domain’s Domain Admins group. 

    In Server Manager, click Manage, and then click Add Roles and Features. The Add Roles and Features Wizard opens.

    In Before You Begin, click Next.

    In Select Installation Type, ensure that Role-Based or feature-based installation is selected, and then click Next.


    In Select destination server, ensure that Select a server from the server pool is selected. In Server Pool, ensure that the local computer is selected. Click Next.


    In Select Server Roles, in Roles, select Active Directory Certificate Services. When you are prompted to add required features, click Add Features, and then click Next.


    In Select features, click Next.


    In Active Directory Certificate Services, read the provided information, and then click Next.


    In Role Services, click Certification Authority, and then click Next.


    In Confirm installation selections, click Install. Do not close the wizard during the installation process. When installation is complete,


    Click Configure Active Directory Certificate Services on the destination server. The AD CS Configuration wizard opens. Read the credentials information and, if needed, provide the credentials for an account that is a member of the Enterprise Admins group. Click Next.


    In Role Services, click Certification Authority, and then click Next.


    On the Setup Type page, verify that Enterprise CA is selected, and then click Next.


    On the Specify the type of the CA page, verify that Root CA is selected, and then click Next.


    On the Specify the type of the private key page, verify that Create a new private key is selected, and then click Next.


    On the Cryptography for CA page, keep the default settings for CSP (RSA#Microsoft Software Key Storage Provider) and hash algorithm (SHA2), and determine the best key character length for your deployment. Large key character lengths provide optimal security; however, they can impact server performance and might not be compatible with legacy applications. It is recommended that you keep the default setting of 2048. Click Next.


    On the CA Name page, keep the suggested common name for the CA or change the name according to your requirements. Ensure that you are certain the CA name is compatible with your naming conventions and purposes, because you cannot change the CA name after you have installed AD CS. Click Next.


    On the Validity Period page, in Specify the validity period, type the number and select a time value (Years, Months, Weeks, or Days). The default setting of five years is recommended. Click Next.


    On the CA Database page, in Specify the database locations, specify the folder location for the certificate database and the certificate database log. If you specify locations other than the default locations, ensure that the folders are secured with access control lists (ACLs) that prevent unauthorized users or computers from accessing the CA database and log files. Click Next.


    In Confirmation, click Configure to apply your selections, and then click Close.


    Configuration succeeded, Click Close

        

    Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии
  • Драйвер для принтера hp photosmart c4483 для windows 10
  • Error code 0xc00000f windows 10
  • Создание образа windows 7 без драйверов
  • Canon mf4018 драйвер windows 10 64 bit не устанавливается
  • Файл с системными иконками windows 10