Сведения о active directory certificate services. Публикация расширения AIA с помощью команды certutil. Публикация расширения AIA

Применимо к:Windows Server 2012 R2, Windows Server 2012

Центр сертификации (ЦС) отвечает за подтверждение личности пользователей, а также за подтверждение подлинности компьютеров и организаций. Центр сертификации выполняет аутентификацию объектов и подтверждает их подлинность выпуском сертификата с цифровой подписью. Центр сертификации также может управлять сертификатами, осуществлять их отзыв и продление.

В роли центра сертификации могут выступать:

    организация, подтверждающая личность пользователя;

    сервер, используемый организацией для выпуска сертификатов и управления ими.

Установив службу роли центра сертификации для служб сертификатов Active Directory (AD CS), можно настроить сервер Windows Server в качестве ЦС.

Перед установкой службы роли ЦС следует выполнить следующие действия:

    спланировать инфраструктуру открытых ключей (PKI) в соответствии с требованиями организации;

    установить и настроить аппаратный модуль безопасности (HSM) в соответствии с инструкциями его изготовителя, если вы планируете использовать такой модуль;

    создать соответствующий файл CAPolicy.inf, если необходимо изменить параметры установки по умолчанию.

Планирование инфраструктуры открытых ключей

Чтобы организация могла в полной мере использовать возможности служб сертификатов Active Directory (AD CS), необходимо правильно спланировать развертывание инфраструктуры PKI. Перед установкой любого ЦС следует определить, сколько ЦС будет установлено и в какой конфигурации. Правильное проектирование инфраструктуры PKI может занять немало времени, но оно необходимо для успешного развертывания.

Дополнительные сведения и ресурсы см. в документе на сайте Microsoft TechNet.

Использование аппаратного модуля безопасности

С помощью аппаратного модуля безопасности (HSM) можно повысить безопасность ЦС и инфраструктуры PKI.

Модуль HSM - это специальное устройство, управление которым осуществляется независимо от операционной системы. Оно предоставляет защищенное аппаратное хранилище для ключей ЦС, а также специальный криптографический процессор для ускоренного подписания и шифрования. Операционная система использует модуль HSM посредством интерфейсов CryptoAPI. При этом модуль HSM выступает в роли устройства-поставщика служб шифрования (CSP).

Обычно модули HSM представляют собой адаптеры PCI, но это также могут быть сетевые, последовательные устройства и устройства USB. Если организация планирует развернуть два ЦС или более, вы можете установить один сетевой модуль HSM, который будет использоваться несколькими ЦС.

Чтобы настроить ЦС с помощью ключей, которые будут храниться в модуле HSM, необходимо предварительно установить и настроить этот модуль.

Использование файла CAPolicy.inf

Файл CAPolicy.inf не требуется для установки служб AD CS, но с его помощью можно настроить параметры ЦС. Файл CAPolicy.inf содержит различные параметры, которые используются при установке ЦС или продлении сертификата ЦС. Для использования файла CAPolicy.inf его необходимо создать и хранить в каталоге %systemroot% (обычно C:\Windows).

Параметры, включаемые в файл CAPolicy.inf, в основном зависят от типа создаваемого развертывания. Например, для корневого ЦС файл CAPolicy.inf может выглядеть так:

Signature= "$Windows NT$" RenewalKeyLength=4096 RenewalValidityPeriod=Years RenewalValidityPeriodUnits=20 LoadDefaultTemplates=0

В то время как для организации, предоставляющей ЦС, файл CAPolicy.inf может выглядеть так:

Signature= "$Windows NT$" Policies = LegalPolicy, LimitedUsePolicy OID = 1.1.1.1.1.1.1.1.1 URL = "http://www.contoso.com/pki/Policy/USLegalPolicy.asp" URL = "ftp://ftp.contoso.com/pki/Policy/USLegalPolicy.txt" OID = 2.2.2.2.2.2.2.2.2 URL = "http://www.contoso.com/pki/Policy/USLimitedUsePolicy.asp" URL = "ftp://ftp.contoso.com/pki/Policy/USLimitedUsePolicy.txt" LoadDefaultTemplates=0

Примечание

    Идентификаторы объектов, приведенные в образцах файла CAPolicy.inf, - это только примеры. Каждая организация должна получить свой идентификатор объекта (OID). Дополнительные сведения об идентификаторах объектов см. в статье Получение корневого идентификатора объекта из центра регистрации имен ISO .

    Дополнительные сведения см. в разделе .

Выбор параметров конфигурации ЦА

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

Выбор типа установки

ЦС предприятия интегрированы с доменными службами Active Directory (AD DS). Они публикуют сертификаты и списки отзыва сертификатов в AD DS. ЦС предприятия используют информацию, хранящуюся в AD DS, включая сведения об учетных записях пользователей и группах безопасности, для утверждения или отклонения запросов сертификатов. ЦС предприятия используют шаблоны сертификатов. При выдаче сертификата ЦС предприятия использует информацию из шаблона с целью создания сертификата с атрибутами, соответствующими этому типу сертификатов.

Чтобы обеспечить автоматическое утверждение сертификатов и автоматическую регистрацию сертификатов пользователей, используйте ЦС предприятия для выдачи сертификатов. Эти возможности доступны, только если инфраструктура ЦС интегрирована с Active Directory. Кроме того, только ЦС предприятия могут выдавать сертификаты, обеспечивающие вход по смарт-картам, так как для этого требуется автоматическое сопоставление сертификатов смарт-карт с учетными записями пользователей в Active Directory.

Примечание

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

Изолированные ЦС не требуют наличия служб AD DS и не используют шаблоны сертификатов. Если используются изолированные ЦС, вся информация о типе запрошенного сертификата должна включаться в запрос на сертификат. По умолчанию, все запросы на сертификаты, отправленные в изолированные ЦС, помещаются в очередь ожидания, пока администратор ЦС не утвердит их. В изолированных ЦС можно настроить автоматическую выдачу сертификатов при поступлении запросов, но делать это обычно не рекомендуется, так как аутентификация запросов не производится и безопасность снижается.

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

Изолированные ЦС необходимо использовать для выдачи сертификатов, если применяется служба каталогов не от корпорации Майкрософт или если службы AD DS недоступны. В организации можно одновременно использовать центры сертификации предприятия и изолированные центры сертификации, как описывается в приведенной ниже таблице.

Параметр

ЦС предприятия

Изолированный ЦС

Публикация сертификатов в Active Directory и использование Active Directory для проверки запросов на сертификаты.

Отключение ЦС от сети.

Настройка ЦС на автоматическую выдачу сертификатов.

Возможность утверждения запросов на сертификаты администраторами вручную.

Возможность использования шаблонов сертификатов.

Аутентификация запросов в Active Directory.

Выбор типа ЦС

ЦС предприятия и изолированные ЦС можно настроить как корневые или подчиненные. Подчиненные ЦС, в свою очередь, можно настроить как промежуточные (также называемые ЦС политик) или выдающие.

Назначение корневого ЦС

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

Так как корневой ЦС является вершиной иерархии сертификации, поле субъекта в сертификате, выданном им, имеет то же значение, что и поле издателя. Аналогичным образом, так как цепочка сертификатов завершается при достижении самозаверяющего ЦС, все самозаверяющие ЦС являются корневыми. Решение о назначении ЦС доверенным корневым ЦС может приниматься на уровне всего предприятия или локально отдельными ИТ-администраторами.

Корневой ЦС служит основной, на которой строится модель отношений доверия центров сертификации. Он гарантирует, что открытый ключ субъекта соответствует информации в поле субъекта сертификатов, выдаваемых им. Разные ЦС могут проверять это соответствие с помощью различных стандартов. Поэтому перед тем как доверять корневому центру сертификации проверку открытых ключей, необходимо разобраться в том, какие политики и процедуры используются им.

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

Подчиненные ЦС

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

Промежуточный ЦС часто называют ЦС на основе политик, так как обычно он используется для разделения классов сертификатов в соответствии с политиками. Например, разделение на основе политик может осуществляться в соответствии с такими характеристиками, как уровень достоверности, предоставляемый ЦС, или географическое местонахождение ЦС. ЦС на основе политик может быть подключен к сети или отключен от нее.

Предупреждение

Корневой ЦС нельзя преобразовать в подчиненный и наоборот.

Хранение закрытого ключа

Закрытый ключ - это часть удостоверения ЦС, которую необходимо защищать от несанкционированного доступа. Многие организации защищают закрытые ключи ЦС с помощью аппаратного модуля безопасности (HSM). Если модуль HSM не используется, закрытый ключ хранится на компьютере ЦС. Дополнительные сведения см. в статье на сайте Microsoft TechNet.

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

Поиск существующего ключа

Если у вас уже есть закрытый ключ, который необходимо использовать во время установки, найти его можно на экране Существующий ключ . Чтобы изменить поставщика служб шифрования и при необходимости ЦС, в котором нужно выполнить поиск ключа, можно нажать кнопку Изменить .

