Настройка Certification Authority для подписывания скриптов

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

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

Этот раздел имеет мало отношения к нашему обсуждению — поэтому тут коментариев будет минимум, только те которые относятся к теме обсуждения. Если у вас уже имеется и настроен Certification Authority, вы можете пропустить данный раздел и перейти к следующем. На самом деле эти шаги можно выполнять по собственному усмотрению, я лишь делаю самую базовую настройку.

1. Запускаем мастер установки ролей на одном из ваших серверов.

install_CA0

2. На шаге выбора ролей выбираем Active Directory Certificate Services

install_CA1

3. На шаге выбора служб роли Active Directory Certificate Services выбираем Certification Authority

install_CA2

4. Все остальные шаги проходим по умолчанию и инсталлируем роль.

install_CA3

5. Запускаем мастер настройки роли

install_CA4

6. У меня на первом шаге попросил ввести учетные данные, т.к. я производил настройку удаленно. Обратите внимания по моей инструкции вы должны обладать разрешениями администратора предприятия.

install_CA5

7. Выбираем что настраивать мы будем Certification Authority

install_CA6

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

install_CA7

9. Проверяем сводку и завершаем конфигурацию.

install_CA8

Создания шаблона для подписывания скриптов PowerShell

Первым делом нам необходимо создать шаблон, с помощью которого мы будем создавать сертификаты:

1. Запускаем консоль Certification Authority

create_template0

2. Щелкаем правой кнопкой по узлу Certification Template и выбираем Manage

create_template1

3. В открывшемся окне Certification Templates Console щелкаем правой кнопкой по шаблону Code Signer и выбираем Duplicate Template

create_template2

4. На вкладке General указываем имя шаблона, я указал AdatumCoders. Можно установить две галочки Publish Certificate in Active Directory и do not automatically enroll if a duplicate certificate exists in active directory. Данные галочки позволят не дублировать сертификаты для одного пользователя на разных устройствах разработчика.

create_template3

5. На вкладке Request Handing установить галку Allow private key to be exported. Данная галочка позволит использовать один сертификат на множестве устройств разработчика.

create_template5

6. На вкладке Security я добавил заранее созданую группу разработчиков на PowerShell — PowerShellCoders

create_template6

7. И выдал ей разрешение на получение сертификата — Enroll. Заметьте разрешение Autoenroll я утсноавливать не стал, дабы не дублировались сертификаты. Я искрине уверен, что наши разработчики PowerShell в состоянии получить себе сертификат самостоятельно 😉

create_template7

8. Остальные вкладки оставляем по умолчанию. Закрываем окно Certification Templates Console.

9. В окне Certification Authority щелкаем правой кнопкой по узлу Certification Template и выбираем New -> Certificate Template to Issue

create_template8

10. Выбираем созданный шаблон AdatumCoders и щелкаем Ok

create_template9

Ссылки по теме

Install a Root Certification Authority

Create a New Certificate Template

 

2 комментария

  1. На вкладке Request Handing я добавил галочку «Удалять отозванные или просроченные сертификаты, не архивируя». Нет смысла их хранить, т.к. подписывая с параметром «TimestampServer» скрипт в любом случае будет подписан на века, а подписать старым сертификатом скрипт не возможно.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

CAPTCHA ImageChange Image