В данной статье деться пошаговая инструкция по установке и настройке центров сертификации (Certification authority) на основе служб сертификатов (Certificate services) Microsoft входящей в Windows 2003.
Схема, которую будем реализовывать:
Корневой центр сертификации будем устанавливать на компьютер с именем RootCA.
Для развёртывания корневого центра сертификации необходим компьютер под управлением ОС Windows Server с установленным IIS версии 6.0 или выше. Необходимо проверить наличие ASP на сервере IIS. Компьютер не должен входить в домен. Подключать данный компьютер к сети так же не обязательно, однако, сетевая карта на компьютере должна присутствовать.
Установка центра сертификации проходит по умолчанию. То есть во время установки никакие настройки менять не надо. Убеждаемся, что выбрана установка Stand-alone root CA
Единственная вещь, которую необходимо указать – это имя нашего корневого центра сертификации (назовём его ROOT CA).
Так как данный компьютер не будет доступен по сети, то нам необходимо указать место в нашей сети, где будет лежать файлик, содержащий список отозванных сертификатов. Допустим, данным местом будет сервер, на котором будет установлен подчинённый центр сертификации – это компьютер с именем SubCA. Для этого нам необходимо подправить свойства корневого центра сертификации.
- Заходим с свойства корневого центра сертификации.
- Переходим на вкладку Extensions
- На этой вкладке в выпадающем списке выбираем значение CRL Distribution Point.
- Затем в поле ниже удаляем две записи начинающиеся на http:// и file://
- Далее в этом же поле добавляем две записи вида:
- http://SubCA.domain.local/CertEnroll/<CaName><CRLNameSuffix><DeldaCRLAllowed>.crl
- file://\\SubCA.domain.local\CertEnroll\<CaName><CRLNameSuffix><DeldaCRLAllowed>.crl
- для каждой добавленной записи устанавливаем галочки:
1. Include in CRLs. Clients use this to find Delta CRL locations.
2. Include in the CDP extension of issued certificates.
- Затем на вкладке в выпадающем списке выбираем значение Authority Information Access.
- В поле ниже удаляем две записи начинающиеся на http:// и file://
- Далее в этом же поле добавляем две записи вида:
- http://SubCA.domain.local/CertEnroll/<CaName><CRLNameSuffix><DeldaCRLAllowed>.crl
- file://\\SubCA.domain.local\CertEnroll\<CaName><CRLNameSuffix><DeldaCRLAllowed>.crl
- для каждой добавленной записи устанавливаем галочку:
1. Include in the AIA extension of issued certificates.Обратите внимание, что указывается полное (FQDN) доменное имя компьютера.
Данными действиями мы указали хранилище, в котором будет лежать файл, содержащий список отозванных сертификатов корневого сервера.
Затем необходимо настроить срок годности списка отозванных сертификатов (по умолчанию неделя), иначе придётся каждую неделю публиковать новый список отозванных сертификатов, и выкладывать его в сеть (так как наш корневой центр сертификации не подключён к сети). Для этого, правой кнопкой мыши нажимаем на Revoked Certificates и в контекстном меню выбираем пункт Свойства.
Затем в появившемся окне меняем значение CRL Publication Interval на необходимое, например, на 1 год. (Это означает, что список отозванных сертификатов, будет действителен в течении года).
После этих действий, список отозванных сертификатов может перестать публиковаться в виде файла (наверное, это фича, а не бага), и его придётся экспортировать из реестра (как это сделать будет описано ниже).
После всех действий рекомендуется перегрузить центр сертификации.
На этом настройка корневого центра сертификации закончена. Но он нам ещё понадобиться для выписки сертификата.
Теперь займёмся установкой подчинённого центра сертификации. Для развёртывания подчинённого центра сертификации необходим компьютер под управлением ОС Windows Server 2003 Enterprise с установленным IIS версии 6.0 или выше. Необходимо проверить наличие ASP на сервере IIS. Компьютер должен быть членом домена (может быть контроллером домена).
При установке центра сертификации необходимо указать, что наш сервер является Enterprise Subordinate CA
И задать ему имя (например, SUB CA).
После установки, подчинённый центр сертификации попросит указать корневой центр сертификации или сохранить запрос на сертификат в файл. Так как корневой центр сертификации не доступен по сети, то мы сохраняем запрос в файл.
Затем переносим этот файл запроса на корневой центр (ROOT CA) сертификации, импортируем запрос в центр сертификации:
и затем, на основе импортированного запроса выдаём сертификат:
Затем данный сертификат экспортируется в файл.
Далее публикуем список отозванных сертификатов (даже если у нас нет отозванных сертификатов, данную операцию всё равно необходимо выполнить).
Затем нам необходимо 3 файла перенести с машины, где установлен корневой центр сертификации на машину с подчинённым центром сертификации:
- Файл, содержащий открытый ключ корневого центра сертификации, в нашем случае RootCA_ROOT CA.cer находиться в папке %system root%\system32\certsrv\certenroll – это должен быть единственный файл сертификата, в имени которого содержится имя компьютера и имя центра сертификации.
- Файл, содержащий сертификат, выданный подчинённому центру сертификации на основании запроса. В нашем случае это SubCA.domian.local_SUB CA.cer. Местоположение данного файла указывается при экспортировании данного сертификата в файл (как было описано выше).
- И последний файл, это файл, содержащий список отозванных сертификатов. Этот файл находиться в папке %system root%\system32\certsrv\certenroll и имеет расширение .crl. В нашем случае это ROOT CA.crl (файл содержащий в конце имени файла знак «+», содержит дельту списка отозванных сертификатов). Однако, как было описано выше, файла, содержащего список отозванных сертификатов, может не быть в этой папке, тогда этот файл необходимо экспортировать из реестра. Для этого открываем консоль управления сертификатами локального компьютера, и экспортируем необходимый список отозванных сертификатов в файл:
Как было сказано выше, эти три файла мы переносим с корневого центра сертификации на подчинённый. Сертификат корневого центра сертификации импортируем на компьютер с установленным подчинённым центром сертификации (для этого достаточно просто открыть файл сертификата и нажать кнопку «установить сертификат»). Файл, содержащий список отозванных сертификатов необходимо положить в папку %system root%\system32\certsrv\certenroll (это тот путь, который мы указывали, когда меняли свойства корневого центра сертификации). А так же необходимо импортировать в реестр, с помощью остнастки – сертификаты. Файл, содержащий сертификат подчинённого центра сертификации необходимо импортировать в подчинённый центр сертификации:
Теперь запускаем подчинённый центр сертификации.
После того, как подчинённый центр сертификации стартовал, корневой центр сертификации можно выключать и убирать в сейф. Он нам потом может понадобиться в двух случаях:
- Мы заходим поднять ещё один подчинённый центр сертификации второго уровня;
- Нам понадобиться перевыписать сертификат подчинённого центра сертификации;
Теперь необходимо настроить подчинённый центр сертификации.
В список доступных к выдачи шаблонов сертификатов необходимо добавить два шаблона Enrollment Agent (Computer) и Enrollment Agent, для этого нажимаем правой кнопкой мыши на Certificate Templates, из контекстного меню выбираем New и затем Certificate Template to Issue.
В появившемся окне выбираем два шаблона сертификатов Enrollment Agent и Enrollment Agent (Computer) и нажимаем «Ok».
И убеждаемся, что эти шаблоны сертификатов появились в списке доступных к выдачи шаблонов сертификатов:
Далее, для сотрудника, отвечающего за выдачу сертификатов, необходимо выписать сертификат Enrollment Agent. Это можно сделать через Web-интерфейс. Для этого идём на адрес http://имя_компьютера_подчинённого_ЦС/certsrv (в нашем случае http://SubCA/certsrv). На странице выбираем пункт: Request a certificate:
Далее выбираем Advanced certificate request:
Затем Create and submit a request to this CA:
Затем из выпадающего списка выбираем шаблон Enrollment Agent и нажимаем Submit. После этого устанавливаем полученный сертификат на компьютер.
Для того, чтобы выписывать сертификаты другим пользователям необходимо или иметь сертификат Enrollment Agent установленный в профиле пользователя, который будет выдавать сертификаты, или Enrollment Agent (Computer), установленный на компьютере, на котором будет осуществляться выдача сертификатов.
Для того, чтобы запросить сертификат Enrollment Agent или Enrollment Agent (Computer) необходимо входить в группу Администраторов Домена.
Пользователю, который будет выписывать сертификаты другим пользователям, входить в группу администраторов домена не обязательно, достаточно входить в группу пользователи домена. Но ему необходимо настроить права доступа на запись и чтение на цент сертификации, а так же права на запись, чтение, выдачу и автовыдачу на шаблон, по которому будут сертификаты выдаваться. На локальной машине, пользователь должен входить в группу продвинутых пользователей, это необходимо для запуска ActiveX комнонентов.
Для проверки возможности авторизации в домене на основе сертификата необходимо проверить, что с компьютера, с которого осуществляется вход, доступна сетевая папка \\имя_сервера_подчинённого_ЦС\certenroll (в нашем случае \\SubCA\certenroll) и все файлы, имеющие расширение .crl доступны для чтения.
Оригинал тут
2 комментов оставлено (Add 1 more)