Поиск существующего сертификата

Если у вас уже есть сертификат, который содержит закрытый ключ для ЦС, найти его можно на экране Существующий сертификат . Чтобы открыть диалоговое окно Импорт существующего сертификата , а затем найти существующий файл PKCS #12, можно нажать кнопку Импорт .

Выбор параметров шифрования

Выбор параметров шифрования для центра сертификации (ЦС) может оказать значительное влияние на его безопасность, производительность и совместимость. Хотя для большинства ЦС может быть достаточно параметров шифрования по умолчанию, возможность применения настраиваемых параметров может быть полезна для администраторов и разработчиков приложений с более глубоким пониманием принципов шифрования и потребностью в гибкой настройке. Параметры шифрования можно реализовать с помощью поставщиков служб шифрования (CSP) или поставщиков хранилищ ключей (KSP).

При использовании сертификата RSA для ЦС длина ключа должна быть не менее 2048 бит. Для ЦС не следует пытаться использовать сертификат RSA с длиной ключа менее 1024 бит. Служба ЦС (certsvc) не запустится, если установлен ключ RSA длиной менее 1024 бит.

Поставщики CSP - это аппаратные и программные компоненты в операционных системах Windows, которые предоставляют общие функции шифрования. Написание поставщиков CSP позволяет реализовывать различные алгоритмы шифрования и подписания.

Поставщики KSP с помощью ключей обеспечивают надежную защиту компьютеров, работающих под управлением минимальной серверной версии Windows Server 2008 R2 или минимальной клиентской версии операционной системы Windows Vista.

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

Если в результате изменения требований поддержки вы получаете возможность применить более надежные параметры безопасности, например перенос в KSP, и более строгий хэш-алгоритм, воспользуйтесь рекомендациями из раздела Миграция ключа центра сертификации из поставщика служб шифрования (CSP) в поставщик хранилища ключей (KSP) .

Разрешить взаимодействие с администратором, если ЦС обращается к закрытому ключу - это параметр, который обычно используется с аппаратными модулями безопасности (HSM). Он позволяет поставщику служб шифрования запрашивать у пользователя дополнительные данные для аутентификации при доступе к закрытому ключу ЦС. Этот параметр помогает предотвратить несанкционированное использование ЦС и его закрытого ключа благодаря тому, что администратор должен вводить пароль перед каждой операцией шифрования.

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

Поставщик служб шифрования

Длины ключей

Хеш-алгоритм

Microsoft Base Cryptographic Provider версии 1.0

Microsoft Base DSS Cryptographic Provider

Microsoft Base Smart Card Crypto Provider

Microsoft Enhanced Cryptographic Provider версии 1.0

Microsoft Strong Cryptographic Provider

RSA#Microsoft Software Key Storage Provider

DSA#Microsoft Software Key Storage Provider

ECDSA_P256#Microsoft Software Key Storage Provider

ECDSA_P384#Microsoft Software Key Storage Provider

ECDSA_P521#Microsoft Software Key Storage Provider

RSA#Microsoft Smart Card Key Storage Provider

ECDSA_P256#Microsoft Smart Card Key Storage Provider

ECDSA_P384#Microsoft Smart Card Key Storage Provider

ECDSA_P521#Microsoft Smart Card Key Storage Provider

Создание имени ЦС

Перед настройкой центров сертификации (ЦС) в организации следует определить соглашение об именовании ЦС.

Создать имя можно с помощью символов стандарта "Юникод", однако, если возможность взаимодействия имеет особую важность, следует использовать кодировку ANSI. Например, маршрутизаторы некоторых типов не смогут использовать службу регистрации сертификатов для сетевых устройств, если имя ЦС содержит специальные символы, такие как символ подчеркивания.

Если используются нелатинские символы (например, символы кириллицы, арабского или китайского алфавита), имя ЦС должно содержать менее 64 символов. Если используются только нелатинские символы, длина имени ЦС не может превышать 37 символов.

В доменных службах Active Directory (AD DS) имя, которое вы указываете при настройке сервера в качестве ЦС, становится общим именем ЦС и указывается в каждом выдаваемом им сертификате. По этой причине важно не использовать полное доменное имя в качестве общего имени ЦС. Таким образом, злоумышленник, получивший копию сертификата, не сможет определить и использовать полное доменное имя ЦС для создания уязвимости в системе безопасности.

Предупреждение

Имя ЦС не должно совпадать с именем компьютера (именем NetBIOS или DNS). Кроме того, если вы измените имя сервера после установки служб сертификатов Active Directory (AD CS), все выданные ЦС сертификаты станут недействительны. Дополнительные рекомендации, касающиеся имен ЦС, можно найти в следующей вики-статье TechNet: Рекомендации по составлению имен центров сертификации (ЦС) .

Чтобы изменить имя сервера после установки служб AD CS, необходимо удалить ЦС, изменить имя сервера, повторно установить ЦС, используя те же ключи, и изменить реестр так, чтобы использовались существующие ключи и база данных ЦС. Переустанавливать ЦС при переименовании домена не нужно. Однако вам потребуется перенастроить ЦС в соответствии с новым именем.

Получение запроса на сертификат

После установки корневого центра сертификации (ЦС) многие организации устанавливают один подчиненный ЦС или несколько с целью реализации ограничений в инфраструктуре открытых ключей (PKI) с помощью политик и выдачи сертификатов конечным клиентам. Использование даже одного подчиненного ЦС может помочь защитить корневой ЦС от лишнего доступа. При установке подчиненного ЦС необходимо получить сертификат от родительского ЦС.

Если родительский ЦС подключен к сети, вы можете использовать параметр Отправить запрос сертификата в родительский ЦС и выбрать родительский ЦС по имени ЦС или имени компьютера.

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

Если вы получили сертификат подчиненного ЦС, который не содержит полного пути сертификации, новый подчиненный ЦС, который вы устанавливаете, должен иметь возможность построения действительной цепочки ЦС при запуске. Чтобы создать действительный путь сертификации, выполните указанные ниже действия.

    Установите сертификат родительского ЦС в хранилище сертификатов Промежуточные центры сертификации на компьютере, если родительский ЦС не является корневым.

    Установите сертификаты всех остальных промежуточных ЦС в цепочке.

    Установите сертификат корневого ЦС в хранилище "Доверенные корневые центры сертификации".

Примечание

Эти сертификаты должны быть установлены в хранилище сертификатов до установки сертификата ЦС в только что настроенном подчиненном ЦС.

Проверка срока действия

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

У каждого сертификата есть срок действия. По истечении срока действия сертификат больше не считается пригодным для использования или заслуживающим доверия.

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

Выбор базы данных ЦС

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

Расположение базы данных сертификатов и ее файлов журналов хранится в реестре в следующем разделе:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration

Раздел содержит следующие параметры:

  • DBSystemDirectory

Примечание

Базу данных сертификатов и файлы журналов можно переместить после установки. Дополнительная информация доступна в статье 283193 базы знаний Майкрософт.

Настройка ЦС

После установки корневого или подчиненного ЦС необходимо настроить расширения доступа к информации о центрах сертификации (AIA) и точки распространения списка отзыва сертификатов (CDP), прежде чем ЦС начнет выпускать сертификаты. Расширение AIA указывает, где находятся актуальные сертификаты для ЦС. Расширение CDP указывает, где находятся актуальные списки отзыва сертификатов, подписанные ЦС. Эти расширения применяются ко всем сертификатам, выдаваемым ЦС.

Настройка этих расширений гарантирует, что данная информация включается в каждый сертификат, выдаваемый ЦС, и доступна всем клиентам. Благодаря этому клиенты PKI будут испытывать минимальное возможное количество сбоев из-за непроверенных цепочек сертификатов или отозванных сертификатов, которые могут приводить к неудавшимся попыткам подключения к VPN, неудавшимся попыткам входа по смарт-картам или непроверенным подписям электронной почты.

Администратор ЦС может добавлять, удалять или изменять точки распространения списков отзыва сертификатов, а также расположения выдачи сертификатов CDP и AIA. Изменение URL-адреса точки распространения списка отзыва сертификатов затрагивает только сертификаты, которые будут выдаваться в дальнейшем. Ранее выданные сертификаты будут по-прежнему ссылаться на исходное расположение. Вот почему эти расположения следует указывать до того, как ЦС начнет распространять сертификаты.

