Развертывание PKI , нетривиальный процесс, как бы легче не стало с выходом Windows Server 2008 R2 .
Данный пост написан с единственной целью, если придется повторить, то не забыть что-то сделать. Возможно кому-то какая-то часть этих записей поможет. Но всё написанное ниже, не может служить инструкцией! В моих условиях требуется развернуть PKI на тестовом домене разработчика.
Проблемы с компрометацией сертификата Root CA не стоят. Поднять новый единый Online Root/Poliсy/Issuing CA в моих условиях выгоднее, чем поддерживать безопасный вариант, который просто необходим в условиях реальной эксплуатации.
Поэтому варианты инфраструктуры с Offline Root CA являются явным излишеством, да еще и требуют времени на ручную поддержку. Отказ от LDAP ссылок в AIA в пользу HTTP тоже не подходит.
Перед развертыванием роли CA имеет смысл внести несколько изменений в групповую политику домена. Это всё равно потребуется позже, и нет никаких причин сделать это прямо сейчас.
Перед установкой CA , стоит создать файл конфигурации CAPolicy.inf . Установщик роли будет использовать эту информацию при установке.
Благодаря заранее проведенному планированию , установка роли AD CS не вызывает серьезных вопросов.
Сразу после установки роли AD CS нужно будет выполнить настройку CA , поскольку вносимые изменения касаются содержимого издаваемых сертификатов, и должны быть выполнены до издания первого сертификата.
После установки роли AD CA требуется выполнить еще несколько действий:
Все эти операции выполняются скриптом, который был подготовлен ранее, на этапе .
Настройка IIS в моем случае была проведена автоматически при установке ролей. Запустите Best Practice Analyzer вашего CA , он проверит, в т.ч. настройки IIS . На всякий случай, инструкция по настройке IIS ниже.
Для настройки фильтра запросов:
Windows CA и настроен. И это самая простая, одноуровневая иерархия PKI , которую нигде, кроме как в тестовых условиях, использовать нельзя, по причинам безопасности.
Самая главная проблема в Root CA , из за его сертификата, который невозможно отозвать. Секретный ключ этого сертификата можно сравнить с печатью предприятия.
HTTP сервер расположенный на CA сервере еще одна потенциальная возможность для взломщиков, а в случае ограниченного количества IP адресов у компании, еще и сложности с доступом к нему из интернет. Двухуровневая иерархия значительно более приспособлена к реальным условиям. Даже если HTTP будет расположен на сервере с Issuing CA и этот CA будет скомпрометирован, остается возможность отозвать сертификат скомпрометированного Issuing CA и уменьшить потери в репутации компании. Хотя объем работ по восстановлению инфраструктуры PKI , т.е. замены абсолютно всех сертификатов будет колоссальным. По этой причине серверам CA требуется максимально возможная защита от взлома. А после подозрений на компрометацию сервера CA , стоит начать процедуру смены ключей, не дожидаясь последствий выпуска недоброжелателями поддельных сертификатов.
Полезные сведения не вошедшие в другие разделы.
certsrv.msc /e — Список всех CRL созданных CA
Здравствуйте, друзья!
Одним из преимуществ ЛОЦМАН:ПГС является применение цифровых подписей достоверно подтверждающих личность и роль подписавшего документ. Для создания цифровых подписей необходимы сертификаты выданные удостоверяющим центром сертификации.
На этапе внедрения не всегда хватает опыта для установки и настройки центра сертификации, чтобы Вам не пришлось собирать крупицы информации по просторам интернета, мы предлагаем подробно рассмотреть установку и настройку центра сертификации.
В наших примерах мы будем использовать контроллер домена на Microsoft Windows Server 2008 и клиент Microsoft Windows 7.
Сегодня рассмотрим как развернуть центр сертификации windows, и поговорим для чего он нужен.
Собственный центр сертификации нужен для создания собственной инфраструктуры PKI – Public Key Infrastructure, то есть инфраструктуры открытых ключей. Если говорить в двух словах, то работает эта система так:
мы создаём центр сертификации, и распространяем корневой сертификат этого центра между нашими пользователями, устанавливаем его в доверенные корневые центра сертификации. Это значит, что тем сертификатам которые выдаст этот центр, все компьютеры где он установлен будут доверять.
То есть Вы подключаетесь к некому сайту по 443 порту (SSL), сайт показывает Вашему компьютеру сертификат, и если он подписан не доверенным центром сертификации, то браузер покажет предупреждении, и возложит решение на Ваши плечи, стоит ли доверять этому сертификату или нет. В том случае если Вы согласитесь продолжать, произойдет следующее:
Клиент и сервер согласовывают алгоритм шифрования, сервер отправляет клиенту свой сертификат, подписанный ЦС, и открытый ключ. Клиент проверят валидность сертификата, имени сервера,которое вписано в сертификат, и посылает серверу случайный ключ, зашифрованный открытым ключом сервера. Сервер расшифровывает его своим закрытым ключом, и устанавливает соединение используя тот самый случайный ключ.
Также можно сказать серверу, что бы он запрашивал сертификат у клиента, для его аутентификации.
Сертификаты бывают: Самоподписанные (self-signed) – сервер сам выпускает сертификат, он ни кем не удостоверяется, поэтому ему по умолчанию не будут доверять.
Wildcard сертификаты можно выдавать на область имен – например *.domaim.ru будет действовать на все поддомены.
SAN (Subject Alternative Name) – В такой сертификат можно вписать дополнительные имена серверов, например при публикации OWA, нам потребуется несколько имён,что не делать несколько сертификатов, имена можно вписать в один.
Для установки сервера CA устанавливаем следующие роли:
Выберем сам центр сертифкации, и веб интерфейс:
Enterprise – установка центра в существующий домен:
Сделаем наш сервер корневым:
Сгенерируем новый приватный ключ:
Внимание! Я при установке выбрал алгоритм подписи sha1. Данный алгоритм устарел, и браузер хром ругается, при заходе на сайт.
Поэтому при установке выбирайте минимум sha256. Если же Вы уже установили CA с алгоритмом sha1 поменять его можно через командную строку:
certutil -setreg ca\csp\CNGHashAlgorithm SHA256
net stop certsvc
net start certsvc
Выбираем имя нашего центра сертификации:
Тут можно выставить время действия корневого сертификата:
Дополнительные сервисы – оставим по умолчанию:
Теперь нам доступен веб интерфейс, по адресу http://dc1/csertsrv
Теперь на серверах мы сможем генерировать запросы на сертификаты, и подписывать их в нашем свежеустановленном центре сертификации. Для этого нужно сгенерировать запрос на сертификат с расширением req, открыть его блокнотом и скопировать запрос в поле, которое находится в веб интерфейсе, под ссылкой Request a certificat. У центра сертификации есть шаблоны, по которым он сможет выпускать сертификаты под разные задачи.
Если у Вас есть вопросы, задавайте их на , или ниже в комментариях.