Установка сертификата на компьютеры AD с помощью групповых политик

С помощью групповых политик Windows вы можете централизованно установить определенный сертификат на все компьютеры домена, добавив его в хранилище доверенных корневых сертификатов каждого компьютера. Это может понадобиться, когда вы развертываете собственный Certification Authority (CA) и вам нужно добавить корневой сертификат в доверенные на все компьютеры пользователей; добавляете в доверенные SSL/TLS сертификат определенного сайта; устанавливаете HTTPS сертификат для инспекции трафика пользователей на интернет-шлюзе; распространяете сапомодписанный сертификат драйвера или приложения.

Экспорт сертификата в Windows

В этом примере мы установим на компьютеры самоподписанный SSL сертификат HTTPS сайта на веб сервере IIS . По умолчанию браузер и другие приложений пишут, что сертификат сайта недоваренный и использовать этот сервис небезопасно. Чтобы убрать это предупреждение, нужно добавить сертификат сайта в доверенные на компьютере пользователи.

Недоверенный сертификат сайта

Сначала вам нужно экспортировать открытый ключ сертификата в CER, CRT или PEM файл. Вы можете экспортировать сертификат прямо из браузера. В случае Microsoft Edge щелкните в адресной строке браузера по полую Not Secure -> Show Certificate -> Details -> Export. Сохраните сертификат файл типа BASE64 с расширением CRT или PEM.

Экспортировать открытый ключ сертификата в файл CER

Можно получить SSL сертификат HTTPS сайта и сохранить его в CER файл из PowerShell с помощью метода WebRequest :

$webRequest = [Net.WebRequest]::Create("https://target-site.loc")
try { $webRequest.GetResponse() } catch {}
$cert = $webRequest.ServicePoint.Certificate
$bytes = $cert.Export([Security.Cryptography.X509Certificates.X509ContentType]::Cert)
set-content -value $bytes -encoding byte -path "c:psget_site_cert.cer"

Также вы можете в Windows вручную экспортировать установленный сертификат из локального хранилища компьютера пользователя). В данном примере это простой самоподписанный сертификат, созданный с помощью PowerShell :

  1. Откройте консоль mmс.exe -> File -> Add/Remove Snap-in -> оснастка Certificates -> Computer account (если сертификат установлен в хранилище пользователя, выберите My User Account) -> Local computer; Добавить MMC консоль сертификаты компьютера
  2. Разверните хранилище, в которое установлен сертификат (в нашем примере это хранилище Trusted Root Certification) и найдите его;
  3. Щелкните правой кнопкой -> All Tasks -> Export экспорт сертификата из хранилища Windows в файл
  4. Выберите DER encoded binary X.509 (.CER) и укажите путь к файлу сертификата (если для сертификата доступен закрытый ключ, не нужно экспортировать его). куда экспортировать сертификат

Настройка групповой политики установки сертификата

Теперь нужно создать в домене GPO, которая будет устанавливать сертификат на компьютеры.

  1. Откройте консоль управления доменными GPO ( Group Policy Management , gpmc.msc ), выберите OU с компьютерами, на который нужно распространить сертификат и выберите Create a GPO in this domain and Link it here; Создать групповую политику в домене
  2. Укажите имя политики и перейдите в режим редактирования;
  3. В редакторе GPO перейдите в раздел C omputer Configuration –> Policies –> Windows Settings –> Security Settings –> Public Key Policies –> Trusted Root Certification Authorities (Конфигурация компьютера –> Конфигурация Windows –> Параметры безопасности –> Политики открытого ключа –> Доверенные корневые центры сертификации). Выберите Import ; Импорт сертификата в GPO
  4. Укажите путь к файлу сертификата, который вы экспортировали ранее. Путь к файлу сертификата
  5. Укажите, что нужно поместить сертификат в хранилище Trusted Root Certification Authorities (Доверенные корневые центры сертификации). Установить сертификат в Trusted Root Certification Authorities через GPO
  6. Одна политика позволяет установить сразу несколько сертификатов. В консоли GPMC на вкладке Settings отображаются следующие поля сертификата: Issued To, Issued By, Expiration Date и Intended Purposes; Политика установки сертификата в Windows

    С помощью GPO Security Filtering можно распростраиить сертификат только на копьютеры, которые добавлены в определенную группу AD.

  7. Обновите настройки групповых политик на клиенте (команда gpupdate /force ), откройте консоль управления сертификатами компьютера ( certlm.msc ). Компьютер автоматически скачает сертификат, установите его и добавить в хранилище доверенных корневых сертификатов. Сертификат был добавлен в корневые доверенные

Проверьте, что в браузере клиента теперь не отображается уведомление о недоверенном сертификате при доступе к HTTPS сайту.

Безопасное подключение к сайту с помощью доверенного сертификата

Удалить сертификат с помощью GPO

Если сертификат просрочен, скомпрометирован, или должен быть заменен, вы можете также автоматически удалить его на всех компьютерах через GPO.

Для проверки хранилища доверенных сертификатов в Windows на предмет сторонних сертификатов можно использовать утилиту sigcheck .
  1. Не отлинкуя GPO от целевого контейнера AD, откройте настройки политики, выберите сертификат и удалите его; Удалить сертификат через GPO
  2. Сертификат автоматически будет удален со всех устройств, на которые действует данная политика.

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

Сначала нужно получить отпечаток сертификата (thumbprint), который вы хотите удалить. Выведите список всех сертификатов с отпечатками в корневом хранилище:

Get-ChildItem -Path Cert:LocalMachineRoot

Создайте на контролрее домена AD в каталоге Netlogon \remontka.comNETLOGON следующий файл delete_cert_iis.bat :

certutil –delstore Root 2A7B44F11B7FFCFB25B5543D20BFBF095E60DB44

Настройте автоматический запуск этого BAT при загрузке Windows (подробнее об использовании логон скриптов GPO ).

BAT логон скрипт для удаления сертификатов на всех компьютерах

Напоминаем о необходимости регулярно обновлять корневые доверенные сертификаты на компьютерах Windows . По умолчанию компьютеры сами загружают и устанавливают доверенные сертификаты Microsoft. Но в изолированной среде это может не работать.
EnglishRussianUkrainian