При настройке URL-адресов для расширения CDP примите во внимание приведенные ниже рекомендации.

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

    Скорректируйте URL-расположения по умолчанию (LDAP:/// и HTTP://) на вкладке Расширения страницы Расширение свойств центра сертификации согласно вашим требованиям.

    Опубликуйте список отзыва сертификатов в HTTP-расположении в Интернете или экстрасети, чтобы пользователи и приложения вне организации могли выполнять проверку сертификата. Можно опубликовать URL-адреса LDAP и HTTP для расположений CDP, чтобы дать клиентам возможность получать данные списка отзыва сертификатов по HTTP и LDAP.

    Помните, что клиенты Windows всегда получают список URL-адресов последовательно, пока не будет получен действительный список отзыва сертификатов.

    Используйте HTTP-расположения CDP для обеспечения доступа к спискам отзыва сертификатов со стороны клиентов с операционными системами, отличными от Windows.

Примечание

Дополнительные сведения о списках отзыва сертификатов (в том числе разностных) см. в статье .

Среда Windows PowerShell и certutil поддерживают переменные значения (со знаком процента (%) перед ними) при публикации расположений CDP и AIA. На вкладке Расширение свойств ЦС поддерживаются переменные в скобках. В приведенной ниже таблице сопоставляются переменные из разных интерфейсов и описываются их значения.

Переменная

Имя на вкладке расширений

Описание

<имя_DNS-сервера>

DNS-имя компьютера ЦС. Если компьютер подключен к домену DNS, это полное доменное имя. В противном случае это имя узла компьютера.

<сокращенное_имя_сервера>

Имя NetBIOS сервера ЦС

<имя_ЦС>

<имя_сертификата>

Позволяет каждой дополнительной редакции сертификата иметь уникальный суффикс.

Не используется

<контейнер_конфигураций>

Расположение контейнера конфигурации в доменных службах Active Directory (AD DS)

<усеченное_имя_ЦС>

Имя ЦС, усеченное до 32 символов, со знаком "решетка" (#) в конце

<суффикс_имени_CLR>

Добавляет суффикс к имени файла при публикации списка отзыва сертификатов в файле или по URL-адресу.

<разностный_список_разрешен>

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

<класс_объектов_CDP>

Идентификатор класса объектов для точек распространения списков отзыва сертификатов, который используется при публикации по URL-адресу LDAP.

<класс_объектов_ЦС>

Идентификатор класса объектов для ЦС, который используется при публикации по URL-адресу LDAP.

Публикация расширения AIA

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

Расширение AIA можно настроить с помощью интерфейса центра сертификации, среды Windows PowerShell или команды certutil. В таблице ниже описываются параметры, которые можно задать для расширения AIA при использовании этих методов.

В примерах публикации расширения AIA в этом разделе используется указанный ниже сценарий.

    Первый протокол, который клиентские компьютеры должны использовать для получения информации AIA, - HTTP.

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

    Протокол OCSP не используется.

Публикация расширения AIA с помощью интерфейса

Имена переменных и параметров, используемых в интерфейсе, приведены в таблицах выше. Получить доступ к этому интерфейсу можно через интерфейс центра сертификации. На панели содержимого щелкните ЦС правой кнопкой мыши, выберите пункт Свойства , а затем пункт Расширения . В списке Выберите расширение: выберите пункт Доступ к сведениям о центрах сертификации (AIA) .

Рис. 1. Меню расширения AIA

В пользовательском интерфейсе настраиваются следующие расположения и параметры:

    C:\Windows\system32\CertSrv\CertEnroll\<имя_DNS-сервера>_<имя_ЦС><имя_сертификата>.crt

    Добавить локальный путь с помощью командлета Windows PowerShell Add-CAAuthorityInformationAccess невозможно. Сертификат ЦС будет автоматически опубликован в расположении по умолчании: %systemroot%\system32\CertSrv\CertEnroll.

Публикация расширения AIA с помощью команды certutil

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

Certutil -setreg CA\CACertPublicationURLs "1:C:\Windows\system32\CertSrv\CertEnroll\%1_%3%4.crt\n2:http://www.contoso.com/pki/%1_%3%4.crt\n1:file://\\App1.corp.contoso.com\pki\%1_%3%4.crt\n2:ldap:///CN=%7,CN=AIA,CN=Public Key Services,CN=Services,%6%11"

Примечание

    После изменения этих путей обязательно перезапустите службу CertSvc. Для этого можно выполнить следующую команду Windows PowerShell: restart-service certsvc

    В команде certutil все пути следует указывать в виде одной непрерывной строки, заключенной в кавычки. Каждый путь отделяется символом \n.

Публикация расширения CDP

Расширение CDP сообщает клиентским компьютерам, где находится самый последний список отзыва сертификатов. Таким образом клиент может проверить, не отозван ли определенный сертификат.

Расширение CDP можно настроить с помощью интерфейса центра сертификации, среды Windows PowerShell или команды certutil. В таблице ниже описываются параметры, которые можно задать для расширения CDP при использовании этих методов.

Имя параметра в интерфейсе

Параметр Windows PowerShell

Значение в Certutil

PublishToServer

Включить во все CRL.

(Указывает место публикации в Active Directory при ручной публикации.)

Включить в CRL.

(Клиенты используют данные для поиска в размещениях Delta CRL.)

AddToFreshestCrl

Включать в CDP-расширение выданных сертификатов

AddToCertificateCdp

PublishDeltaToServer

Включать в расширение IDP выданных CRL

Примечание

Расширение выдающей точки распространения (IDP) используется клиентами, отличными от Windows, для проверки отзыва сертификатов. Расширение IDP позволяет развертывать разделенные списки отзыва сертификатов при использовании сторонних ЦС. Разделенные списки отзыва сертификатов позволяют стороннему ЦС публиковать списки отзыва сертификатов, каждый из которых содержит сертификаты только определенных типов. Например, можно создать отдельные списки отзыва сертификатов для конечных сертификатов и сертификатов ЦС. В частности, в IDP можно задать указанные ниже параметры.

    onlyContainUserCerts. Этот параметр IDP допускает наличие только таких сертификатов, в расширении "Основные ограничения" которых нет значения cA. Если сертификат не содержит расширение "Основные ограничения", то предполагается, что это не сертификат ЦС.

    onlyContainsCACerts. Этот параметр IDP допускает включение в список отзыва сертификатов только тех сертификатов, расширение "Основные ограничения" которых имеет значение cA.

Если разрешена публикация разностных списков отзыва сертификатов на веб-сервере IIS, необходимо изменить конфигурацию IIS по умолчанию, задав атрибут allowDoubleEscaping=true элемента requestFiltering в разделе system.web конфигурации IIS. Например, чтобы разрешить двойное преобразование для виртуального каталога PKI веб-сайта IIS по умолчанию, выполните на веб-сервере IIS следующую команду: appcmd set config "Default Web Site/pki" -section:system.webServer/security/requestFiltering -allowDoubleEscaping:true. Дополнительную информацию можно найти в статье: .

В примерах публикации расширения CDP в этом разделе используется указанный ниже сценарий.

    Доменное имя - corp.contoso.com.

    В домене есть веб-сервер с именем App1.

    На сервере App1 есть общая папка с именем PKI, для которой ЦС предоставлены разрешения на чтение и запись.

    Сервер App1 имеет DNS-запись CNAME со значением www и общий виртуальный каталог с именем PKI.

    Первый протокол, который клиентские компьютеры должны использовать для получения информации CDP, - HTTP.

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

    Настраиваемый ЦС представляет собой подключенный к сети выдающий ЦС.

    IDP не используется.

Публикация расширения CDP с помощью интерфейса

Имена переменных и параметров, используемых в интерфейсе, приведены в предыдущих таблицах. Получить доступ к этому интерфейсу можно через интерфейс центра сертификации. На панели содержимого щелкните ЦС правой кнопкой мыши, выберите пункт Свойства , а затем пункт Расширения . В списке Выберите расширение: выберите пункт Точка распространения списков отзыва (CDP) .

Рис. 2. Меню расширения CDP

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

    C:\Windows\System32\CertSrv\CertEnroll\<имя_СЦС><суффикс_имени_CLR><разностные_CRL_разрешены>.crl

    • Публикация разностных CRL по адресу

  • Публикация расширения CDP с помощью команды certutil

    Команда certutil позволяет настроить расширение CDP для заданного сценария:

    Certutil -setreg CA\CRLPublicationURLs "65:C:\Windows\system32\CertSrv\CertEnroll\%3%8%9.crl\n6:http://www.contoso.com/pki/%3%8%9.crl\n65:file://\\App1.corp.contoso.com\pki\%3%8%9.crl\n10:ldap:///CN=%7%8,CN=%2,CN=CDP,CN=Public Key Services,CN=Services,%6%10"

    Примечание

      После изменения этих путей обязательно перезапустите службу ЦС. В Windows PowerShell можно перезапустить CertSvc, выполнив следующую команду: restart-service certsvc

      В команде certutil введите все пути в виде одной непрерывной строки, заключенной в кавычки, но разделите пути символом \n.

    Чтобы опубликовать список отзыва сертификатов, можно выполнить команду certutil -crl в ЦС из Windows PowerShell или из командной строки от имени администратора. Дополнительные сведения о настройке и публикации CRL см. в разделе .

    Проверка конфигурации

    Чтобы проверить конфигурацию ЦС, можно выполнить указанные ниже команды в Windows PowerShell или окне командной строки.

    Для проверки конфигураций публикации AIA и CDP можно воспользоваться средством просмотра инфраструктуры PKI предприятия (PKIView.msc). Дополнительные сведения см. в разделе .

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

В предыдущей статье «Узел сеансов удаленных рабочих столов в Windows Server 2012 R2» было рассказано о настройке удаленных рабочих столов на основе сеансов. В этом случае клиенту необходимо зайти на страницу веб-доступа по защищенному протоколу https.

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

Чтобы https-страница открывалась без упоминаний об ошибке сертификата, необходимо на сервере с установленной ролью веб-доступа получить ssl-сертификат. Сделать этого можно абсолютно бесплатно при помощи Службы сертификации Active Directory, про установку которой было написано в статье «Установка Службы сертификации Active Directory (AD CS)».

Напомню, о каких серверах пойдет речь: FS-01 (сервер со службой сертификации AD CS) и TS-00 (сервер с ролью веб-доступа служб удаленных рабочих столов).

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

На сервере FS-01 открываем оснастку «Центр сертификации»:

Выбираем центр сертификации (в моем случае с названием sektor-gaza-FS-01-CA-2), кликаем правой кнопкой мыши на разделе «Шаблоны сертификации» и далее выбираем пункт «Управление»:

Откроется Консоль шаблонов сертификатов:

В области «Отображаемое имя шаблона» кликаем правой кнопкой мыши на «Веб-сервер» и далее из контекстного меню выбираем пункт «Свойства»:

В окне «Свойства: Веб-сервер» переходим на вкладку «Безопасность» и для группы «Прошедшие проверку» ставим галочку «Разрешить» напротив пункта «Заявка»:

Таким образом, мы разрешаем данной группе безопасности подавать заявки на запрос сертификатов. При необходимости можно добавить другую группу безопасности и выполнить данную настройку для нее, а для группы "Прошедшие проверку" оставить разрешение только на "Чтение".

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

На сервере TS-00 открываем оснастку «Диспетчер служб IIS»:

Нажимаем на названии сервера и двойным кликом левой кнопкой мыши запускаем «Сертификаты сервера»:

В данном окне отображаются все сертификаты для локального сервера. Как видим, тут присутствует только самозаверенный сертификат, который создается автоматически:

Чтобы создать ssl-сертификат, которому будут доверять другие клиенты вашей доменной сети, в области «Действия» выберите пункт «Создать сертификат домена».

Откроется окно создания сертификата домена:

Заполните все доступные поля и нажмите «Далее». Поскольку это будет ваш внутренний сертификат от Центра сертификации AD CS, то в качестве значений можно использовать любые данные. Но в поле «Полное имя» лучше указать название вашего сайта (мой сайт доступен по адресу , и в качестве имени я указал «TS-00»), т. к. в противном случае браузер может возвращать ошибку о несоответствии имени сайта, на который выдан сертификат.

Выбор Центра сертификации:

В этом окне в поле «Локальный центр сертификации» необходимо указать имя вашего Центра сертификации AD CS и имя сервера (с установленной Службой сертификации), а в поле «Понятное имя» укажите простое и короткое имя Центра сертификации. После нажимаем кнопку «Готово». Обратите внимание, что в первом поле присутствует символ «\», разделяющий имя центра сертификации и имя сервера. Также можно воспользоваться кнопкой «Выбрать» и далее указать необходимый Центр сертификации, но данная кнопка не всегда бывает доступной.

Через несколько секунд ssl-сертификат будет создан, и откроется окно «Сертификаты сервера»:

Теперь здесь отображается только что созданный сертификат. Как видим, его поставщиком является Центр сертификации AD CS sektor-gaza-FS-01-CA-2, т. е. все прошло успешно.

Переходим на сервер FS-01 в оснастку «Центр сертификации» и открываем раздел «Выданные сертификаты»:

Здесь также можно увидеть созданный ssl-сертификат для сервера TS-00.

Возвращаемся на сервер TS-00 в оснастку «Диспетчер служб IIS», открываем список «Сайты, нажимаем на названии нашего сайта (в моем случае это «Default Web Site») и в области «Действия» выбираем пункт «Привязки»:

В окне «Привязки сайта» выбираем протокол «https» и нажимаем кнопку «Изменить»:

В окне «Изменение привязки сайта» открываем раскрывающий список «SSL-сертификат» и выбираем наш созданный сертификат (в моем случае это «FS-01-CA-2»):

Нажимаем «ОК» и в окне «Привязки сайта» выбираем «Закрыть».

Теперь необходимо перезапустить веб-сайт:

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

3. Проверка правильности установки ssl-сертификата

Чтобы проверить, правильно ли установлен ssl-сертикат, можно зайти на страницу веб-доступа (в моем случае это

Установка самоподписанных сертификатов весьма частая задача для системного администратора. Обычно это делается вручную, но если машин не один десяток? И как быть при переустановке системы или покупке нового ПК, ведь сертификат может быть и не один. Писать шпаргалки-напоминалки? Зачем, когда есть гораздо более простой и удобный способ - групповые политики ActiveDirectory. Один раз настроив политику можно больше не беспокоится о наличии у пользователей необходимых сертификатов.

Сегодня мы рассмотрим распространение сертификатов на примере корневого сертификата Zimbra, который мы экспортировали в . Наша задача будет стоять следующим образом - автоматически распространять сертификат на все компьютеры входящие в подразделение (OU) - Office . Это позволит не устанавливать сертификат туда, где он не нужен: на севера, складские и кассовые рабочие станции и т.д.

Откроем оснастку и создадим новую политику в контейнере Объекты групповой политики , для этого щелкните на контейнере правой кнопкой и выберите Создать . Политика позволяет устанавливать как один, так и несколько сертификатов одновременно, как поступить - решать вам, мы же предпочитаем создавать для каждого сертификата свою политику, это позволяет более гибко менять правила их применения. Также следует задать политике понятное имя, чтобы открыв консоль через полгода вам не пришлось мучительно вспоминать для чего она нужна.

После чего перетащите политику на контейнер Office , что позволит применить ее к данному подразделению.

Теперь щелкнем на политику правой кнопкой мыши и выберем Изменить . В открывшемся редакторе групповых политик последовательно разворачиваем Конфигурация компьютера - Конфигурация Windows - Параметры безопасности - Политики открытого ключа - . В правой части окна в меню правой кнопкой мыши выбираем Импорт и импортируем сертификат.

Политика создана, теперь самое время проверить правильность ее применения. В оснастке Управление групповой политикой выберем Моделирование групповой политики и запустим по правому щелчку Мастер моделирования .

Большинство параметров можно оставить по умолчанию, единственное что следует задать - это пользователя и компьютер для которых вы хотите проверить политику.

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

После чего проверим работу политики на клиентском ПК, для этого обновим политики вручную командой:

Gpupdate

Теперь откроем хранилище сертификатов. Проще всего это сделать через Internet Explorer : Свойства обозревателя - Содержание - Сертификаты . Наш сертификат должен присутствовать в контейнере Доверенные корневые центры сертификации .

Как видим - все работает и одной головной болью у администратора стало меньше, сертификат будет автоматически распространяться на все компьютеры помещенные в подразделение Office . При необходимости можно задать более сложные условия применения политики, но это уже выходит за рамки данной статьи.

В этой части серии использованы следующие сокращения и аббревиатуры:
  • PKI (Public Key Infrastructure ) - инфраструктура открытого ключа, набор средств (технических, материальных, людских и т. д.), распределённых служб и компонентов, в совокупности используемых для поддержки криптозадач на основе закрытого и открытого ключей. Поскольку аббревиатура ИОК не является распространённой, здесь и далее будет использоваться более знакомая англоязычная аббревиатура PKI.
  • X.509 - стандарт ITU-T для инфраструктуры открытого ключа и инфраструктуры управления привилегиями.
  • ЦС (Центр Сертификации ) - служба выпускающая цифровые сертификаты. Сертификат - это электронный документ, подтверждающий принадлежность открытого ключа владельцу.
  • CRL (Certificate Revocation List ) - список отзыва сертификатов. Подписанный электронный документ, публикуемый ЦС и содержащий список отозванных сертификатов, действие которых прекращено по внешним причинам. Для каждого отозванного сертификата указывается его серийный номер, дата и время отзыва, а также причина отзыва (необязательно). Приложения могут использовать CRL для подтверждения того, что предъявленный сертификат является действительным и не отозван издателем… Приложения могут использовать CRL для подтверждения, что предъявленный сертификат является действительным и не отозван издателем.
  • SSL (Secure Sockets Layer ) или TLS (Transport Layer Security ) - технология обеспечивающая безопасность передачи данных между клиентом и сервером поверх открытых сетей.
  • HTTPS (HTTP/Secure ) - защищённый HTTP, является частным случаем использования SSL.
  • Internet PKI - набор стандартов, соглашений, процедур и практик, которые обеспечивают единый (унифицированный) механизм защиты передачи данных на основе стандарта X.509 по открытым каналам передачи данных.
  • CPS (Certificate Practice Statement ) - документ, описывающий процедуры управления инфраструктурой открытого ключа и цифровыми сертификатами.

Общий план развёртывания

Для развёртывания службы сертификатов нам потребуется четыре машины с Windows Server 2016, которые будут выполнять следующие функции:
  1. Контроллер домена - необходим для функционирования домена Active Directory;
  2. Веб-сервер - будет обеспечивать доступ к сертификатам ЦС и спискам отзывов для клиентов;
  3. Корневой ЦС - будет выполнять функции корневого ЦС;
  4. Подчинённый ЦС - будет выполнять функции издающего ЦС.
Развёртывание PKI будет проходить поэтапно на каждом сервере в том порядке, в котором они указаны выше. Подготовка контроллера домена будет сводиться к обеспечению функций Active Directory, GPO и учётных записей.

Подготовка контроллера домена

Перед развёртыванием PKI необходимо убедиться в работоспособности домена Active Directory и что все необходимые серверы (а именно, веб-сервер и подчинённый ЦС) введены в домен. А так же, что подготовлены необходимые учётные записи. На данном этапе нам потребуется только учётная запись с правами Enterprise Admins.
Ряд операций на подчинённом ЦС требуют прав Enterprise Admins, поскольку производится запись в раздел configuration naming context. Если это корневой домен леса, то для этих операций достаточно прав Domain Admins.

Следующим шагом будет конфигурирование политики автоматической выдачи сертификатов (autoenrollment). Эта политика нужна будет в процессе эксплуатации служб сертификатов для автоматической выдачи и обновления истёкших сертификатов на клиентах. Политика настраивается в конфигурации компьютера и пользователя:
  • Computer Configuration\Policies\Windows Settings\Security Settings\Public Key Infrastructure\Certificate Services Client – Auto-Enrollment
  • User Configuration\Policies\Windows Settings\Security Settings\Public Key Infrastructure\Certificate Services Client – Auto-Enrollment
Политика в обоих разделах должна быть сконфигурирована как показано на следующей картинке:

Сконфигурированный объект групповых политик (GPO) должен быть пристыкован к корню домена. Данную процедуру необходимо повторить во всех доменах текущего леса Active Directory.

Далее, необходимо создать запись типа CNAME с именем CDP на сервере ДНС, который будет указывать на веб-сервер (IIS). Эту процедуру необходимо выполнить как на внутреннем, так и на внешнем (который обслуживает зону в интернете) серверах ДНС. Запись можно создать при помощи PowerShell:

Add-DnsServerResourceRecord -CName -Name "cdp" -HostNameAlias "iis.contoso.com" -ZoneName "contoso.сom" 

Подготовка веб-сервера

На веб-сервере нам потребуется выполнить следующее: установить службу IIS (если ещё не установлена), создать общую папку и сконфигурировать веб-сайт на использование этой папки.
  • Установка службы IIS
Для установки службы IIS можно воспользоваться следующей командой:

Install-WindowsFeature -Name Web-Server, Web-WebServer -IncludeManagementTools

  • Создание папки PKIdata
Согласно нашей конфигурационной таблице (см. часть 2), для хранения сертификатов ЦС и списков отзыва нам потребуется общая папка с сетевым именем PKI по следующему пути: C:\InetPub\wwwroot\PKIdata

New-Item -ItemType Directory -Path C:\InetPub\wwwroot -Name PKIdata -Force New-SmbShare -Path C:\inetpub\wwwroot\PKIdata -Name PKI -FullAccess everyone
После этого нужно выдать права NTFS на запись в эту папку для группы Cert Publishers.

  • Создание веб-сайта
Теперь нам необходимо создать отдельный веб-сайт с именем “CDP” и хост-именем “cdp.contoso.com”:

New-Website -Name CDP -HostHeader cdp.contoso.com -PhysicalPath C:\inetpub\wwwroot\PKIdata New-WebVirtualDirectory -Site cdp -Name pki -PhysicalPath C:\inetpub\wwwroot\PKIdata

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

Import-Module -Name WebAdministration Set-WebConfigurationProperty -PSPath "MACHINE/WEBROOT/APPHOST" -Filter /system.webServer/security/requestFiltering -name allowdoubleescaping -Value "true"

Установка корневого ЦС

Фактическая установка ЦС будет включать в себя несколько этапов:
  1. Установка компонента ЦС;
  2. Проверка установки.
Перед установкой корневого ЦС, необходимо ещё раз вернуться к конфигурационным таблицам:
В таблице я выделил только те параметры, которые задаются до и в процессе установки. Остальные параметры будут настраиваться после установки.

Предварительная конфигурация

Предварительные конфигурационные файлы необходимы для ряда настроек, которые невозможно задать во время установки компонента (ни при помощи графического интерфейса, ни при помощи командной строки или PowerShell). К ним обычно относятся настройки расширений сертификата ЦС. Например, для настройки расширения сертификата Certificate Policies, необходимо использовать предварительный конфигурационный файл, в котором настраиваются параметры расширения. Для Microsoft ADCS таким файлом является файл CAPolicy.inf, который должен быть расположен по следующему пути: %windir%\CAPolicy.inf. С синтаксисом этого файла можно ознакомиться в следующей статье: How CA Certificates Work . Поскольку никаких специфичных или нестандартных настроек в сертификате корневого ЦС мы делать не будем, поэтому и предварительный конфигурационный файл сейчас нам не потребуется.

Установка компонента ЦС


После этого сверьтесь с предыдущей таблицей, чтобы определить параметры установки. Исходя из данных таблицы, зададим параметры для командлета Install-AdcsCertificationAuthority :

Install-AdcsCertificationAuthority -CACommonName "Contoso Lab Root Certification Authority" ` -CADistinguishedNameSuffix "OU=Division Of IT, O=Contoso Pharmaceuticals, C=US" ` -CAType StandaloneRootCA ` -CryptoProviderName "RSA#Microsoft Software Key Storage Provider" ` -KeyLength 4096 ` -HashAlgorithmName SHA256 ` -ValidityPeriod "years" ` -ValidityPeriodUnits 15 ` -DatabaseDirectory $(Join-Path $env:SystemRoot "System32\CertLog")

Итоговая настройка

После установки компонента ЦС необходимо настроить рабочие параметры ЦС. Рассмотрим ещё раз элементы, которые нам необходимо настроить:
Название параметра Значение параметра
Сервер ЦС
15 лет
Точки публикации CRT 1) По-умолчанию
2) C:\CertData\contoso-rca< CertificateName >.crt
< CertificateName >.crt*
Точки распространения CRT 1) cdp.contoso.com/pki/contoso-rca < CertificateName >.crt
Точки публикации CRL 1) По-умолчанию
2) C:\CertData\contoso-rca< CRLNameSuffix >.crt
3) IIS:\InetPub\PKIdata\contoso-rca< CRLNameSuffix >.crt*
Точки распространения CRL 1) cdp.contoso.com/pki/contoso-rca < CRLNameSuffix >.crt
Сертификат
Состав CRL Base CRL
Base CRL
Тип Base CRL
Срок действия 6 месяцев
Расширение срока действия 1 месяц
Алгоритм подписи SHA256
Публикация в AD Нет
* - копируется на сервер IIS

