понедельник, 25 июля 2022 г.

Вы еще не общаетесь по HTTPS? Тогда мы идем к вам. Часть 1.

Всем привет. Вчера в очередной раз переводил инфраструктуру на HTTPS и подумал, что мой step by step guide может оказаться полезным для сообщества, пообещал в telegram чате выложить.

Про публикацию CRL и обработку IIS знака + есть по ССЫЛКЕ

Во второй части расскажу про закручивание гаек и переходу на TLS 1.2 only.
Корректировать текст не буду, оставлю все, как есть. Писал по заказу.

Если у вас имеются устаревшие ОС – Windows 7/2008/2008r2, а задачи отключить все протоколы, кроме TLS 1.2 нет, вам необходимо удостовериться, что со стороны серверов SCCM присутствует поддержка устаревших протоколов ssl 3.0/tls 1.0/tls 1.1
Если вы не добавите поддержку TLS 1.2 (не обязательно делать протоколом по умолчанию), то потеряете устаревшие ОС из управления.

Рекомендации по включению/переходу на TLS 1.2 будут позже.

Включить/отключить устаревшие протоколы можно, например, через IISCrypto (https://www.nartac.com/Products/IISCrypto/Download)


Для перехода на https на корпоративном PKI создать 3 шаблона и 2 AD группы:


  1. IIS Servers template (+ad группа (sccm_iis_servers), в которую будут включаться все серверы с ролью IIS (dp, mp, sup,…). Шаблон создается как Duplicate Web Server template. Убедиться, что Compatibility Settings Certification Authority – Windows Server 2003, Certificate Recipient – Windows XP / Server 2003, на вкладке General задать имя шаблона, срок действия сертификата и Renewal период. Убедиться, что на вкладке Request Handling не установлена опция Allow private key to be exported. На вкладке Subject Name выбрать Supply in request. На вкладке Security добавить созданную AD группу sccm_iis_servers, добавить права enroll. В целях безопасности, можно забрать/наделить правами другие группы.

  2. DP/OSD template (+ad группа (sccm_dp_servers), в которую будут включаться все серверы с ролью Distribution Point. Шаблон создается как Duplicate Workstation Authentication template. Убедиться, что Compatibility Settings Certification Authority – Windows Server 2003, Certificate Recipient – Windows XP / Server 2003, на вкладке General задать имя шаблона, срок действия сертификата и Renewal период. Убедиться, что на вкладке Request Handling установлена опция Allow private key to be exported. На вкладке Subject Name выбрать Supply in request. На вкладке Security добавить созданную AD группу sccm_dp_servers, добавить права enroll. В целях безопасности, можно забрать/наделить правами другие группы, в частности надо убрать права у Domain Computers.

  3. Client certificate template. Шаблон создается как Duplicate Workstation Authentication template. Убедиться, что Compatibility Settings Certification Authority – Windows Server 2003, Certificate Recipient – Windows XP / Server 2003, на вкладке General задать имя шаблона, срок действия сертификата и Renewal период. Убедиться, что на вкладке Request Handling не установлена опция Allow private key to be exported. На вкладке Subject Name выбрать Build from this Active Directory information и выбрать только опцию DNS name. На вкладке Security для группы Domain Computers установить разрешающие права Read, Enroll, Autoenroll
    После создания шаблонов, их нужно активировать: нажать правой кнопкой мыши на Certificate Templates – New – Certificate Template to Issue – выбрать 3 созданных шаблона и нажать Ok.
    После добавления серверов в AD группы их необходимо перезагрузить, что бы обновить членство в группах.

    Далее, нужно разрешить через групповую политику Autoenroll сертификатов для клиентов SCCM. Имейте ввиду, что это глобальная настройка и везде, где будет применена данная политика и имеется шаблон сертификата с Autoenroll, он будет выпущен (аккуратно с серверами, был случай с перевыпуском и биндингом сертификата для LDAPS на контроллерах домена)

    Создаем новую групповую политику и делаем ей Link на необходимые OU:

    Computer configuration – Windows Settings – Security Settings – Public Key Policies – Certificate Services Client – Auto-Enrollment

  • выбрать Configuration model – Enabled
  • выбрать Renew expired certificates, update pending certificates, and remove revoked certificates
  • выбрать Update certificates that use certificate templates


Далее необходимо выпустить сертификаты для серверов, с ролью IIS/DP. Для DP можно выпустить только один сертификат и использовать его везде, так как он используется только во время для OSD, при чем клиентом. Можно избежать пункта 1.b. (DP/OSD template), но для порядка можно везде свои сертификаты.

  1. Открываем на сервере оснастку Certificates
  2. Кликаем правой кнопкой мышки на Personal – Certificates – All tasks – Request new certificate
  3. Выбираем шаблон сертификата для IIS серверов и для DP, если сервер так же является DP
  4. Кликаем на шаблоне для IIS серверов More information is required to enroll for this certificate. Click here to configure settings.
  5. На вкладке Subject выбираем Alternative name – type DNS и добавляем 2 значения для сервера – netbios name, fqdn (например sccm01, sccm01.test.lab)
  6. На вкладке General можно так же указать friendly name для сертификата
  7. Выпускаем сертификаты
  8. Экспортируем сертификат, выпущенный по шаблону DP/OSD Template вместе с закрытым ключом. Это необходимо проделать либо для каждой DP, либо для какой-то одной.

Далее необходимо сделать bind выпущенных сертификатов на серверы с ролью IIS:

  1. Открыть оснастку Internet Information Services (IIS) Manager
  2. Кликнуть правой кнопкой мыши на Default Web Site – Edit Bindings
  3. Выбрать https/443 – SSL certificate
  4. Указать сертификат, выпущенный по шаблону IIS Servers template

На серверах с ролью Software Update Point дополнительно нужно сделать bind сертификата на сайт WSUS Administation:

  1. Открыть оснастку Internet Information Services (IIS) Manager
  2. Кликнуть правой кнопкой мыши на WSUS Administation:– Edit Bindings
  3. Выбрать https/8531 – SSL certificate
  4. Указать сертификат, выпущенный по шаблону IIS Servers template
  5. Для виртуальных директорий APIRemoting30, ClientWebService, DSSAuthWebService, ServerSyncWebService, SimpleAuthWebService выбрать SSL Settings, установить опцию Require SSL и Client Certificate – Ignore, после каждого действия нажимать Apply

Далее на всех серверах с ролью Software Update Point необходимо конфигурирование через wsusutil.

C:\program files\update services\tools\wsusutil.exe configuressl fqdn-sup-server
Результатом должно быть URL: https://fqdn-sup.server:8531

Далее переключаем SCCM на HTTPS:

  1. В свойствах сайта Client Computer Communication выбираем HTTPS only
  2. Если у вас корректно сконфигурирована публикация CRL, то отметить опцию Clients check the certificate revocation list (CRL) for site systems
  3. Trusted Root Certification Authorities – добавить открытые ключи всех CA, которые выпускают сертификаты для SCCM (Root, Issuing, …)
На каждой Distribution Point:

  1. Заходим в свойства – General и выбираем HTTPS
  2. Выбираем Import Certificate и указываем экспортированный сертификат по шаблону DP/OSD Template. Можно использовать один и тот же сертификат для всех DP. Иногда при импорте с удаленной консоли возникает ошибка импорта, поэтому сертификат лучше импортировать с консоли на сайт-сервере.

  • В свойствах каждой Management Point указываем Client Connection – HTTPS (логи mpsetup.log, mpcontrol.log)

  • В свойствах каждой Software Update Point выставляем опцию Require SSL communication to the WSUS server


Так как у вас в цепочке сертификата имеется Root CA и Intermediate CA, то на Management Points необходима настройка Schannel provider trust mode:

[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL] - "ClientAuthTrustMode"=dword:00000002

На этом переключение на HTTPS закончено.