Инфраструктура открытых ключей в Windows Server 2016. Часть 3. Issuing CA::Журнал СА 7-8.2018
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

Разбор полетов  

Ошибок опыт трудный

Как часто мы легко повторяем, что не надо бояться совершать ошибки, мол,

 Читать далее...

Принципы проектирования  

Dependency Inversion Principle. Принцип инверсии зависимостей в разработке

Мы подошли к последнему принципу проектирования приложений из серии SOLID – Dependency

 Читать далее...

Рынок труда  

Вакансия: Администратор 1С

Администратор 1С – это специалист, который необходим любой организации, где установлены программы

 Читать далее...

Книжная полка  

Книги для профессионалов, студентов и пользователей

Книги издательства «БХВ» вышли книги для тех, кто хочет овладеть самыми востребованными

 Читать далее...

Принципы проектирования  

Interface Segregation Principle. Принцип разделения интерфейсов в проектировании приложений

Эта статья из серии «SOLID» посвящена четвертому принципу проектирования приложений – Interface

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 10795
Комментарии: 0
Потоковая обработка данных

 Читать далее...

19.03.2018г.
Просмотров: 9041
Комментарии: 0
Релевантный поиск с использованием Elasticsearch и Solr

 Читать далее...

19.03.2018г.
Просмотров: 9088
Комментарии: 0
Конкурентное программирование на SCALA

 Читать далее...

19.03.2018г.
Просмотров: 5734
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6429
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 3735
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 2731
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3530
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3521
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6016
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

Друзья сайта  

 Инфраструктура открытых ключей в Windows Server 2016. Часть 3. Issuing CA

Архив номеров / 2018 / Выпуск №7-8 (188-189) / Инфраструктура открытых ключей в Windows Server 2016. Часть 3. Issuing CA

Рубрика: Администрирование /  ИТ-инфраструктура

Степан Москалев СТЕПАН МОСКАЛЕВ, инженер ИТ-систем, MCSE, MCSE:S, MCSE:M, MCITP EA, MCITP EMA, HP AIS, msv121@mail.ru

Леонид Шапиро ЛЕОНИД ШАПИРО, архитектор ИТ-систем, MVP, MCT, MCSE, MCITP:EA, MCSE:S, MCSE:M, shapiro_leonid@yahoo.com

Инфраструктура открытых ключей
в Windows Server 2016. Часть 3. Issuing CA

Инфраструктура открытых ключей в Windows Server 2016. Часть 3. Issuing CAВ третьей части нашего цикла мы рассмотрим развертывание издающего удостоверяющего центра в двухуровневой иерархии

В отличие от корневого этот сервер должен быть постоянно доступен клиентам, причем здесь мы имеем в виду не только возможность получения сертификатов, но и, что важнее, их отзыва при компрометации. Точно так же, как и с корневым УЦ, перед установкой понадобится подготовить файл capolicy.inf [1] и разместить его в правильном месте [2].

Пример структуры capolicy.inf может выглядеть так:

[Version]
Signature="$Windows NT$"
[PolicyStatementExtension]
Policies=InternalPolicy
[InternalPolicy]
OID=1.2.3.4.1455.67.89.5
URL=http://pki.nwtraders.msft/PKI/cps.txt
[certsrv_server]
RenewalKeyLength=2048
RenewalValidityPeriodUnits=5
RenewalValidityPeriod=Years
CRLPeriodUnits=1
CRLPeriod=Weeks
CRLOverlapUnits=1
CRLOverlapPeriod=Days
CRLDeltaPeriodUnits=1
CRLDeltaPeriod=Days
LoadDefaultTemplates=0
AlternateSignatureAlgorithm=1

Познакомиться с синтаксисом файла capolicy.inf можно в первой статье этого цикла [2].

На следующем шаге можно переходить к установке самого сервиса Active Directory Certificate Services. Установка может быть выполнена как с помощью графического интерфейса, так и с помощью команд PowerShell [3]. Второй вариант обычно проще и занимает меньше времени.

Install-AdcsCertificationAuthority –CAType EnterpriseSubordinateCA –CACommonName "IssuingCA01" –KeyLength 2048 –HashAlgorithmName SHA256 
–CryptoProviderName "RSA#Microsoft Software Key Storage Provider"

В данном случае это пример команды, поскольку как имя сервиса, так и параметры ключевой информации, алгоритмы хеширования могут отличаться в зависимости от конкретных требований. После установки сервиса будет сформирован файл запроса сертификата к корневому УЦ. Файл должен быть перенесен на корневой УЦ для выдачи сертификата.

С точки зрения безопасности следует использовать внешний защищенный носитель информации для обмена и не подключать корневой центр сертификации к сети. Непосредственно для запроса сертификата можно воспользоваться утилитой certreq [4] уже на самом корневом центре сертификации.