Скрипт настройки

Для конфигурирования настроек ЦС мы будем использовать BATCH скрипт с использованием утилиты certutil.exe:

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: Root CA post-installation script:: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: все комментарии помечены знаком двойного двоеточия (::) :: записываем пути для публикации и распространения сертификатов ЦС и списков отзыва:: в отдельные переменные SET CrlLocal=C:\CertData\contoso-rca%%8.crl SET CDP=http://cdp.contoso.com/pki/contoso-rca%%8.crl SET AIA=http://cdp.contoso.com/pki/contoso-rca%%4.crt:: Создаём папку в корне системного диска, куда будут записываться файлы ЦС. Эта папка:: создаётся для удобства, чтобы не искать папку CertEnroll в глубине папки Windows. md C:\CertData:: Настраиваем пути публикации и распространения для сертификатов ЦС и списков отзыва. certutil -setreg CA\CRLPublicationURLs "1:%windir%\system32\CertSrv\CertEnroll\%%3%%8.crl\n1:%CrlLocal%\n2:%CDP%" certutil -setreg CA\CACertPublicationURLs "1:%windir%\system32\CertSrv\CertEnroll\%%1_%%3%%4.crt\n2:%AIA%" :: Поскольку мы не можем указывать пути публикации для файла сертификата, мы:: вручную переименовываем его в необходимый формат и копируем в папку CertData ren %windir%\system32\CertSrv\CertEnroll\*.crt contoso-rca.crt copy %windir%\system32\CertSrv\CertEnroll\contoso-rca.crt C:\CertData:: Задаём срок действия издаваемых сертификатов certutil -setreg CA\ValidityPeriodUnits 15 certutil -setreg CA\ValidityPeriod "Years" :: Задаём время жизни списков отзыва согласно нашей конфигурации certutil -setreg CA\CRLPeriodUnits 180 certutil -setreg CA\CRLPeriod "Days" certutil -setreg CA\CRLOverlapPeriod "Months" certutil -setreg CA\CRLOverlapUnits 1:: Отключаем дифференциальные списки отзыва (или Delta CRL) certutil -setreg CA\CRLDeltaPeriodUnits 0:: Отключаем генерацию кросс-сертификатов certutil -setreg ca\CRLFlags +CRLF_DISABLE_ROOT_CROSS_CERTS:: Конфигурируем ЦС для включения истёкших отозванных сертификатов в списки отзыва certutil –setreg ca\CRLFlags +CRLF_PUBLISH_EXPIRED_CERT_CRLS:: Включаем полный аудит событий на ЦС** certutil -setreg CA\AuditFilter 127:: если версия ОС ниже, чем Windows Server 2016 необходимо задать алгоритм подписи. :: Windows Server 2016 по умолчанию использует SHA256. Certutil -setreg ca\csp\CNGHashAlgorithm SHA256:: Перезапускаем службу ЦС для применения изменений. net stop certsvc && net start certsvc:: Публикуем списки отзыва. certutil -CRL
Ряд команд нуждается в более развёрнутом пояснении. Команды с настройкой расширений CRL Distribution Points и Authority Information Access имеют специфический синтаксис. Во-первых, пути публикации и распространения указываются в одну строку и разделяются символом новой строки «\n». Каждый путь начинается с числа и отделяется от самого пути символом двоеточия. Это число в начале пути указывает битовую маску флагов публикации для конкретного пути. Значение каждого бита для расширений CDP и AIA приведено в следующей таблице:

Название галочки в MMC Числовое значение Название галочки в MMC Числовое значение
Publish CRLs to this location. 1 Include in the AIA extension of issued
certificates.
2
Include in the CDP extension of issued certificates. 2 Include in the Online Certificate Status. Protocol (OCSP) extension. 32
Include in CRLs. Clients use this to find Delta CRL locations. 4
Include in all CRLs. Specifies where to publish in AD DS when publishing manually. 8
Publish Delta CRLs to this location. 64
Include in the IDP extension of issued CRLs. 128
Если взять путь для CDP: 1:%windir%\system32\CertSrv\CertEnroll\%%3%%8.crl, то цифра 1 в начале строки говорит о том, что это путь физического размещения файла (Publich CRLs to this location). Другие опции здесь не используются. Для включения пути, который будет публиковаться в издаваемых сертификатах, мы будем использовать опцию «Include in the CDP extension of issued certificates» с числовым значением 2. Такой же принцип применяется и для остальных путей.

В каждом пути включены переменные с двойным знаком процента «%%». Это переменные, которые ЦС при формировании пути будет автоматически заполнять исходя из типа переменной.

Первый знак процента используется как эскейп-символ, чтобы процессор командной строки воспринял следующий знак процента как литерал. Дело в том, что знак процента в командном процессоре CMD является служебным символом. Сервер ЦС так же использует знак процента для указания, что это переменная. Для исключения конфликта в командном процессоре используется последовательность из двух знаков процента.

Следующая таблица содержит описание всех доступных переменных и их краткое описание:
Переменная в редакторе расширений CDP и AIA Переменная в скрипте Где используется Значение
< ServerDNSName > %1 CDP/AIA Полное ДНС имя сервера ЦС
< ServerShortName > %2 CDP/AIA Короткое (NetBIOS) имя сервера ЦС
< CaName > %3 CDP/AIA Имя ЦС (атрибут CN в сертификате)
< CertificateName > %4 AIA Индекс сертификата ЦС. Используется только при обновлении сертификата ЦС.
< ConfigurationContainer > %6 CDP/AIA Путь к configuration naming context в Active Directory
< CATruncatedName > %7 CDP/AIA Укороченное (санитизированное) имя сертификата ЦС. В общем случае будет совпадать с полным именем ЦС
< CRLNameSuffix > %8 CDP Индекс ключа ЦС, которым был подписан данный CRL. Используется при обновлении ключевой пары ЦС.
< DeltaCRLAllowed > %9 CDP Добавляет суффикс для Delta CRL (знак «+»).
< CDPObjectClass > %10 CDP
< CAObjectClass > %11 CDP/AIA Класс объекта в Active Directory
В нашем конкретном случае будут использоваться только две переменные: и . Для исходного сертификата ЦС эти переменные пустые. При обновлении сертификата ЦС, переменная будет заменяться на «(index)», где index - номер сертификата ЦС. Индексирование начинается с нуля. Например, имя файла для последующего сертификата ЦС будет иметь вид: contoso-rca(1).crt. И так далее. То же самое касается и переменной, только здесь будет указываться индекс ключевой пары ЦС.

Отдельного внимания заслуживает команда, которая включает аудит операций на сервере ЦС, которые регистрируются в системном журнале Security.evtx. К ним относятся все основные операции: запуск/остановка службы, отправление запроса, выпуск или отклонение сертификата, выпуск списка отзыва. Эту строчку можно найти практически в каждом постустановочном скрипте для ЦС, которые можно найти в похожих статьях в интернете. И практически никто не утруждает себя в подробном объяснении механизма его работы, просто копируют из статьи в статью.

Особенность ведения аудита ЦС заключается в том, что настройка флагов аудита на ЦС является необходимым, но не достаточным условием. Механизм аудита основан на регистрации событий в журнале Security.evtx, который, в свою очередь зависит от настройки политики Audit Object Access в групповых политиках. Т.е. без настройки групповых политик никакого аудита не будет.

Опытные администраторы знают к чему приводит включение Audit Object Access - к лавинному созданию записей в журнале от других компонентов ОС. Например, аудит доступа файловой системы, реестра, других установленных ролей и т.д. В результате, журнал может буквально за день-два заполниться до отказа. Поэтому для эффективного использования аудита необходимы меры по фильтрации ненужных событий, например, при помощи функции подписки на интересующие события. Нет смысла в аудите, если его никто не может прочитать и эффективно проанализировать. Но эта тема уже выходит за рамки этой статьи.

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

После того как корневой ЦС установлен и сконфигурирован, убедитесь, что всё прошло без ошибок:
  • Откройте оснастку Certification Authorities MMC (certsrv.msc), убедитесь, что служба запущена;
  • Выберите свойства узла ЦС и проверьте поля сертификата, что они соответствуют ожидаемым значениям;
  • Найдите в корне системного диска папку CertData и убедитесь, что там находится два файла: сертификат и список отзыва. Убедитесь, что поля списка отзыва соответствуют ожидаемым значениям.
Если всё хорошо, тогда скопируйте содержимое папки C:\CertData на сервер IIS в папку PKIData. Сертификат корневого ЦС уже можно импортировать на все устройства, которые будут использовать нашу PKI.

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

Certutil -f -dspublish path\contoso-rca.crt RootCA
Для установки сертификата на клиентах в рабочих группах и мобильные устройства необходимо воспользоваться другими инструментами, которые есть в вашем распоряжении. Например, System Center Configuration Manager или Mobile Device Management. Если подходящих инструментов нет, можно копировать и устанавливать сертификат на компьютеры при помощи утилиты certutil.exe. Для установки сертификата в локальное хранилище сертификатов выполните следующую команду:

Certutil -f -addstore Root path\contoso-rca.crt

Установка издающего ЦС

Как и в случае с корневым ЦС, установка издающего ЦС включает в себя четыре этапа:
  1. Подготовка предустановочных конфигурационных файлов (CAPolicy.inf);
  2. Установка компонента ЦС;
  3. Выполнение постустановочной конфигурации;
  4. Проверка установки и конфигурации.

Предустановочная конфигурация

Если для корневого ЦС предустановочный конфигурационный файл нам не требовался, то для издающего ЦС он понадобится. В нём мы настроим расширения Certificate Policies и Basic Constraints для сертификата ЦС. Если с политиками всё понятно, то в расширении Basic Constraints мы запретим выдачу сертификатов другим ЦС с издающего ЦС, поскольку у нас двухуровневая иерархия и добавление новых уровней только усложняет нашу структуру и увеличивает время, затрачиваемое на проверку сертификатов клиентами. Также отключим автоматическую загрузку шаблонов из Active Directory в список выдаваемых шаблонов. По умолчанию, сервер ЦС загружает на выдачу некоторый набор шаблонов сертификатов. Это вредно по двум причинам:
  1. Контроллеры домена практически мгновенно обнаруживают появление ЦС в лесу и даже при отключённой политике автоматической выдачи сами запрашивают себе сертификаты.
  2. Администраторы сами должны определять какие шаблоны будут использовать в организации.
Поэтому мы сконфигурируем ЦС так, что список шаблонов к выдаче будет пустым. Это возможно сделать только через CAPolicy.inf. В нашем случае он будет иметь следующее содержимое:

; заголовок INI файла Signature= "$Windows NT$" ; указываем список политик, которые будут включены в сертификат ЦС. В нашем; случае будет одна политика под названием AllIssuancePolicies. Policies = AllIssuancePolicy ; конфигурируем детали самой политики. Ссылку на документ Certificate Practice ; Statement (CPS) и объектный идентификатор политики URL = http://cdp.contoso.com/pki/contoso-cps.html OID = 2.5.29.32.0 IsCA = True PathLegth = 0 IsCritical = True ; секция прочих настроек ЦС ; отключаем автоматическую загрузку шаблонов сертификатов для выдачи LoadDefaultTemplates = 0
Файл с именем CAPolicy.inf необходимо скопировать в системную папку Windows до установки ЦС.

Установка компонента ЦС

Прежде всего необходимо добавить установочные компоненты для AD CS:

Install-WindowsFeature AD-Certificate, ADCS-Cert-Authority -IncludeManagementTools
После этого посмотрим на установочную таблицу, чтобы определить параметры установки:

Название параметра Значение параметра
Сервер ЦС
Класс ЦС Enterprise CA
Тип ЦС Subordinate CA
Нет
Сертификат
Имя сертификата Contoso Lab Issuing Certification authority
Дополнительный суффикс OU=Division Of IT, O=Contoso Pharmaceuticals, C=US
Провайдер ключа RSA#Microsoft Software Key Storage Provider
Длина ключа 4096 бит
Алгоритм подписи SHA256
Срок действия 15 лет (определяется вышестоящим ЦС)
Политики выдачи 1) Имя: All Issuance Policies
OID=2.5.29.32.0
URL=http://cdp.contoso.com/pki/contoso-cps.html
Basic Constraints isCA=True (тип сертификата - сертификат ЦС)
PathLength=0 (запрещается создание других промежуточных ЦС под текущим ЦС).
В таблице я выделил только те параметры, которые задаются в процессе установки. Остальные параметры будут настраиваться после установки. Исходя из этих данных сформируем параметры для командлета Install-AdcsCertificationAuthority :

