No Image

Центр сертификации в домене

СОДЕРЖАНИЕ
9 просмотров
10 марта 2020

Пошаговая инструкция по установке и настройке центра сертификации

Сергей Вессарт | Опубликовано 29.10.2013 в рубрике Новые возможности

Одним из преимуществ ЛОЦМАН:ПГС является применение цифровых подписей достоверно подтверждающих личность и роль подписавшего документ. Для создания цифровых подписей необходимы сертификаты выданные удостоверяющим центром сертификации.

На этапе внедрения не всегда хватает опыта для установки и настройки центра сертификации, чтобы Вам не пришлось собирать крупицы информации по просторам интернета, мы предлагаем подробно рассмотреть установку и настройку центра сертификации.

В наших примерах мы будем использовать контроллер домена на Microsoft Windows Server 2008 и клиент Microsoft Windows 7.

  1. Для начала нам нужно добавить роль Active Directory Certification Services (Службы сертификации Active Directory) на контроллере домена. Откройте Server Manager и выполните команду «Add Role» («Добавить роли»).
  2. Откроется Add Roles Wizard (Мастер добавления ролей). Нажмите Next.
  3. Выберите роль Active Directory Certification Services(Службы сертификации Active Directory). Нажмите Next.
  4. Next.
  5. Проверьте, что отмечена служба Certification Authority(Центр сертификации).
  6. Вариант установки должен быть указан «Enterprise».
  7. Тип центра сертификации Root CA(Корневой ЦС).
  8. Создайте новый приватный ключ.
  9. Укажите параметры шифрования, например:

    Если Вы меняете параметры, рекомендуем Вам ознакомиться с советами компании Microsoft по безопасности в части выбираемой длины ключа.
  10. Проверьте имя и суффиксы центра сертификации, например:
  11. Задайте срок действия сертификата, например:
  12. Next.
  13. Install.
  14. Процесс установки…
  15. Установка завершена. Close.

    Центр сертификации установлен. Теперь нужно создать шаблон сертификатов.
  16. Перейдите в Certificate Templates (Шаблоны сертификатов) и выполните команду Duplicate Template (Скопировать шаблон) на существующем шаблоне, например User.
  17. Выберите версию Windows Server минимально поддерживаемую ЦС.

    Не выбирайте Windows Server 2008, иначе при подписании созданным сертификатом документов в программных продуктах использующих .NET Framework 4.0 Вы получите сообщение «Указан неправильный тип поставщика (mscorlib)». Иными словами Вы не сможете использовать сертификат.
  18. В открывшихся свойствах шаблона укажите имя и отключите Publish certificate in Active Directory (Опубликовать сертификат в Active Directory):
  19. Перейдите на вкладку Request Handling (Обработка запроса) и измените цель на «Signature» («Подпись»).
  20. Проверьте параметры на вкладке Subject Name (Имя субъекта).
  21. На вкладке Security (Безопасность) для группы Authenticated Users (Прошедшие проверку) разрешите Enroll (Заявка).
  22. На вкладке Extensions (Расширения) скорректируйте Application Policies (Политика применения) .

    Выберите Document Signing (Подписывание документа).

    ОК.

    Шаблон сертификата создан, теперь необходимо его опубликовать.
  23. Перейдите в Certificate Templates (Шаблоны сертификатов) и выполните команду «New -> Certificate Template to Issue» («Новый -> Выдать шаблон сертификата»).
  24. Выберите ранее созданный шаблон. ОК.

    Установка и настройка шаблона сертификатов закончена. Перейдем на клиента и попробуем получить сертификат.
  25. На клиенте запустите Certificate Manager Tool выполнив команду certmgr.msc.
  26. Перейдите в Personal (Личное) и создайте запрос на получение сертификата, выполнив Request New Certificate (Запросить новый сертификат).
  27. Next.
  28. Выберите политику Active Directory. Next.
  29. В типах сертификатов отметьте ранее созданный шаблон.

    Если планируется использование нескольких сертификатов для одного пользователя, желательно присвоить имя запрашиваемому сертификату. Откройте свойства заявки.
  30. На вкладке General (Общие) укажите Friendly name (Понятное имя).

    Сохраните и закройте свойства.
  31. Enroll.
  32. Заявка успешно завершена, сертификат получен.
  33. В Certificate Manager Tool можно посмотреть параметры сертификата.

    Мы получили сертификат только для одного пользователя, а когда пользователей много, такой способ не очень удобен. Для облегчения процесса давайте настроим автоматическую раздачу сертификатов групповой политикой.
  34. Для начала необходимо изменить свойства, созданного ранее шаблона, сделать его доступным для автоматической выдачи. Найдите созданный шаблон в Server Manager и откройте свойства.
  35. Перейдите на вкладку Security (Безопасность) и для группы Authenticated Users (Прошедшие проверку) разрешите Autoenroll (Автозаявка).
  36. Следующий шаг — настроить групповую политику автоматической регистрации сертификатов для домена. Можно изменить политику по-умолчанию, но лучше создать новую, так мы сможем ограничить круг пользователей, охватываемых политикой. На домене выполните команду Create a GPO in this domain, and Link it there… (Создать ОГП в документе и связать его…).
  37. Введите имя групповой политики, например:
  38. Отредактируйте созданную политику.
  39. Перейдите в раздел «User configuration — Policies — Widows Settings — Security Settings — Public Key Policies» (Конфигурация пользователя — Политики — Конфигурация Windows — Параметры безопасности — Политики открытого ключа) и откройте свойства Certificate Services Client — Auto-Enrollment (Клиент службы сертификации — автоматическая регистрация).
  40. Включите автоматическую регистрацию сертификатов и флажки:
    • Обновлять сертификаты с истекшим сроком действия или в состоянии ожидания и удалять отозванные сертификаты;
    • Обновлять сертификаты, использующие шаблоны сертификатов.
    Читайте также:  Украли страницу в инстаграме как вернуть

  41. Закройте редактор групповой политики и в Server Manager при необходимости ограничьте круг пользователей или компьютеров, на которые будет применена политика. Как пример, ниже показана политика, которая будет распространена только на ПК DOMAINCOMPUTER.

    Групповая политика создана, проверим как она работает.
  42. На клиенте откройте CMD.exe с правам администратора и выполните команду «gpupdate /force /boot /logoff» или перезапустите ПК.
  43. Сертификат должен быть автоматически запрошен и получен. Полученный сертификат можно увидеть в Certificate Manager Tool (пункт 33) или в Control Panel — Internet Options, вкладка Content — Certificates — Personal (Панель управления — Свойства обозревателя, вкладка Содержание — Сертификаты — Личные).

    Это всё, что мы хотели сказать про установку и настройку центра сертификации. Спасибо, что читаете наш блог, до свидания!
  44. 9 комментариев

    Сергей, спасибо большое. Очень нужная статья.

    Конфигурация площадки

    Домен: TEST.LOCAL

    Серверы: (Автономный) RootCA ; (Предприятие) SRV03.TEST.LOCAL

    Сетевое хранилище DFS: \test.localSOFTPKI

    WEB сервер: совмещён с сервером ЦС домена SRV03.TEST.LOCAL

    Подготовка сетевого хранилища

    Создать сетевую папку на файловом сервере и подключить к пространству имён. Назначить права на папку: Доступ – Все (чтение/запись); Безопасность – TESTSRV03$ (чтение/запись)(учётная запись сервера ЦС в домене)

    Подготовка WEB сервера

    На серверах DNS (в случае домана – контроллеры домена) создать запись pki.test.local ведущую на IP адрес WEB сервера (в нашем случае SRV03.TEST.LOCAL)

    Создасть сайт pki.test.local на WEB сервере, указав в качестве физического сетевой путь \test.localSOFTPKI

    Для возможности работы с сетевой папкой необходимо запускать сайт как сетевую службу. Для этого в разделе Пулы приложений – выбрать приложение созданого сайта PKIДополнительные параметры. Параметр Модель процессаУдостоверение установить NetworkService. Перейти в настройки сайта – Проверка подлинностиАнонимная проверка подлинностиИзменить и установить Удостоверение пула приложений

    Чтобы IIS сервер мог распознавать DeltaCRL необходимо добавить возможность чтения знака "+". Для этого в оснастке IIS нужно в настройках сайта открыть Фильтрация запросов – Изменить параметры и установить Разрешить двойное преобразование

    Установка корневого центра сертификации

    Предполагается, что компьютер с именем RootCA установлен, обновлён и сконфигурированы параметры безопасности. Данный компьютер будет выполнять роль корневого центра сертификации (Root Certification Authority). Поскольку корневой CA — самая важная точка в иерархии PKI, этот сервер будет нормально выключен и включаться только для следующих целей:

    • Отправка новой заявки на сертификат;
    • Публикация CRL;
    • Обновление сертификата самого CA;
    • Установка обновлений безопасности.

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

    После установки Центра сертификации (из стостава AD CS) необходимо её настроить.

    • Автономный ЦС
    • Корневой ЦС
    • Создать новый закрытый ключ
    • RSA#Microsoft Software Key Storage Prov >
    Читайте также:  Bosch serie 6 3d washing wlk24271oe отзывы

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

    Создаём папку в корне диска C, где будут храниться CRT и CRL файлы

    Задаём точки публикации CRL файлов и ссылки, публикуемые в издаваемых сертификатах. То же самое и для CRT файлов.

    certutil -setreg CACRLPublicationURLs "65:%windir%system32CertSrvCertEnroll\%3%8%9.crl
    65:C:CertData\%3%8%9.crl
    2:http://pki.test.local/%3%8%9.crl"
    certutil -setreg CACACertPublicationURLs "1:%windir%system32CertSrvCertEnroll\%1_%3%4.crt
    2:http://pki.test.local/%3%4.crt"

    Для Windows 2008 строка будет с двумя знаками %% для переменных certutil -setreg CACRLPublicationURLs "65:%windir%system32CertSrvCertEnroll\%%3%%8%%9.crl
    65:C:CertData\%%3%%8%%9.crl
    2:http://pki.test.local/%%3%%8%%9.crl"
    и также для certutil -setreg CACACertPublicationURLs "1:%windir%system32CertSrvCertEnroll\%%1_%%3%%4.crt
    2:http://pki.test.local/%%3%%4.crt"
    Поскольку мы не можем управлять публикацией CRT файлов, мы его переименовываем в нужное имя и копируем в папку CertData

    ren %windir%system32CertSrvCertEnroll*.crt ROOT-TEST-CA.crt
    copy %windir%system32CertSrvCertEnrollROOT-TEST-CA.crt C:CertData

    задаём срок действия издаваемых сертификатов равным 15 лет

    certutil -setreg CAValidityPeriodUnits 15
    certutil -setreg CAValidityPeriod "Years"

    Задаём параметры публикации CRL (повторяем, что было указано в CAPolicy.inf)

    certutil -setreg CACRLPeriodUnits 12
    certutil -setreg CACRLPeriod "Months"
    certutil -setreg CACRLOverlapPeriod "Months"
    certutil -setreg CACRLOverlapUnits 1
    certutil -setreg CACRLDeltaPeriodUnits 0
    certutil -setreg CACRLDeltaPeriod "Days"
    certutil -setreg CACRLOverlapPeriod "Weeks"
    certutil -setreg CACRLOverlapUnits 2

    Примечание: Данные параметр может быть изменены и через реестр в ветке HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesCertSvcConfiguration

    Включаем полный аудит для сервера CA

    certutil -setreg CAAuditFilter 127

    Отключаем генерацию кросс-сертификатов

    certutil -setreg caCRLFlags +CRLF_DISABLE_ROOT_CROSS_CERTS

    Конфигурируем ЦС для включения истёкших отозванных сертификатов в списки отзыва

    certutil –setreg caCRLFlags +CRLF_PUBLISH_EXPIRED_CERT_CRLS

    Включаем поддержку сертификатов OCSP Response Signing на Offline CA:

    certutil -v -setreg policyeditflags +EDITF_ENABLEOCSPREVNOCHECK
    net stop certsvc && net start certsvc

    Публикуем новый CRL в новую локацию.

    Установка издающих центра сертификации

    После установки Центра сертификации (из стостава AD CS) необходимо её настроить.

    • ЦС предприятия
    • Подчиненный ЦС
    • Создать новый закрытый ключ
    • RSA#Microsoft Software Key Storage Prov >Скопировать файл запроса на сервер RootCA и выпустить по немуц сертификат
    • открыть Панель управленияАдминистрированиеЦентр сетрификации
    • выбрать сервер-все задачиВыдать новый запрос. и выбрать файл запроса
    • перейти в подраздел запросы в ожидании
    • выбелить запрос, затем все задачи – выдать
    • перейти в подраздел выданные сертификаты и открыть сетрификат
    • на вкладке Состав нажать копировать в файл и сохратить в формате .p7b (TEST-CA.p7b)

    Скопировать файл выданного сертификата (TEST-CA.p7b) и файлы из папки C:CertData (ROOT-TEST-CA.crt и ROOT-TEST-CA.crl) в сетевое хранилище \test.localSOFTPKI

    После этого сервер RootCA можно выключить.

    Зарегистрировать файлы с корневого ЦС на подчинённом сервере (запускать с привилегиями Администратора)

    certutil –addstore Root \test.localSOFTPKIROOT-TEST-CA.crt
    certutil –addstore Root \test.localSOFTPKIROOT-TEST-CA.crl
    certutil -dspublish -f \test.localSOFTPKIROOT-TEST-CA.crt RootCA

    Если ошибок не возникло, то установить сертификат ЦС (выданный RootCA)

    • открыть Панель управленияАдминистрированиеЦентр сетрификации
    • выбрать сервер-все задачиУстановить сертификат ЦС и выбрать файл (TEST-CA.p7b)
    • после успешной установки файл .p7b можно удалить

    Выполнить пакетный файл настройки для дальнейшей настройки

    Задаём точки публикации CRL файлов и ссылки, публикуемые в издаваемых сертификатах. То же самое и для CRT файлов.

    certutil -setreg CACRLPublicationURLs "65:%windir%system32CertSrvCertEnroll\%3%8%9.crl
    65:\test.localSOFTPKI\%3%8%9.crl
    6:http://pki.test.local/%3%8%9.crl"
    certutil -setreg CACACertPublicationURLs "1:%windir%system32CertSrvCertEnroll\%1_%3%4.crt
    2:http://pki.test.local/%3%4.crt"

    Для Windows 2008 строка будет с двумя знаками %% для переменных certutil -setreg CACRLPublicationURLs "65:%windir%system32CertSrvCertEnroll\%%3%%8%%9.crl
    65:\test.localSOFTPKI\%%3%%8%%9.crl
    6:http://pki.test.local/%%3%%8%%9.crl"
    и также для certutil -setreg CACACertPublicationURLs "1:%windir%system32CertSrvCertEnroll\%%1_%%3%%4.crt
    2:http://pki.test.local/%%3%%4.crt
    Поскольку мы не можем управлять публикацией CRT файлов, мы его переименовываем в нужное имя и копируем в папку CertData

    ren %windir%system32CertSrvCertEnroll*.crt TEST-CA.crt
    copy %windir%system32CertSrvCertEnrollTEST-CA.crt \test.localSOFTPKI

    задаём максимальный срок действия издаваемых сертификатов равным 5 лет

    certutil -setreg CAValidityPeriodUnits 5
    certutil -setreg CAValidityPeriod "Years"

    Задаём параметры публикации CRL (повторяем, что было указано в CAPolicy.inf)

    certutil -setreg CACRLPeriodUnits 3
    certutil -setreg CACRLPeriod "Months"
    certutil -setreg CACRLDeltaPeriodUnits 1
    certutil -setreg CACRLDeltaPeriod "Months"
    certutil -setreg CACRLOverlapPeriod "Days"
    certutil -setreg CACRLOverlapUnits 10

    Включаем наследование Issuer Statement в издаваемых сертификатах

    certutil -setreg PolicyEnableRequestExtensionList +"2.5.29.32"

    Включаем полный аудит для сервера CA

    certutil -setreg CAAuditFilter 127

    задаём контекст конфигурации для сервера CA. Контекст конфигурации должен указывать на *корневой домен* текущего леса.

    certutil -setreg CADSConfig "CN=Configuration,DC=test,DC=local"

    публикуем сертификат CA в AD

    certutil -dspublish -f \test.localSOFTPKITEST-CA.crt Subca
    certutil -dspublish -f \test.localSOFTPKITEST-CA.crt NTAuthCA
    net start certsvc

    Публикуем новый CRL в новую локацию.

    Читайте также:  C форматы даты и времени

    Проверка PKI предприятия

    На сервере ЦС предприятия запустить оснастку PKIView.msc и проверить весь пусть регистрауии (Корневой и подчинённый серверы) – все пути AIA и CDP должны указывать на сайт http://pki.test.local

    Внимание!

    Особенность такого построения серверов (когда корневой сервер находится в отключенном режиме) является то, что периодически придётся вречную его запускать и выгружать обновлённый файл отозванных сервтификатов ROOT-TEST-CA.crt на общее хранилище. Для этого достаточно примерно за месяц до истечения действия текущего файла запустить сервер корневого ЦС и скопировать обновлённый файл из папки C:CertData. Если файл автоматически не обновился при запуске сервера, то обновить его командой

    Для того, чтобы теперь действующий на сервере SRV03.TEST.LOCAL WEB сервер корректно работал в домене по протоколу HTTPS нужно выпустить ему доменный сертификат.

    Открываем Панель управленияДиспетчер службы IIS и выбираем WEB сервер (SRV03). Открываем Сертификаты сервера и проверяем текущие сертификаты. Сертификат сервера SRV03 на данный момент самоподписанный и поэтому не будет автоматически признаваться в домене.

    Выбираем действие Создать сертификат домена. и заполняем данные. Полное имя должно соответствовать адресу требуемого сайта – в нашем случае будет SRV03.TEST.LOCAL, остальные поля произвольно. Далее выбираем сервер сертификации – в нашем случае будет TEST-CASRV03.TEST.LOCAL и назначаем Полное имя – оно будет отображаться как псевдоним в Диспетчере службы IIS.

    После выпуска сертификата его нужно закрепить за основным сайтом сервера. Для этого нужно выбрать сайт Default Web SiteИзменить привязки, выбрать привязку https и в его настройках выбрать новый созданный сертификат.

    Публикуем новый CRL в новую локацию

    Просмотр PKI структуры

    добавить сертификаты в хранилище

    импортируем сертификат рутового ЦА

    certmgr.exe -add -c RootCA.cer -s -r localMachine Root

    импортируем сертификат выдающего ЦА

    certmgr.exe -add -c CA.cer -s -r localMachine CA

    импортируем сертификат в хранилище компа

    certutil.exe -importpfx -p password VPN_Cert.pfx

    импортируем сертификат в хранилище пользователя

    importpfx.exe -f VPN_Cert.pfx -p password -t User -s My

    список названий хранилищ сертификатов:
    My – Личные
    Root – Доверенные корневые центры сертификации
    Trust – Доверительные отношения в предприятии
    CA – Промежуточные центры сертификации
    AuthRoot – Сторонние корневые центры центры сертификации
    TrustedPublisher – Довереннные издатели
    TrustedPeople – Доверенные лица
    AddressBook – Другие пользователи

    Если вы плохо знакомы с инфраструктурой заказчика и не знаете, на каких серверах в домене Active Directory у него развернуты центры сертификации (CA — Certificate Authority), их можно найти несколькими способами:

      Вывести список серверов в доменной группе Active Directory «Cert Publishers»

    net localgroup "Cert Publishers" /domain


    Этот запрос будет обрабатываться контроллером домена corp.vmblog.ru.
    Имя псевдонима Cert Publishers
    Комментарий Members of this group are permitted to publish certificates to the Active Directory
    Члены
    ——————————————————————————-
    MSK-CA-1$
    MSK-CA-2$
    Команда выполнена успешно

    Можно воспользоваться утилитой certutil для получения списков серверов с ролью CA и проверкой их доступности

    certutil –config – -ping

    Обратите на дополнительный дефис «-» между ключами -config и -ping.

    Если центров Enterprise CA в домене не будет найдено, команда вернет сообщение:

    No active Certification Authorities found: No more data is available. 0x80070103 (WIN32/HTTP: 259 ER
    ROR_NO_MORE_ITEMS)
    CertUtil: -ping command FAILED: 0x80070103 (WIN32/HTTP: 259 ERROR_NO_MORE_ITEMS)
    CertUtil: No more data is available.

    Комментировать
    9 просмотров
    Комментариев нет, будьте первым кто его оставит

    Это интересно
    No Image Компьютеры
    0 комментариев
    No Image Компьютеры
    0 комментариев
    No Image Компьютеры
    0 комментариев
    No Image Компьютеры
    0 комментариев
    Adblock detector