Certreq -submit C:\test\ICA01.Nwtraders.msft_IssuingCA01.req

где test – папка, в которой был сохранен файл запроса.

Далее запрос одобряется администратором и выдается сертификат для подчиненного центра сертификации.

certutil -resubmit 2
certreq –Retrieve 2 C:\test\ICA01.crt

После этого полученный сертификат переносится на издающий УЦ и устанавливается на нем [5].

certutil -installCert C:\test\ICA01.crt

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

Первое – опубликовать сертификат корневого центра сертификации на издающем центре сертификатов ICA01, для чего выполнить следующую команду:

certutil –addstore –f root C:\test\RootCA_ROOTCA.crt

Второе – обеспечить доступность CRL корневого центра и его сертификата хотя бы по одному пути, указанному в сертификате.

После этого службу надо запустить:

Start-Service CertSvc

Разумеется, все эти задачи могут быть реализованы и с помощью графического интерфейса.

Поскольку мы еще не проводили публикацию сертификата корневого УЦ и его списка отзыва в службе каталога Active Directory Domain Services, это можно будет сделать теперь, для чего выполняются команды:

// публикация сертификата
certutil –dspublish –f C:\test\ROOTCA_ROOTCA.crt
//публикация списка отзыва сертификатов
certutil –dspublish –f C:\test\ROOTCA.crl ROOTCA

ROOTCA в данной команде это имя центра сертификации.

На этом заканчивается лишь предварительный этап установки издающего УЦ, следующий шаг – настройка его параметров.

Здесь также рекомендуется пользоваться сценариями настройки для уменьшения возможных ошибок при использовании графического интерфейса.

Удалите настройки CrlDistributionPoint, заданные по умолчанию.

Значения, которые предлагает система, не предусматривают использование собственного центра распространения на внешнем веб-сервере, да и порядок публикации списка отзыва сертификатов будет не очень удачным, поскольку ссылка ведет не сам сервер сертификатов, что нельзя считать удачным решением.

Разумное решение – использование именно внешнего веб-сервера клиентами для получения сертификатов и списков отзыва.

HTTP-путь рекомендуется ставить первым, поскольку это дает возможность клиентам, не имеющим доступа к службе каталога, выполнить проверку списка отзыва сертификатов.

В принципе часто только веб-пути будет достаточно, так как любые последующие проверки выполняются лишь при невозможности выполнения первой.

Удаление путей можно выполнить с помощью PowerShell:

$crllist = Get-CACrlDistributionPoint
foreach ($crl in $crllist) { Remove-CACrlDistributionPoint $crl.uri -Force }

Для добавления новых путей публикации CrlDistribution-Point выполните следующие команды:

Add-CACRLDistributionPoint -Uri C:\Windows\System32\CertSrv\CertEnroll\%3%8%9.crl -PublishToServer -PublishDeltaToServer -Force
Add-CACRLDistributionPoint -Uri http://pki.nwtraders.msft/PKI/%3%8%9.crl -AddToCertificateCDP -AddToFreshestCrl -Force
Add-CACRLDistributionPoint -Uri "ldap:///CN=%7%8,CN=%2,CN=CDP,CN=Public Key Services,CN=Services,%6%10" -PublishToServer -AddToCrlCdp -AddToFreshestCrl -AddToCertificateCDP -PublishDeltaToServer -Force

Если с основными компонентами приведенных команд все понятно, то ряд параметров под знаком % может вызывать вопросы. На самом деле здесь нет ничего сложного, и познакомиться с тем, что обозначает каждая из переменных, можно по приведенной ссылке [6].

Для обеспечения автоматической публикации CRL:

Add-CACRLDistributionPoint -Uri \\pki.nwtraders.msft\pki\%3%8%9.crl -PublishToServer -PublishDeltaToServer -Force

По сравнению с корневым центром сертификатов добавляется переменная %9 (<DeltaCRLAllowed>), так как в ROOTCA список DeltaCRL отсутствует [7].

То же самое следует проделать для AIA-путей, то есть надо удалить настройки CAAuthorityInformationAccess, заданные по умолчанию:

$aialist = Get-CAAuthorityInformationAccess
foreach ($aia in $aialist) { Remove-CAAuthorityInformationAccess $aia.uri -Force }

Добавить локальный путь при помощи команды PowerShell не получится, для этого придется воспользоваться графическим интерфейсом или командой certutil.

certutil -setreg CA\CACertPublicationURLs "1:C:\Windows\system32\CertSrv\CertEnroll\%3%4.crt\ n1:\\pki.nwtraders.msft\pki\%3%4.crt"

Добавить пути публикации http и ldap при помощи команд PowerShell.