Install-AdcsCertificationAuthority -CACommonName "Contoso Lab Issuing Certification authority" ` -CADistinguishedNameSuffix "OU=Division Of IT, O=Contoso Pharmaceuticals, C=US" ` -CAType EnterpriseSubordinateCa ` -CryptoProviderName "RSA#Microsoft Software Key Storage Provider" ` -KeyLength 4096 ` -HashAlgorithmName SHA256
После выполнения этой команды будет выведено сообщение о том, что установка ЦС не завершена и для её завершения необходимо отправить сгенерированный запрос (находится в корне системного диска) на вышестоящий ЦС и получить подписанный сертификат. Поэтому находим файл с расширением «.req» в корне системного диска и копируем его на корневой ЦС и на корневом ЦС выполняем следующие команды:

# отправляем запрос на ЦС. certreq -submit "C:\CA-01.contoso.com_Contoso Lab Issuing Certification authority.req" # предыдущая команда выведет номер запроса. Укажите этот номер запроса в следующей команде # в моём случае это номер 2 certutil -resubmit 2 # после выпуска сертификата сохраните его в файл. При этом укажите тот же самый номер # запроса, который был указан после выполнения первой команды certreq -retrieve 2 C:\subca.crt
Полученный файл (subca.crt) необходимо скопировать обратно на издающий ЦС и завершить инсталляцию:

Certutil -installcert c:\subca.crt net start certsvc
Мы устанавливаем на ЦС выписанный сертификат и запускаем службу сертификатов. После успешной установки можно запустить оснастку Certification Authorities MMC (certsrv.msc) и убедиться, что сертификат успешно установлен и ЦС в работающем состоянии. Теперь осталось дело за постустановочной конфигурацией.

Итоговая настройка

По аналогии с корневым ЦС, нам потребуется сконфигурировать ряд параметров на издающем ЦС. Для этого мы снова напишем BATCH скрипт с использованием утилиты certutil.exe. Но прежде всего посмотрим установочную таблицу и выясним параметры, которые нам необходимо настроить:

Аналогичная таблица составляется и для издающего ЦС.

Название параметра Значение параметра
Сервер ЦС
Срок действия издаваемых сертификатов Максимально: 5 лет (остальное контролируется шаблонами сертификатов)
Публикация в AD (контейнеры) AIA
NTAuthCertificates
Состав CRL Base CRL
Delta CRL
Точки публикации CRT 1) По-умолчанию
2) \\IIS\PKI\contoso-pica< CertificateName >.crt
Точки распространения CRT 1) cdp.contoso.com/pki/contoso-pica < CertificateName >.crt
Точки публикации CRL 1) По-умолчанию
2) \\IIS\PKI\contoso-pica< CRLNameSuffix >< DeltaCRLAllowed >.crl
Точки распространения CRL 1) cdp.contoso.com/pki/contoso-pica < CRLNameSuffix >< DeltaCRLAllowed >.crl
Base CRL
Тип Base CRL
Срок действия 1 неделя
Расширение срока действия По умолчанию
Алгоритм подписи SHA256
Публикация в AD Нет
Delta CRL
Тип Delta CRL
Срок действия 1 день
Расширение срока действия По-умолчанию
Алгоритм подписи SHA256
Публикация в AD Нет
За основу мы возьмём скрипт с корневого ЦС и изменим только отдельные фрагменты:

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: Issuing CA post-installation script:: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: все комментарии помечены знаком двойного двоеточия (::) :: записываем пути для публикации и распространения сертификатов ЦС и списков отзыва:: в отдельные переменные SET CrlLocal=\\IIS\PKI\contoso-pica%%8%%9.crl SET CDP=http://cdp.contoso.com/pki/contoso-pica%%8%%9.crl SET AIA=http://cdp.contoso.com/pki/contoso-pica%%4.crt:: Настраиваем пути публикации и распространения для сертификатов ЦС и списков отзыва. certutil -setreg CA\CRLPublicationURLs "1:%windir%\system32\CertSrv\CertEnroll\%%3%%8%%9.crl\n65:%CrlLocal%\n6:%CDP%" certutil -setreg CA\CACertPublicationURLs "1:%windir%\system32\CertSrv\CertEnroll\%%1_%%3%%4.crt\n2:%AIA%" :: Поскольку мы не можем указывать пути публикации для файла сертификата, мы:: вручную переименовываем его в необходимый формат и копируем в сетевую папку ren %windir%\system32\CertSrv\CertEnroll\*.crt contoso-pica.crt copy %windir%\system32\CertSrv\CertEnroll\contoso-pica.crt \\IIS\PKI:: Задаём срок действия издаваемых сертификатов certutil -setreg CA\ValidityPeriodUnits 5 certutil -setreg CA\ValidityPeriod "Years" :: Задаём время жизни списков отзыва согласно нашей конфигурации:: базовый CRL certutil -setreg CA\CRLPeriodUnits 1 certutil -setreg CA\CRLPeriod "weeks" :: Delta CRL certutil -setreg CA\CRLDeltaPeriodUnits 1 certutil -setreg CA\CRLDeltaPeriod "days" :: Включаем полный аудит событий на ЦС** certutil -setreg CA\AuditFilter 127:: Включаем наследование расширения Certificate Policies в издаваемых сертификатах certutil -setreg Policy\EnableRequestExtensionList +"2.5.29.32" :: Включаем поддержку расширения OcspRevNoCheck, если планируется установка:: сетевого ответчика (Online Responder или OCSP сервера) certutil -v -setreg policy\editflags +EDITF_ENABLEOCSPREVNOCHECK:: если версия ОС ниже, чем Windows Server 2016 необходимо задать алгоритм подписи. :: Windows Server 2016 по умолчанию использует SHA256. Certutil -setreg ca\csp\CNGHashAlgorithm SHA256:: Перезапускаем службу ЦС для применения изменений. net stop certsvc && net start certsvc:: Публикуем списки отзыва. certutil -CRL
Заметим, что в путях CRLDistribution Points, изменены флаги публикации (добавлена публикация Delta CRL) и добавлена переменная %9 в имя файла для поддержки уникального имени для дельты.

Здесь мы больше не создаём папку в корне системного диска, а используем сетевую папку PKI на сервере IIS, куда напрямую копируем файл сертификата и публикуем списки отзыва.

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

После того как издающий ЦС установлен и сконфигурирован, убедитесь, что всё прошло без ошибок:
  • Откройте оснастку Certification Authorities MMC (certsrv.msc), убедитесь, что служба запущена
  • Выберите свойства узла ЦС и проверьте поля сертификата, что они соответствуют ожидаемым значениям.
  • Откройте сетевую папку PKI (на сервере IIS) и убедитесь, что там есть два файла сертификата (корневого и издающего ЦС) и три списка отзыва (один для корневого, два для издающего ЦС). Убедитесь, что поля в сертификатах и списках отзыва соответствуют ожидаемым значениям.
Когда основные параметры проверены, необходимо убедиться в правильной связи иерархии ЦС и доступности всех внешних файлов для клиентов. Для этого на сервере ЦС (а лучше, на рабочей станции, где установлены средства удалённого администрирования ЦС) необходимо запустить оснастку Enterprise PKI Health (pkiview.msc). Оснастка автоматически построит текущую иерархию и проверит доступность всех путей для скачивания сертификатов ЦС и списков отзыва. Никаких ошибок быть не должно. Если есть ошибка, необходимо её точно идентифицировать и устранить. В случае успешной настройки оснастка будет выглядеть следующим образом для корневого ЦС:

И для издющего ЦС:

Если вся итоговая конфигурация соответствует ожидаемым значениям и оснастка Enterprise PKI Health не показывает ошибок, это может судить о том, что PKI установлена верно.

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

Шаблоны сертификатов

Наряду с установкой издающего ЦС, в Active Directory устанавливается набор уже готовых шаблонов сертификатов. Их можно просмотреть в оснастке Certificate Templates MMC (certtmpl.msc). Рекомендации по шаблонам сертификатов:

Использование готовых шаблонов сертификатов

Я рекомендую использовать их копии, даже если вы не планируете вносить в них изменения. Для создания копии шаблона выберите в списке подходящий шаблон, в контекстном меню выберите Duplicate Template и создайте его копию. Целесообразно в имя шаблона включить название компании, чтобы отличить предустановленный шаблон от вами созданного. Например, Contoso Web Server, Contoso Smart Card Logon . Это позволит сравнить настройки исходного и вами созданного шаблона в случае неработоспособности шаблона.

Версия шаблона

Начиная с Windows Server 2012, интерфейс создания шаблона несколько изменился. В самом начале появляется окно с выбором версии ОС на ЦС и предполагаемом клиенте:

Если у вас используются современные версии ОС (например, Windows 7 и выше), может появиться желание выставить настройки на максимум. Если вы не уверены, что ваше приложение совместимо с CNG (Cryptography Next Generation), следует использовать настройки, которые приведены на картинке. Если вы выставляете ОС сервера и клиента выше, чем Windows Server 2003/Windows XP, шаблон будет использовать криптографию несовместимую с этими приложениями. Например, большинство приложений, написанных на.NET, семейство продуктов System Center, службы федераций (AD FS) и т.д. не смогут использовать ключи таких сертификатов (но проверять смогут).

Успешно такие сертификаты смогут использовать приложения, которые используют не.NET, а нативные функции CryptoAPI. К таким приложениям можно отнести, например, IIS, Remote Desktop Services.
Поля Subject и Subject Alternative Names

Существует два метода заполнения поля Subject и расширения Subject Alternative Names: автоматический и ручной. Это настраивается в настройках шаблона сертификата, во вкладке Subject Name.

Если выбран второй пункт (как на картинке), ЦС игнорирует имя субъекта из запроса сертификата и заполняет эти поля из свойств учётной записи пользователя или устройства, которое запрашивает сертификат. В ряде случаев это не подходит (например, сертификаты для внутренних веб-сайтов) и имя субъекта заполняется из значения в запросе сертификата. Тогда переключатель необходимо выставить в верхнее положение. Дополнительно к этому, на вкладке Issuance Requirements обязательно надо выставить галочку «CA certificate manager approval».

Это необходимо затем, что имя для сертификата никак не проверяется. Если этот момент не контролировать, пользователь может запросить сертификаты на любое имя и скомпрометировать весь лес Active Directory. Вряд ли вы позволите рядовому пользователю получить сертификат на имя администратора. После требования одобрения запроса менеджером сертификатов на ЦС, каждый запрос с явным указанием субъекта сертификата будет попадать на ЦС в папку Pending Requests и не будет подписан, пока оператор ЦС не изучит его содержимое и не примет решение о выпуске. Т.е. каждый такой запрос необходимо вручную проверять на содержимое и убедиться, что в запросе указаны верные и допустимые имена. В противном случае запрос должен быть отклонён.

Права на шаблоны сертификатов

Шаблоны сертификатов в Active Directory хранятся в разделе configuration naming context, который реплицируется между всеми контроллерами домена в лесу. Поэтому для назначения прав на шаблоны сертификатов можно использовать только глобальные и универсальные группы. Избегайте назначения прав отдельным пользователям и устройствам.

Обновление сертификатов ЦС

Периодически необходимо обновлять сертификаты ЦС. Рассмотрим несколько аспектов, связанных с обновлением сертификатов ЦС.

Периодичность обновления сертификата ЦС

Это делается в следующих случаях:

  • Срок жизни сертификата ЦС истекает;
  • Ключ ЦС скомпрометирован;
  • Необходимо изменить длину ключа или алгоритм подписи;
  • Слишком большой список отзыва (больше нескольких мегабайт).
Первый вопрос, если всё идёт штатно, за какое время до истечения срока действия сертификата ЦС его нужно обновлять?

Сертификат издающего ЦС должен обновляться за максимальный срок действия издаваемых сертификатов. В нашем случае срок действия сертификата издающего ЦС 15 лет, а максимальный срок действия издаваемых сертификатов 5 лет (см. конфигурационную таблицу). Это означает, что сертификат издающего ЦС необходимо обновить через 10 лет. Если это время затянуть, то мы не сможем обеспечить необходимый срок действия для самого долгосрочного шаблона.

Порядок обновления ЦС

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

Генерация ключей при обновлении сертификатов ЦС

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

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

Друзья, столкнулся с интересной задачей — перенести центра сертификации Microsoft на новый сервер. Ну для начала мы должны понимать, что сама по себе инфраструктура открытых ключей просто так не разворачивается, следовательно уже есть выданные сертификаты и пред настроенные шаблоны. Причина, по которой может возникнуть необходимость миграции может быть много, от аппаратных проблем с сервером до переноса сервера в виртуальную среду.

Диспозиция:

Сервер Windows Server 2008 R2 c установленной ролью Active Directory Certificate Service и наличием аппаратных проблем)

Новый сервер Windows Server 2012 R2.

Перенос сервиса сертификации Active Directory на Windows Server 2012 R2.

Для начала подготовим резервную копию текущего центра сертификации. Для этого в оснастке Certificate Authority через

все задачи выбираем Архивация ЦС

Указываем архивирование всех элементов ЦС и путь для резервной копии

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

Архивация центра сертификации выполнена

Кроме базы данных центра сертификации Microsoft необходимо выгрузить и настройки, которые хранятся в реестре.

Для этого нужно выгрузить ветку

Итог должен выглядеть так:

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

В промежуточном результате мы имеем экспортированную конфигурацию служба сертификатов Active Directory и желание его «реанимировать» на новом сервере.

Продолжим, установим cлужбу сертификатов Active Directory c необходимыми компонентами. Та этом вопросе останавливаться долго не будем, полагаю тут все просто:

Выбор необходимых ролей

Непосредственно процесс установки

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

Нажимаем «Настроить службы сертификатов Active Directory..»

В открывшемся окне выбираем учетную запись от имени которой будет производится настройка сервера. Роль должна входить в группу «Администраторы предприятия»

На следующем шаге указываем какие роли мы будем настраивать

В следующем окне выбираем “Корневой ЦС” в качестве типа ЦС и нажмите Далее для продолжения.

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

На этом этапе указываем путь к выгруженному сертификату со старого центра сертификации и пароль указанный при экспорте к нему.

После импорта то мы увидим наш сертификат

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

Итоговая проверка всех указанных выше параметров для настройки

Процесс настройки завершен.

После настройки параметров ЦС, преступим у его восстановлению. На созданном сервере сертификатов выбираем «Восстановление ЦС»

Выбираем элементы, и указываем путь к папке в которую произведен экспорт

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

Восстановление завершено. Осталось только восстановить параметры, которые хранятся в реестре. Для этого как раз мы и экспортировали ветку реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc

Для импорта открываем фай и добавляем его в реестр. Появится предупреждающее окно. Нажмите Да для восстановления ключа реестра.

Осталось проверить работу нового центра сертификации. Как видим, все выданные сертификаты перенесены.

Новый Web сервер работает выдачи сертификатов работает.

Итог: Сервис сертификации Active Directory успешно перенесен на новый сервер, при этом как мы видели, произошла и миграции в рамках операционной системы 2008R2 -> 2012R2.



Просмотров