В этой статье я подробно расскажу о процессе установки и настройки Active Directory Certificate Services.
Служба сертификации Active Directory создает центр сертификации, предназначенный для выдачи сертификатов пользователям. Служба может быть настроена и работать через веб-интерфейс.
В примере я разбираю Active Directory Certificate Services на операционной системе Windows Server 2012.
Первым делом нам нужно установить службу сертификации Active Directory.
Для этого нужно запустить диспетчер сервера.
Далее жмем «Добавить роли и компоненты». Кнопка далее.
Выбираем пункт установка ролей или компонентов, а затем выбираем наш сервер.
В следующем окне выбираем пункт службы сертификатов Active Directory.
В окне выбора компонентов жмем далее.
В окне служба ролей выбираем пункт центр сертификации.
Запускаем процесс установки.
После этого по аналогии устанавливаем веб-службу регистрации сертификатов.
Установка завершена. Перейдем к настройке.
Настройка службы сертификатов Active Directory
Заходим в настройки.
Выбираем службу центр сертификации.
Вариант установки – центр сертификации предприятия.
Тип центра сертификации – корневой. Это необходимо для того, что бы в дальнейшем мы могли самостоятельно выдавать и подписывать сертификаты.
В следующем окне нужно выбрать пункт создать новый закрытый ключ.
Затем необходимо указать параметры шифрования. Вы можете указать свои параметры, или параметры как у меня на рисунке ниже.
В следующем окне указывается имя центра шифрования.
Затем указывается срок действия центра сертификации. По умолчанию он равен 5 годам. Так и оставим.
После нажатия кнопки далее вам нужно будет указать физическое место на жестком диске для хранения базы данных.
Подтверждаем настройку.
Перейдем к настройке web-службы регистрации сертификатов.
Настройка web-службы регистрации сертификатов
В окне указать центр сертификации для веб-службы регистрации сертификатов выбираем пункт «Имя ЦС».
Тип проверки подлинности – имя пользователя и пароль.
Учетная запись службы CES – использовать встроенное удостоверение пула приложений.
В окне выбора сертификата проверки подлинности сервера выберите существующий сертификат, затем нажмите кнопку настроить.
Настройка выполнена.
Выберите тип проверки подлинности – имя и пароль пользователя.
Включите режим обновления на останове ключей. Этот режим позволяет автоматически обновлять сертификаты ключей для компьютеров, которые не подключены к внутренней сети.
Перезагрузите сервер.
Установка и настройка удостоверяющего центра
Запустите консоль управления Microsoft (пуск, выполнить, mmc).
Далее нажмите файл, а затем добавить или удалить оснастку.
В левой части нужно выбрать пункт «Сертификаты» и нажать кнопку добавить.
В появившемся окне выбрать пункт учетной записи компьютера.
В следующем окне ничего не меняем и нажимаем кнопку готово. Оснастка добавлена.
В левой части окна можно увидеть папки, в которых хранятся сертификаты (11 штук). Они сортированы по типам сертификатов. Если нажать на папку «Личное» то можно посмотреть сертификаты в этой папке.
Запросим новый ключ, для этого нужно нажать на сертификате и выбрать меню «все задачи», а затем «запросить сертификат с новым ключом».
Появится окно перед началом работы. Жмем далее.
Видим окно запрос сертификатов и нажимаем «заявка».
Запускается процесс установки сертификата. После успешной установки появиться следующая надпись «Состояние: Успешно».
Теперь нам нужно связать сертификат с веб-сервером. Для этого нужно запустить диспетчер служб IIS.
В левой части окна нажать сайты, default web site, изменить привязки.
В появившемся окне нажмите добавить и введите данные как на изображении ниже.
Сохраните изменения и закройте окно.
Для проверки работоспособности Центра сертификации запустите браузер Internet Explorer и в строке навигации наберите адрес «https://192.168.0.1/certsrv/» (ip-адрес может отличаться от того, который указали вы).
Управление шаблонами сертификата
Работа с шаблонами сертификата требует установки оснастки «Шаблоны сертификатов». Откроем нашу консоль, которую мы создавали ранее и добавим оснастку «Шаблоны сертификатов».
Откроем шаблоны в главном окне консоли. Создадим новый шаблон.
Сначала нужно выбрать любой шаблон сертификата и нажать скопировать его.
Настроим шаблон. Выберите совместимость шаблона сертификата.
Задайте общие свойства шаблона.
В поле «отображаемое имя» , в строке «имя шаблона» будет тоже самое только без пробелов.
Параметры достоверности по умолчанию и периода обновления для сертификатов, выдаваемых службами сертификатов Active Directory (AD CS), предназначены удовлетворить большинство требований безопасности. Однако для сертификатов, используемых определенными группами пользователей, может потребоваться указать другие параметры достоверности и обновления, такие как более короткие срок действия или периоды обновления.
За это два параметра отвечают для поля «период действия» и «период обновления».
Параметр «опубликовать сертификат в Active Directory» определяет, будут ли сведения о шаблоне сертификата доступными по всему предприятию.
Параметр «не использовать автоматическую перезаявку, если такой сертификат уже существует в Active Directory». С помощью этого параметра автоматическая подача заявки на сертификат не подаст запрос повторной заявки, если в доменных службах Active Directory (AD DS) существует дубликат сертификата. Это дает возможность обновлять сертификаты, но предотвращает выдачу нескольких дубликатов сертификатов.
Обработка запроса. Цель имеет 4 возможных параметра:
- Вход с подписью и смарт-картой. Разрешает первоначальный вход в систему с помощью смарт-карты и цифровую подпись данных. Нельзя использовать для шифрования данных.
- Подпись. Содержит шифровальные ключи только для подписи данных.
- Подпись и шифрование. Охватывает все основные применения шифровального ключа сертификата, включая шифрование данных, дешифрование данных, первоначальный вход в систему и цифровую подпись данных.
- Шифрование. Содержит шифровальные ключи для шифрования и дешифрования.
Параметр «включить симметричные алгоритмы, разрешенные субъектом» позволяет администратору выбрать алгоритм стандарта AES для шифрования закрытых ключей, когда они передаются в ЦС для архивации ключа.
Если установлен этот параметр, клиент будет использовать симметричное шифрование AES-256 (наряду с сертификатом обмена ЦС для асимметричного шифрования), чтобы отправить закрытый ключ в ЦС для архивации.
Параметр «авторизация дополнительных учетных записей служб для доступа к закрытому ключу» позволяет задать настраиваемый список управления доступом (ACL) к закрытым ключам сертификатов компьютеров на основе любых шаблонов сертификатов компьютера версии 3 за исключением корневого ЦС, подчиненного ЦС и перекрестных шаблонов ЦС.
Настраиваемый список управления доступом необходим в случае, если учетная запись службы, которой требуется доступ к закрытому ключу, не включена в разрешения по умолчанию.
Вкладка шифрование. Определяется максимальный размер ключа. Я оставлю его без изменений.
Безопасность можно настроить по вашему усмотрению.
Шаблон сертификата готов.
На этом статья подходит к концу. Мы установили и настроили Active Directory Certificate Services.
Практическая работа с центром сертификации. Настройка и управление
Практическая работа с центром сертификации
Настройка публичного хранилища в MS Windows Server 2012 R2
Для того, чтобы создать и использовать публичное хранилище сертификатов, необходимо:
Создать папку Public в каталоге C:\Inetpub\wwwroot\ на сервере сертификации:
Запустить Диспетчер служб IIS. В левой части окна
Диспетчера служб IIS раскрыть дерево подключений /сайты/Default Web Site/Public. При выделении курсором
ветки Public в правой стороне откроется Начальная страница Public, в которой нужно дважды
нажать на Просмотр каталога:
В крайне правом окне нажать на Включить:
Скопировать из каталога C:\Windows\System32\Certsrv\CertEnroll корневого и
подчиненного центров сертификации списки отозванных сертификатов и
сертификаты в каталог C:\Inetpub\wwwroot\Public.
Проверить доступ к этим файлам по адресу https://«имя сервера»/public и скачать любой файл.
Управление шаблонами сертификатов в MS Windows Server 2012 R2
В рамках этого раздела рассматриваются создание нового шаблона
пользователя с возможностями подписи документов и создание сертификата
пользователя по созданному шаблону через веб-сайт центра сертификации.
Создание шаблона сертификата
Запустить Центр сертификации. Для этого нажать кнопку Пуск, в открывшемся окне на значок стрелки
в кружке. Кликнуть дважды мышкой на Центр сертификации. В центре сертификации
переместиться на Шаблоны сертификатов, вызвать
контекстное меню, нажать на Управление. Выделить
шаблон Пользователь, вызвать контекстное меню, выбрать
в нем Скопировать шаблон:
В окне Совместимость оставить все по умолчанию. В окне
Общие задать отображаемое имя шаблона – Сертификат пользователя УЦ
. Снять флажок Опубликовать сертификат в Active Directory:
Перейти в закладку Обработка запроса. В поле Цель
выбрать Подпись.
На запрос об изменении назначения сертификата нажать Да:
Перейти в закладку Шифрование, выбрать:
В запросах могут использоваться любые поставщики, доступные на компьютере пользователя
:
В закладке Имя субъекта установить флажок Предоставляется в запросе:
Перейти на вкладку Безопасность и для группы Прошедшие проверку
требуется установить флажок Заявка в колонке Разрешить:
Перейти на вкладку Расширения и изменить настройки
Политики применения. Для этого необходимо нажать на кнопку Изменить:
В открывшемся диалоговом окне необходимо выбрать политику Подписывание документа,
удалить Шифрующая файловая система (EFS) и нажать на кнопку
ОК. В том случае, если данный пункт отсутствует,
необходимо нажать на кнопку Добавить:
Создание сертификата пользователя по созданному шаблону
В Центре сертификации необходимо вызвать контекстное
меню пункта Шаблоны сертификатов, в котором необходимо
нажать на кнопку Создать – Выдаваемый шаблон сертификата:
В открывшемся диалоговом окне необходимо выбрать ранее созданный шаблон
и нажать на кнопку ОК:
Проверяем шаблон, для этого в браузере открываем страницу центра сертификации:
Нажимаем на строку Запроса сертификата. В следующем
окне нажать на Расширенный запрос сертификата:
Нажать на строку Создать и выдать запрос к этому ЦС:
В окне запроса сертификата выбираем шаблон сертификата Сертификат пользователя УЦ. Обязательно должны быть
заполнены поля Имя и Страна, регион
(ввести значение RU). Нажать кнопку Выдать:
В случае правильного заполнения полей шаблона будет сформирован
сертификат. Нажать Установить этот сертификат:
Заходим в центр сертификации в ветку Выданные сертификаты. Последний
сертификат будет тот, который был сформирован через веб-сайт:
Установка и настройка OCSP-службы подчиненного центра сертификации на базе MS Windows Server 2012 R2
Для установки и настройки OCSP-службы необходимо:
- установить OCSP-службу;
- настроить шаблон для выпуска сертификата OCSP-службы;
- настроить центр сертификации для работы с OCSP-службой;
- настроить службу.
Установка сетевого ответчика
Для установки доменной службы запустите Диспетчер серверов.
В окне Панель мониторинга нажать Добавить роли и
компоненты. В окне Мастера добавления ролей и компонентов оставить по
умолчанию тип установки Установка ролей или компонентов. В окне выбора сервера
нажать Далее , оставив все по умолчанию. В окне выбора
ролей сервера найти Службу сертификатов Active Directory, раскрыть
строку дважды кликнув мышкой по строке, поставить флажок в строке Сетевой ответчик:
В появившемся окне нажать кнопку Добавить компоненты:
В окне выбора компонентов нажать Далее:
Нажмите Установить. После установки необходимо
настроить службу, для этого нажмите на строку
Настроить службу сертификатов Active Directory на конечном сервер
:
В окне учетные данные нажмите кнопку Далее. Поставить
флажок в строке Сетевой ответчик и нажать Далее:
Нажать кнопку Настроить:
После настройки закрыть все окна.
Настройка шаблона сетевого ответчика
Запустить Центр сертификации. Для этого нажать кнопку Пуск, в
открывшемся окне на значок стрелки в кружке. Кликнуть дважды мышкой на Центр сертификации.
В центре сертификации переместиться на Шаблоны сертификатов, вызвать контекстное меню, нажать
на Управление. Выделить шаблон Подписывание отклика OSPC, вызвать контекстное меню,
выбрать в нем Свойства. Перейти в закладку Безопасность.
Нажать кнопку Добавить. В окне выбора нажать кнопку Дополнительно:
Нажать кнопку Типы объектов. Поставить флажок в строке
Компьютеры и нажать ОК:
В окне выбора нажать кнопку Поиск. После окончания
поиска в окне результатов найти ваш сервер и нажать ОК:
В окне Группы или пользователи выбрать ваш сервер и
для него в окне Разрешения поставить флажок в строке Заявка:
В Центре сертификации необходимо вызвать контекстное
меню пункта Шаблоны сертификатов, в котором необходимо
нажать на кнопку Создать – Выдаваемый шаблон сертификата. В открывшемся
диалоговом окне необходимо выбрать ранее настроенный шаблон и нажать на
кнопку ОК.
Настройка центра сертификации для поддержки службы сетевых ответчиков
Открыть Центр сертификации. Через контекстное меню откройте Свойства.
Перейти в закладку Расширения. В списке расширений
выбрать Доступ к сведениям о центрах сертификации (AIA):
В строке Размещение написать путь https://«ваш сервер»/ocsp/ocsp.srf.
Поставить флажок в строке Включать в расширение протокола OCSP:
Перезапустить Центр сертификации.
Настройка сетевого ответчика
Запустить Сетевой ответчик:
В окне управления выделить Конфигурация отзыва,
вызвать контекстное меню, выбрать Добавить конфигурацию отзыва:
Введите имя конфигурации отзыва, например, OCSP:
В окне выбора расположения сертификата ЦС должен быть выбран пункт
Выберите сертификат для существующего ЦС предприятия:
Нажать кнопку Обзор:
Выбрать корневой сертификат ЦС и нажмите ОК:
После выбора сертификата ЦС в окне выбора появиться ссылка на сертификат.
Нажмите Далее:
Если OCSP-служба настроена правильно, то в конфигурации сетевых
ответчиков служба будет в рабочем состоянии.
Сертификаты являются важной составляющей безопасности сети и информации, передаваемой по ней. Центр сертификации Windows Server 2012 R2 предоставляет возможность создавать и управлять сертификатами, используя различные криптографические алгоритмы и протоколы.
В этой подробной инструкции мы рассмотрим, как создать сертификат в Центре сертификации Windows Server 2012 R2. Мы охватим все необходимые шаги, начиная от установки и настройки Центра сертификации, и заканчивая самим процессом создания сертификата.
Шаг 1: Установка и настройка Центра сертификации Windows Server 2012 R2
Перед тем как приступить к созданию сертификата, необходимо установить и настроить Центр сертификации Windows Server 2012 R2. Для этого откройте Панель управления, найдите и запустите Управление Центром сертификации. После установки и настройки Центра сертификации, вы будете готовы к созданию сертификатов.
Шаг 2: Создание шаблона сертификата
Прежде чем создать сертификат, необходимо создать шаблон, который будет использоваться для его генерации. Шаблон определяет параметры и ограничения сертификата, такие как срок его действия, цели использования и другие. Для создания шаблона откройте Центр сертификации, перейдите в раздел «Шаблоны сертификатов» и выберите «Создать шаблон сертификата». Заполните необходимые поля, укажите параметры и сохраните шаблон.
Шаг 3: Создание сертификата
Теперь, когда у вас есть шаблон сертификата, можно приступить к его созданию. Для этого вернитесь в Центр сертификации, выберите «Выдать новый сертификат» и выберите созданный ранее шаблон. Заполните необходимые поля, укажите параметры сертификата и нажмите «Выдать». Поздравляю! Вы только что создали сертификат в Центре сертификации Windows Server 2012 R2!
Помните, что хранение и управление сертификатами требует особой осторожности и безопасности. Обеспечьте безопасность своих сертификатов, регулярно обновляйте их и удаляйте ненужные сертификаты.
Теперь вы знаете, как создать сертификат в Центре сертификации Windows Server 2012 R2. Следуйте этой инструкции и вы сможете генерировать и управлять сертификатами по своему усмотрению, обеспечивая безопасность своей сети и информации.
Содержание
- Описание Центра сертификации Windows Server 2012 R2
- Шаг 1: Установка службы Active Directory Certificate Services (AD CS)
- Регистрация в Центре сертификации Windows Server 2012 R2
- Шаг 2: Создание запроса на сертификат
- Выбор типа сертификата
- Шаг 3: Создание запроса на сертификат
- Заполнение анкеты для создания сертификата
Описание Центра сертификации Windows Server 2012 R2
Центр сертификации Windows Server 2012 R2 (Certification Authority) представляет собой компонент операционной системы Windows Server, который позволяет создавать, управлять и распространять электронные сертификаты.
Сертификаты, созданные с помощью Центра сертификации Windows Server 2012 R2, используются для аутентификации, шифрования, цифровой подписи и других операций, связанных с обеспечением безопасности информации.
Центр сертификации Windows Server 2012 R2 предоставляет гибкую систему настройки и управления сертификатами, позволяя задавать правила выдачи, сроки действия, уровень безопасности и другие параметры сертификатов.
Для работы с Центром сертификации Windows Server 2012 R2 необходимо выполнить установку роли «Удостоверяющий центр» (Certification Authority) на сервере с установленной операционной системой Windows Server 2012 R2.
После установки роли «Удостоверяющий центр» и настройки параметров, Центр сертификации Windows Server 2012 R2 готов к созданию и управлению сертификатами.
Чтобы создать сертификат в Центре сертификации Windows Server 2012 R2, необходимо выполнить следующие шаги:
- Открыть Центр сертификации Windows Server 2012 R2;
- Выбрать тип сертификата (личный или удостоверяющий центр);
- Задать параметры сертификата (имя, описание, срок действия и другие);
- Сгенерировать закрытый ключ и запрос на сертификат (Certificate Signing Request);
- Отправить запрос на сертификат на сервер Центра сертификации;
- Подтвердить запрос и получить сертификат.
Кроме того, Центр сертификации Windows Server 2012 R2 позволяет выполнять другие операции с сертификатами, такие как отзыв и повторную выдачу, управление списками отозванных сертификатов и т. д.
Использование Центра сертификации Windows Server 2012 R2 позволяет организациям эффективно управлять безопасностью информации, обеспечивать аутентификацию пользователей и компьютеров, а также обеспечивать шифрование данных для защиты от несанкционированного доступа.
Шаг 1: Установка службы Active Directory Certificate Services (AD CS)
Перед созданием сертификатов в Центре сертификации Windows Server 2012 R2 необходимо установить службу Active Directory Certificate Services (AD CS). Для этого выполните следующие действия:
- Откройте «Установку ролей и компонентов» в меню «Управление сервером».
- Перейдите на вкладку «Роли» и выберите «Active Directory Certificate Services».
- Нажмите «Далее» и принимайте все значения по умолчанию, указывая соответствующие настройки.
- На странице «Сервисы роли» активируйте «Центр сертификации» и «Веб-службы сертификатов».
- Установите все зависимости и дополнительные файлы, необходимые для работы службы, нажав «Далее».
- Пройдите через остальные страницы мастера установки, принимая значения по умолчанию, и завершите процесс установки.
- После установки службы AD CS перезагрузите сервер, если потребуется.
После завершения установки службы AD CS вы будете готовы к созданию и управлению сертификатами в Центре сертификации Windows Server 2012 R2.
Регистрация в Центре сертификации Windows Server 2012 R2
Для начала процесса регистрации необходимо выполнить следующие шаги:
- Запустите Центр сертификации Windows Server 2012 R2, нажав на соответствующую иконку в панели инструментов.
- В появившемся окне выберите опцию «Регистрация нового пользователя» и нажмите «Далее».
- Введите необходимые данные для создания учетной записи нового пользователя, такие как имя, фамилию и адрес электронной почты. Убедитесь, что выбрано правильное местоположение учетной записи.
- Выберите тип пользователя, для которого будет создан сертификат, и установите необходимые разрешения доступа.
- Подтвердите введенные данные и нажмите «Завершить» для завершения регистрации нового пользователя в Центре сертификации.
После завершения регистрации, пользователю будет назначен уникальный идентификатор и создана учетная запись в Центре сертификации Windows Server 2012 R2. Теперь вы можете приступить к созданию и выпуску сертификатов для данного пользователя и установке их на сервер для обеспечения безопасности ишифрования данных.
Регистрация в Центре сертификации Windows Server 2012 R2 является важным шагом для обеспечения безопасности и защиты вашего сервера. Следуя указанным выше инструкциям, вы сможете успешно зарегистрироваться в Центре сертификации и получить необходимые сертификаты.
Шаг 2: Создание запроса на сертификат
После настройки Центра сертификации Windows Server 2012 R2 необходимо создать запрос на сертификат, который будет отправлен в удостоверяющий центр (УЦ). Это позволит получить цифровой сертификат для использования на сервере.
Следуйте этим шагам, чтобы создать запрос на сертификат:
- Откройте консоль управления Центром сертификации, нажав клавишу Win+X и выбрав пункт «Центр сертификации».
- На панели инструментов выберите «Создание запроса на сертификат».
- В появившемся окне «Создание запроса на сертификат» укажите данные для создания сертификата, такие как имя сервера, название организации, дополнительные сведения и т. д.
- Выберите подходящий алгоритм шифрования и ключевые параметры для сертификата.
- Укажите имя файла и путь для сохранения запроса на сертификат.
- Нажмите «ОК», чтобы завершить создание запроса на сертификат.
После создания запроса на сертификат необходимо отправить его в УЦ для получения самого сертификата. Для этого обратитесь к инструкциям удостоверяющего центра.
Выбор типа сертификата
В Центре сертификации Windows Server 2012 R2 предоставляется возможность создания разных типов сертификатов в зависимости от потребностей и целей.
Основные типы сертификатов, которые можно создать, включают:
- Самоподписанный сертификат: создается самостоятельно и не требует подтверждения со стороны других организаций или учреждений. Удобен для тестирования или использования внутри организации.
- Сертификат службы Active Directory: используется для обеспечения безопасности служебных учетных записей в Active Directory.
- Сертификат шлюза Интернета: предназначен для использования в сети шлюза Интернета и обеспечивает безопасную связь с внешними ресурсами.
- Сертификат веб-службы: используется для обеспечения безопасности веб-служб и обмена данными.
- Сертификат персонала: выдается от имени конкретного пользователя и используется для идентификации его личности.
- Сертификат устройства: выдается устройству и используется для его идентификации и обеспечения безопасной коммуникации.
Выбор типа сертификата должен базироваться на конкретных потребностях организации или пользователей. При выборе типа сертификата необходимо учесть его предназначение и возможность его использования в конкретной ситуации.
Шаг 3: Создание запроса на сертификат
Чтобы создать сертификат в Центре сертификации Windows Server 2012 R2, необходимо сначала создать запрос на сертификат. Этот запрос будет содержать информацию о том, какие данные должны быть включены в сертификат.
Для создания запроса на сертификат выполните следующие действия:
- Откройте Центр сертификации Windows Server 2012 R2.
- На панели навигации выберите «Сертификаты».
- В левом главном меню выберите «Запрос на сертификат».
- Выберите тип сертификата, который вы хотите создать.
- Нажмите кнопку «Далее».
- Введите данные, которые должны быть включены в сертификат, такие как имя организации, владельца сертификата, доменное имя и другие.
- Нажмите кнопку «Далее» и укажите расположение, где будет сохранен запрос на сертификат.
- Проверьте введенные данные и нажмите кнопку «Завершить», чтобы создать запрос на сертификат.
После создания запроса на сертификат вы можете отправить его в Центр сертификации или сохранить для последующего использования. Далее вам понадобится подтвердить запрос на сертификат и получить готовый сертификат.
Заполнение анкеты для создания сертификата
Для создания сертификата в Центре сертификации Windows Server 2012 R2 требуется заполнить анкету, в которой указываются основные данные для сертификата. Ниже приведены шаги по заполнению анкеты:
Шаг 1:
Перейдите на веб-страницу Центра сертификации и выберите опцию «Создать сертификат».
Шаг 2:
Заполните следующие поля:
— Название сертификата: введите название сертификата, которое будет использоваться для его идентификации;
— Компания: указываете название вашей компании;
— Адрес электронной почты: введите вашу электронную почту;
— Страна/регион: выберите вашу страну или регион;
— Штат: укажите штат или область, где находится ваша компания;
— Город/населенный пункт: введите название города или населенного пункта, где находится ваша компания;
— Отдел/подразделение: укажите отдел или подразделение компании;
— Использовать имя субъекта из указанного субъекта запроса (CSR): установите флажок, чтобы использовать имя субъекта из CSR.
Шаг 3:
Проверьте правильность заполнения всех полей и нажмите кнопку «Создать».
После успешного заполнения анкеты и создания сертификата вы получите файл сертификата, который можно будет использовать для различных целей, например, для обеспечения безопасного соединения с сервером.
А вот и финальная третья часть нашей серии статей о центре сертификации на предприятии. Сегодня рассмотрим развертывание службы сертификатов на примере Windows Server 2016. Поговорим о подготовке контроллера домена, подготовке веб-сервера, установке корневого и издающего центров сертификации и об обновлении сертификатов. Заглядывайте под кат!
Первая часть серии
Вторая часть серии
Словарь терминов
В этой части серии использованы следующие сокращения и аббревиатуры:
- 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, которые будут выполнять следующие функции:
- Контроллер домена — необходим для функционирования домена Active Directory;
- Веб-сервер — будет обеспечивать доступ к сертификатам ЦС и спискам отзывов для клиентов;
- Корневой ЦС — будет выполнять функции корневого ЦС;
- Подчинённый ЦС — будет выполнять функции издающего ЦС.
Развёртывание 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'
Установка корневого ЦС
Фактическая установка ЦС будет включать в себя несколько этапов:
- Подготовка предустановочных конфигурационных файлов (CAPolicy.inf);
- Установка компонента ЦС;
- Выполнение постустановочной конфигурации;
- Проверка установки.
Перед установкой корневого ЦС, необходимо ещё раз вернуться к конфигурационным таблицам:
Название параметра | Значение параметра |
---|---|
Сервер ЦС | |
Класс ЦС | Standalone CA |
Тип ЦС | Root CA |
Сертификат | |
Имя сертификата | Contoso Lab Root Certification authority |
Дополнительный суффикс | OU=Division Of IT, O=Contoso Pharmaceuticals, C=US |
Провайдер ключа | RSA#Microsoft Software Key Storage Provider |
Длина ключа | 4096 бит |
Алгоритм подписи | SHA256 |
Срок действия | 15 лет |
В таблице я выделил только те параметры, которые задаются до и в процессе установки. Остальные параметры будут настраиваться после установки.
Предварительная конфигурация
Предварительные конфигурационные файлы необходимы для ряда настроек, которые невозможно задать во время установки компонента (ни при помощи графического интерфейса, ни при помощи командной строки или PowerShell). К ним обычно относятся настройки расширений сертификата ЦС. Например, для настройки расширения сертификата Certificate Policies, необходимо использовать предварительный конфигурационный файл, в котором настраиваются параметры расширения. Для Microsoft ADCS таким файлом является файл CAPolicy.inf, который должен быть расположен по следующему пути: %windir%\CAPolicy.inf. С синтаксисом этого файла можно ознакомиться в следующей статье: How CA Certificates Work. Поскольку никаких специфичных или нестандартных настроек в сертификате корневого ЦС мы делать не будем, поэтому и предварительный конфигурационный файл сейчас нам не потребуется.
Установка компонента ЦС
Прежде всего необходимо добавить установочные компоненты для AD CS:
Install-WindowsFeature AD-Certificate, ADCS-Cert-Authority -IncludeManagementTools
После этого сверьтесь с предыдущей таблицей, чтобы определить параметры установки. Исходя из данных таблицы, зададим параметры для командлета 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 >.crt3) IIS:\InetPub\PKIdata\contoso-rca< CertificateName >.crt* |
Точки распространения CRT | 1) cdp.contoso.com/pki/contoso-rca<CertificateName >.crt |
Точки публикации CRL | 1) По-умолчанию 2) C:\CertData\contoso-rca< CRLNameSuffix >.crt3) 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 | Класс объекта в Active Directory |
<CAObjectClass > |
%11 | CDP/AIA | Класс объекта в Active Directory |
В нашем конкретном случае будут использоваться только две переменные: <CertificateName> и <CRLNameSuffix>. Для исходного сертификата ЦС эти переменные пустые. При обновлении сертификата ЦС, переменная будет заменяться на «(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
Установка издающего ЦС
Как и в случае с корневым ЦС, установка издающего ЦС включает в себя четыре этапа:
- Подготовка предустановочных конфигурационных файлов (CAPolicy.inf);
- Установка компонента ЦС;
- Выполнение постустановочной конфигурации;
- Проверка установки и конфигурации.
Предустановочная конфигурация
Если для корневого ЦС предустановочный конфигурационный файл нам не требовался, то для издающего ЦС он понадобится. В нём мы настроим расширения Certificate Policies и Basic Constraints для сертификата ЦС. Если с политиками всё понятно, то в расширении Basic Constraints мы запретим выдачу сертификатов другим ЦС с издающего ЦС, поскольку у нас двухуровневая иерархия и добавление новых уровней только усложняет нашу структуру и увеличивает время, затрачиваемое на проверку сертификатов клиентами. Также отключим автоматическую загрузку шаблонов из Active Directory в список выдаваемых шаблонов. По умолчанию, сервер ЦС загружает на выдачу некоторый набор шаблонов сертификатов. Это вредно по двум причинам:
- Контроллеры домена практически мгновенно обнаруживают появление ЦС в лесу и даже при отключённой политике автоматической выдачи сами запрашивают себе сертификаты.
- Администраторы сами должны определять какие шаблоны будут использовать в организации.
Поэтому мы сконфигурируем ЦС так, что список шаблонов к выдаче будет пустым. Это возможно сделать только через CAPolicy.inf. В нашем случае он будет иметь следующее содержимое:
; заголовок INI файла
[Version]
Signature= "$Windows NT$"
; указываем список политик, которые будут включены в сертификат ЦС. В нашем
; случае будет одна политика под названием AllIssuancePolicies.
[PolicyStatementExtension]
Policies = AllIssuancePolicy
; конфигурируем детали самой политики. Ссылку на документ Certificate Practice
; Statement (CPS) и объектный идентификатор политики
[AllIssuancePolicy]
URL = http://cdp.contoso.com/pki/contoso-cps.html
OID = 2.5.29.32.0
[BasicConstraintsExtension]
IsCA = True
PathLegth = 0
IsCritical = True
; секция прочих настроек ЦС
[certsrv_server]
; отключаем автоматическую загрузку шаблонов сертификатов для выдачи
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 отмечены такие проблемы. Примеры статей:
- Certificate validation fails when a certificate has multiple trusted certification paths to root CAs.
- «0x80092013, CRYPT_E_REVOCATION_OFFLINEA» error message when you try to verify a certificate that has multiple chains in Windows Server 2008 or in Windows Vista.
При генерации новой ключевой пары для каждого сертификата будет гарантирован только один путь к корневому сертификату и модуль построения цепочек сертификатов уже не ошибётся.
Резервное копирование
Вопросы резервного копирования и восстановления после отказа являются отдельной темой. Здесь я лишь отмечу основные моменты, которые следует учесть при планировании стратегии резервного копирования.
Microsoft Active Directory Certificate Services предоставляет инструменты для резервного копирования компонентов ЦС:
- Оснастка Certification Authority MMC (certsrv.msc);
- Утилита certutil.exe с параметром -backup.
С ними можно сделать резервную копию для ключевой пары ЦС и базы данных. Однако эти инструменты не позволяют делать резервную копию настроек ЦС. Эти операции необходимо выполнять вручную. Все настройки ЦС находятся в реестре по следующему пути:
HKLM\System\CurrentControlSet\Services\CertSvc
При резервном копировании всегда экспортируйте данную ветку реестра. При восстановлении ЦС сохранённый REG файл импортируется обратно в реестр после установки роли ЦС.
Полный список элементов ЦС, который подлежит обязательному резервному копированию выглядит так:
- Ключи и сертификаты ЦС;
- База данных ЦС;
- Настройки ЦС из реестра;
- Предустановочный конфигурационный файл;
- Установочные и конфигурационные скрипты.
Этот список не зависит от принятой в вашей компании стратегии резервного копирования, он всегда должен быть включён в список резервных копий.
Об авторе
Вадим Поданс — специалист в области автоматизации PowerShell и Public Key Infrastructure, Microsoft MVP: Cloud and Datacenter Management с 2009 года и автор модуля PowerShell PKI. На протяжении 9 лет в своём блоге освещает различные вопросы эксплуатации и автоматизации PKI на предприятии. Статьи Вадима о PKI и PowerShell можно найти на его сайте.
Раздел содержит инструкцию по установке и настройке Служб сертификации в операционной системе Windows Server 2016.
Для настройки необходим компьютер с установленной операционной системой Windows 2016 Server Rus и драйверами Рутокен, а также дистрибутив этой ОС.
Все описанные далее действия производятся с правами администратора системы.
В качестве примера используется учетная запись Administrator.
Этапы установки и настройки Служб сертификации:
1 этап: Установка Служб сертификации.
2 этап: Добавление шаблонов сертификатов в Центр Сертификации.
3 этап: Выписка сертификатов пользователю Administrator и обычным пользователям с помощью mmc-консоли.
Установка Служб сертификации
Для установки Служб сертификации:
- Откройте Диспетчер серверов.
- Щелкните по названию пункта меню Управление и выберите пункт Добавить роли и компоненты.
- В окне Мастер добавления ролей и компонентов ознакомьтесь с информацией и нажмите Далее.
- Установите переключатель в положение Установка ролей или компонентов и нажмите Далее.
- Установите переключатель в положение Выберите сервер из пула серверов.
- В таблице Пул серверов щелкните по имени необходимого сервера.
- Нажмите Далее.
- Установите флажок Службы сертификатов Active Directory.
- В появившемся окне нажмите Добавить компоненты. В результате флажок отобразится рядом с названием выбранной роли сервера.
- Нажмите Далее.
- В окне для выбора компонентом нажмите Далее.
- Ознакомьтесь с информацией и нажмите Далее.
- Установите флажок Центр сертификации и нажмите Далее.
- Чтобы запустить процесс установки нажмите Установить.
- Дождитесь завершения процесса установки и нажмите Закрыть.
- В левой части окна Диспетчер серверов щелкните по названию пункта Службы сертификации Active Directory.
- Щелкните по восклицательному знаку.
- Щелкните по ссылке Настроить службы сертификатов Active Directory.
- Ознакомьтесь с информацией и нажмите Далее.
- Установите флажок Центр сертификации и нажмите Далее.
- Установите переключатель рядом с названием необходимого варианта установки ЦС (в данном примере выбирается ЦС предприятия) и нажмите Далее.
- Установите переключатель рядом с названием типа ЦС (в данном примере выбирается Корневой ЦС, поскольку это будет основной центр сертификации в домене). Нажмите Далее.
- В окне для указания типа закрытого ключа укажите секретный ключ, который будет использоваться для центра сертификации (в данном примере выбирается пункт Создать новый закрытый ключ, поскольку ранее не был создан секретный ключ для центра сертификации). Нажмите Далее.
- В следующем окне для указания параметров шифрования в раскрывающемся списке Выберите поставщик служб шифрования выберите криптопровайдер.
- В раскрывающемся списке Длина ключа выберите необходимое значение.
- Щелкните по названию необходимого хеш-алгоритма.
- Нажмите Далее.
-
В окне для указания имени ЦС введите значения всех полей и нажмите Далее.
Введенные здесь данные носят информативный характер. Рекомендуется их внести. Аббревиатуры несут следующий смысл: «O» — Organization, «OU» — Organization Unit, «L» — City (Location), «S» — State or province, «C» — Country/region, «E» — E-mail.
-
Введите период действия сертификата для создаваемого ЦС.
По истечении срока действия сертификата ЦС необходимо будет перевыпустить сертификаты всем действующим пользователям.
- В поле Расположение базы данных сертификатов введите путь до базы данных сертификатов и нажмите Далее.
- Ознакомьтесь с информацией и нажмите Настроить.
- Дождитесь завершения процесса установки и нажмите Закрыть.
Добавление шаблонов сертификатов в Центр Сертификации
Для добавления шаблонов сертификатов:
- Откройте Панель управления.
- Два раза щелкните по названию пункта Администрирование.
- Два раза щелкните по названию оснастки Центр сертификации.
- Правой кнопкой мыши щелкните по названию папки Шаблоны сертификатов и выберите пункт Управление.
- Правой кнопкой мыши щелкните по названию шаблона Пользователь со смарт-картой и выберите пункт Скопировать шаблон. Откроется окно Свойства нового шаблона.
-
Выберите следующие настройки:
Значение параметра Минимальный размер ключа должно быть не менее 1024.
- Нажмите Применить.
- Нажмите OK.
- Перейдите в окно Центр сертификации.
- Правой кнопкой мыши щелкните по названию папки Шаблоны сертификатов.
- Выберите пункт Создать и подпункт Выдаваемый шаблон сертификата.
- В окне Включение шаблонов сертификатов щелкните по названию шаблона Агент регистрации.
- Удерживайте клавишу Ctrl.
- Щелкните по названию шаблона Пользователь с RuToken.
- Нажмите ОК.
- Закройте окно Центр сертификации.
Выписка сертификатов пользователю Administrator и обычным пользователям с помощью mmc-консоли
Для выписки сертификатов пользователю Administrator и обычным пользователям с помощью mmc-консоли:
- Нажмите комбинацию клавиш Windows + X и выберите пункт меню Выполнить.
- Введите команду «mmc» и нажмите ОК.
- В окне Консоль1 выберите пункт меню Файл и подпункт Добавить или удалить оснастку…
- В левой части окна Добавление и удаление оснастки щелкните по названию оснастки Сертификаты.
- Нажмите Добавить.
- В открывшемся окне установите переключатель моей учетной записи пользователя и нажмите Готово.
- В окне Добавление и удаление оснасток нажмите ОК.
- В левой части окна Консоль 1 щелкните по названию папки Личные.
- Щелкните по названию папки Сертификаты.
- В правой части окна щелкните правой кнопкой мыши в свободном месте окна.
- Выберите пункт Все задачи и подпункт Запросить новый сертификат…
- В окне Регистрация сертификатов ознакомьтесь с информацией и нажмите Далее.
- Нажмите Далее.
- Установите флажок Администратор и нажмите Заявка.
- Нажмите Готово.
- В левой части окна Консоль 1 щелкните по названию папки Личное.
- Щелкните по названию папки Сертификаты.
- В правой части окна щелкните правой кнопкой мыши в свободном месте окна.
- Выберите пункт Все задачи и подпункт Запросить новый сертификат…
- В окне Регистрация сертификатов ознакомьтесь с информацией. Нажмите Далее.
- Нажмите Далее.
- Установите флажок Агент регистрации и нажмите Заявка.
- Нажмите Готово.
- В левой части окна Консоль 1 щелкните по названию папки Личное.
- Правой кнопкой мыши щелкните по названию папки Сертификаты и выберите пункт Все задачи.
- Выберите подпункт Дополнительные операции.
- Выберите подпункт Зарегистрироваться от имени…
- Ознакомьтесь с информацией и нажмите Далее.
- Нажмите Далее.
- Нажмите Обзор.
- Щелкните по имени сертификата типа Агент регистрации (чтобы определить тип сертификата откройте свойства сертификата).
- Нажмите ОК.
- Нажмите Далее.
- Установите переключатель в положение Пользователь с RuToken и нажмите Далее.
- В окне Регистрация сертификатов нажмите Обзор.
- В поле Введите имена выбираемых объектов введите имя пользователя, которому будет выписан сертификат типа Пользователь с RuToken.
- Нажмите Проверить имена.
- Нажмите OK.
- Поле Имя пользователя или псевдоним заполнится автоматически.
- Нажмите Заявка.
- Введите PIN-код Пользователя и нажмите OK.
- Нажмите Закрыть.
- В результате сертификат типа Пользователь с RuToken выписан и сохранен на токене.
- Чтобы просмотреть свойства этого сертификата нажмите Просмотреть сертификат.
- Чтобы закрыть окно сертификата нажмите OK.
- Аналогичным способом выпишите сертификаты для всех пользователей, которым они необходимы. Пользователю Администратор так же необходимо выписать сертификат типа Пользователь с RuToken.
- В окне Консоль 1 выберите пункт: Файл — Добавить или удалить оснастку.
- В окне для добавления и удаления оснастки выберите в списке доступных оснасток пункт Сертификаты.
- Установите переключатель учетные записи компьютера.
- Выберите пункт: Корень консоли — Сертификаты — Личные — Сертификаты — Все задачи — Запросить новый сертификат.
- Установите галочку Проверить подлинности контроллера домена и нажмите Заявка.
-
Закройте окно Консоль1. Для сохранения консоли нажмите Да.
Рекомендуется сохранить данную консоль для удобства использования в дальнейшем. Причем если работать в системе с правами учетной записи User, то в консоли Сертификаты — текущий пользователь будут отображаться сертификаты пользователя User. Любой пользователь домена на локальном компьютере из консоли Сертификаты — текущий пользователь может запросить сертификат.
- Если консоль не надо сохранять, то нажмите Нет. При этом не сохранятся только настройки консоли, выписанные сертификаты будут сохранены в системе.
- Введите имя файла для хранения настроек консоли и нажмите Сохранить.
На этом настройка Центра Сертификации и выдача сертификатов пользователям завершена.