Add-CAAuthorityInformationAccess http://pki.nwtraders.msft/PKI/%3%4.crt -AddToCertificateAia -Force
Add-CAAuthorityInformationAccess "ldap:///CN=%7,CN=AIA,CN=Public Key Services,CN=Services,%6%11" -AddToCertificateAia -Force

Для настройки срока действия сертификата и периодичности публикации CRL используется команда certutil, мы подробно рассмотрели постустановочную настройку на примере корневого центра сертификации в предыдущей статье [7].

certutil -setreg CA\ValidityPeriodUnits 5
certutil -setreg CA\ValidityPeriod "Years"
certutil -setreg CA\CRLPeriodUnits 1
certutil -setreg CA\CRLPeriod "Weeks"
certutil -setreg CA\CRLOverlapUnits 1
certutil -setreg CA\CRLOverlapPeriod "Days"
certutil -setreg CA\CRLDeltaPeriodUnits 1
certutil -setreg CA\CRLDeltaPeriod "Days"

Для настройки параметров аудита выполните следующую команду:

certutil -setreg CA\AuditFilter 127

Перезагрузите службу сертификатов:

Restart-Service CertSvc

Опубликуйте списки CRL:

certutil -CRL

Далее нужно скопировать сертификат издающего центра сертификации в центр распространения (Distribution Point).

Установка и настройка издающего центра сертификации на этом завершена, нам остается проверить, все ли прошло успешно. Для этого используется несколько инструментов.

Графическая консоль сервера сертификатов позволит удостовериться в том, что пути к спискам отзыва и самим сертификатам УЦ изменены, параметры аудита заданы. Также следует удостовериться, что клиенты получают доступ по указанным путям и могут загрузить сертификаты и списки отзыва. В нашем примере это проверка HTTP-пути http://pki.nwtraders.msft/PKI/.

Дополнительно можно обратиться к реестру в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\IssuingCA01\, где IssuingCA01 – это введенное нами при установке имя УЦ, и посмотреть значение ключей реестра:

  • CRLPublicationURLs
  • CACertPublicationURLs
  • ValidityPeriodUnits
  • ValidityPeriod
  • CRLPeriodUnits
  • CRLPeriod
  • CRLOverlapUnits
  • CRLOverlapPeriod
  • CRLDeltaPeriodUnits
  • CRLDeltaPeriod
  • AuditFilter
  • DSConfigDN
  • DSDomainDN

Наконец, воспользоваться консолью EnterprisePKI, запустив из командной строки утилиту pkiview.msc, в столбце Status для всех путей должен быть статус OK.

Кроме этого, можно воспользоваться ADSI Edit для проверки информации в службе каталога.

Перейдите по пути CN=Public Key Services,CN=Services,CN=Configuration,DC=Nwtraders,DC=msft.

  • AIA – содержит сертификаты центров сертификации, которые клиенты могут извлекать при проверке цепочки сертификатов.
  • CDP – содержит CRL (базовый и дельта), которые опубликованы в AD.
  • Certificate Templates – cодержит шаблоны сертификатов.
  • Certification Authorities – cодержит сертификаты корневых центров сертификации (Root CA для нашего случая).
  • Enrollment Services – cодержит сертификаты центров сертификации, которые могут выдавать сертификаты в данной службе каталогов.
  • KRA – содержит сертификаты (key recovery agents) агентов восстановления.
  • OID – содержит информацию о OID, используемых службой сертификации (Certification Authorities).

Только теперь можно говорить о том, что издающий центр сертификации установлен и практически готов к работе.

В следующей статье мы поговорим о работе с центрами распространения (Distribution Points).

Продолжение следует.

  1. Prepare the CAPolicy.inf File – https://technet.microsoft.com/en-us/library/jj125373(v=ws.11).aspx.
  2. Шапиро Л. Внедрение инфраструктуры открытых ключей на основе Windows Server 2016. Часть 1. Предварительный этап. / «Системный администратор», № 1-2, 2018 г. – С. 23-27. URL: http://samag.ru/archive/article/3576.
  3. Утилита Certreq – https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/certreq_1.
  4. PowerShell Documentation – https://docs.microsoft.com/en-us/powershell/.
  5. Certutil – https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/certutil.
  6. Certification Authority Guidance – https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/hh831574(v=ws.11).
  7. PKI Design Considerations: Certificate Revocation and CRL Publishing Strategies – https://blogs.technet.microsoft.com/xdot509/2012/11/26/pki-design-considerations-certificate-revocation-and-crl-publishing-strategies/.
  8. Москалев С., Шапиро Л. Инфраструктура открытых ключей в Windows Server 2016. Часть 2. RootCA. //«Системный администратор», № 3, 2018 г. – С. 16-19. URL: http://samag.ru/archive/article/3605.

Ключевые слова: центр сертификации, служба сертификации, реестры, списки отзыва.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru