Как подключить сертификат подписанный AD CS к RPD –

Как подключить сертификат подписанный AD CS к RPD - Сертификаты

Доверие сертификатам ca из корпоративной сети

Помимо настройки клиента Remote Desktop Connection, необходимо убедиться, что рабочая станция доверяет сертификатам, выданным центром сертификации в корпоративной сети. Для этого требуется выполнить следующие действия:

Записки it специалиста

Технический блог специалистов ООО»Интерфейс»

Запрос сертификата для сервера терминала

Прежде чем использовать SSL для соединения с сервером терминала, необходимо запросить соответствующий сертификат из центра сертификации корпоративной сети:

  1. Открыть оснастку Certificates консоли управления Microsoft Management Console (MMC) на сервере терминалов от имени учетной записи локального компьютера.
  2. Выбрать Certificates (Local Computer) в корневом каталоге консоли, затем перейти к пункту Options меню View. Выбрать Certificate Purpose в разделе Organize view mode by и нажать кнопку OK.
  3. Щелкнуть правой кнопкой мыши Server Authentication и выбрать Request new certificate в разделе All tasks.
  4. Нажать кнопку Next на экране приветствия. Выбрать режим Server Authentication (или Domain Controller Authentication). Установить флажок Advanced и нажать кнопку Next.
  5. Убедиться, что в качестве поставщика службы шифрования выбран Microsoft RSA SChannel Cryptographic Provider, а длина ключа – 1024. Нажать кнопку Next.
  6. Перейти к центру сертификации корпоративной сети (если он еще не выбран) и выбрать его. Нажать кнопку Next.
  7. Ввести понятное имя и описание сертификата. Нажать кнопку Next, а затем Finish.

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

Защита rdp соединения при помощи ssl.

Протокол RDP с защитой на уровне сети (SSL), к сожалению, не получил широкого распространения среди системных администраторов, предпочитающих защищать терминальные соединения другим способом. Возможно это связано с кажущейся сложностью способа, однако это не так, в данном материале мы рассмотрим как просто и без затруднений организовать такую защиту.

Какие преимущества дает нам защита RDP при помощи SSL? Во первых надежное шифрование канала, проверку подлинности сервера на основании сертификата и проверку подлинности пользователя на уровне сети. Последняя возможность доступна начиная с Windows Server 2008.

Проверка подлинности на уровне сети производится до подключения к удаленному рабочему столу и отображения экрана входа в систему, это снижает нагрузку на сервер и значительно увеличивает его защиту от злоумышленников и вредоносных программ, а также снижает вероятность атак типа «отказ в обслуживании».

Про сертификаты:  Минфин РФ: Кимберлийский процесс должен быть максимально прозрачным

Для полноценного использования всех возможностей RDP через SSL клиентские ПК должны работать под управлением Windows XP SP3, Windows Vista или Windows 7 и использовать RDP клиент версии 6.0 или более поздней.

При использовании Windows Server 2003 SP1 и более поздних версий, будут доступны шифрование канала при помощи SSL (TLS 1.0) и проверка подлинности сервера, клиентские ПК должны иметь версию RDP клиента 5.2 или более позднюю.

В нашей статье мы будем рассматривать настройку терминального сервера на базе Windows Server 2008 R2, однако все сказанное будет справедливо и для Windows Server 2003 (за исключением отсутствующих возможностей).

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

Затем следует выполнить запрос сертификата подлинности сервера со следующими параметрами:

Как подключить сертификат подписанный ad cs к rpd

Привет. При подключении по RDP как правило выскакивает сообщение о том, что сертификат, который используется для проверки подлинности сервера – не заслуживает доверия из-за того, что он самоподписанный. Наверняка вы задавались вопросом – как сделать так, чтобы за место самоподписанного сертификата был сертификат, выданный вашим центром сертификации, ну или не вашим… В общем что бы был полноценный сертификат. Сегодня хочу показать, как это можно сделать.

Тут можно пойти двумя путями:

  1. Если у вас есть AD CS и нет особых требований к именам, указываемым в сертификате. В этом случае можно сделать полностью автоматическую выдачу сертификатов и их подключение. Это простой способ.
  2. Если у вас в домене нет центра сертификации Active Directory, или если у вас есть особые требования к Subject Name или Subject Alternative Name. В этом случае придется получать и подключать сертификат вручную. Понадобится подобный сценарий вам может, если, например вы выдаете сертификат для компьютера, находящегося в отказоустойчивом кластере, и соответственно вам нужно будет указать в качестве SAN или SN как имя кластера так и имя хоста.

Начнем с более простого сценария.  

У вас уже должен быть установлен и настроен AD CS. Идем на компьютер где он установлен и создаем шаблон для сертификата, который будет использоваться при подключении по RDP. Для этого заходим в консоль Certification Authority и щелкаем правой кнопкой мыши на Ceritificate Templates, выбираем Manage.

Про сертификаты:  Сертификат энергетической эффективности (APE) — Недвижимость в Италии Arcasa-Group

Консоль Certification Authority

В открывшемся окне щелкаем правой кнопкой мыши по шаблону компьютера и выбираем Duplicate Template.

В Compatibility, выбираем уровень CA и получателей, в зависимости от ваших нужд, я поставлю уровень CA и Certificate Recipient на уровень 2008R2.

Вкладка Compatibility

Во вкладке General задаёмR понятное имя сертификату, например RDPTmpl, так же если хотите можете изменить время жизни и обновления сертификата, а также разрешить публикацию в AD. Я эти опции оставил как есть.

Задаем имя шаблону

Во вкладке Subject Name по желанию можно выбрать Subject name format, например Common Name, так же обязательно оставьте, что бы публиковалось DNS имя в alternate subject name.

Задаем Subject Name

Идем во вкладку Sucurity – тут разрешаем Enroll и Autoenroll для группы компьютеров, для которых должен будет получаться сертификат.

Даем права на автоматическое получение и продление

Далее переходим во вкладку Extensions, выбираем Application Policy и жмем Edit.

Вкладка Extensions

Здесь нужно удалить Client Authorization, а так же по желанию можно заменить Server Authorization на политику для проверки подлинности RDP. Для этого жмем Add, далее New, в Object identifier вводим 1.3.6.1.4.1.311.54.1.2 и даем понятное имя политике, например Remote Desktop Authentication.

Создаем новую политику для проврки подлинности remote desktop

Выбираем созданную политику и удаляем из шаблона Client и Server Authorization.

Оставляем только созданную политику

Жмем ОК и закрываем консоль с шаблонами. Возвращаемся в консоль Certification Authority и снова жмем правой кнопкой по Certificate Templates и выбираем New -> Certificate Template to issue.

Выдаем шаблон

Выбираем созданный нами шаблон и жмем ОК.

Выбираем созданный шаблон

Теперь идем в редактор групповой политики, создаем или правим существующий объект групповой политики, который прилинкован к OU в которой находятся компьютеры, которым необходимо получить сертификат. Идем в Computer configuration -> Administrative Templates -> Windows components -> Remote Desktop Services -> Security. Тут нам нужен параметр Server authentication certificate template.

Задаем параметр в групповой политике

Включаем его и указываем имя нашего шаблона (RDPTmpl).

Указываем имя созданного шаблона

Что бы сертификаты продлялись автоматически, идем в Computer configuration -> Windows settings -> Security Settings -> Public Key Policies. Тут включаем параметр Certificate Services Client – Auto-Enrollment Properties.

Задаем параметр для Autoenroll

Всё дожидаемся, пока обновится групповая политика или обновляем ее сами (gpupdate /force),  сервер должен будет получить сертификат, и при подключении по RDP будет использоваться именно этот сертификат. Проверить это можно подключившись к серверу не по доменному имени, а по IP адресу, например.

Действительный сертификат при подключении

Если что, хранится этот сертификат в сертификатах компьютера, в личных сертификатах.

Оснастка сертификаты

Теперь расскажу про то, что делать во втором случае. В общем и целом, сперва нам так, как и с первым случаем необходимо создать шаблон для сертификата. Тут всё точно так же, как и с первым случаем, за исключением вкладки Subject Name. В этот раз нужно выбрать Supply in the request. Так же, думаю лучше поставить галку, что бы при продлении бралась информация из существующего сертификата.

Про сертификаты:  Сертификат соответствия ЕАЭС RU С-SE.БЛ08.В.00265/19 | Инструменты строительные, механизированные торговой марки Husqvarna

Указываем, что subject name должен задаваться вручную при получении

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

Идем в оснастку сертификаты

Щелкаем правой кнопкой по Личное и выбираем – запросить новый сертификат. На приветственном окне жмем далее. В окне выбора политики регистрации сертификатов оставляем Политику регистрации Active Direcotory.

Выбираем политику Active Directory

В следующем окне выбираем созданный ранее шаблон. Он будет отмечен желтым треугольником. Жмем по ссылке правее этого треугольника.

Выбираем наш шаблон

Во вкладке объект указываем полное имя DN в качестве Subject Name (например CN = CL01.test.loc) и разные dns имена в качестве Alternate Subject Name.

Заполняем Subject Name и Alternate Subject Name

Жмем далее, точнее кнопку Заявка, и дожидаемся окончания процесса.

Завершаем получение

Теперь нам необходимо каким-то образом подключить полученный сертификат к RDP. Тут опять же есть несколько способов.

Первый способ, на мой взгляд менее удобный, но он должен работать на всех системах:

Смотрим отпечаток в свойствах только что полученного сертификата.

Смотрим значение отпечатка в сертификате

Для упрощения его копирования можно воспользоваться командой powershell:

ls Cert:LocalMachineMy

Копируем нужный отпечаток, далее выполняем команду:

wmic /namespace:\rootCIMV2TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash=”thumbprint”

Где thumbprint – ваш скопированный отпечаток.

Посмотреть отпечаток подключенного сертификата можно командой:

wmic /namespace:\rootCIMV2TerminalServices PATH Win32_TSGeneralSetting Get SSLCertificateSHA1Hash

Результат подключения сертификата в PowerShell

В случае, если у вас используется старая версия ОС, например Windows 2008R то можно воспользоваться более наглядным способом подключения. Это же касается и случаев, если у вас версия системы выше, чем 2021, и при этом установлены роли RDS.

Устанавливаем фичу Remote Desktop Services Tools. Если что она находится в Remote Server Administration Kit, Role Administration Tools.

Устанавливаем компоненту средства удаленных рабочих столов

Устанавливаем эти компоненты, после установки нужно будет перезагрузить сервер.  После перезагрузки идем в Пуск – Администрирование – Службы удаленных рабочих столов – Конфигурация узла сеансов удаленных рабочих столов.

Идем в конфигурацию узла сеансов удаленных рабочих столов

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

Свойства подключения

Выбираем сертфикат

Всё. Теперь при подключении по RDP будет использоваться правильный сертификат. 

Готово, нужный сертификат подключен

Конфигурирование автоматического выпуска сертификатов

Переходим в Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Public Key Policies и выбираем Certificate Services Client — Auto-Enrollment Включаем автоматический выпуск сертификатов а так же настройки по их автоматическому обновлению:

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

Особенности пакета sp1

RDP — фирменный протокол Microsoft для службы Windows Terminal Services. Сквозное шифрование RDP with SSL обеспечивает дополнительный уровень шифрования для конфиденциальных данных и позволяет клиентам проверить подлинность сервера, предотвращая атаки, в ходе которых мошенник вклинивается между клиентом и сервером (man-in-the-middle).

Подписываем rdp файл и добавляем отпечаток доверенного rdp сертификата

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

Как описано выше получите значение отпечатка (Thumbprint) RDP сертификата:

Get-WmiObject -Class «Win32_TSGeneralSetting» -Namespace rootcimv2terminalservices|select|select SSLCertificateSHA1Hash

Используйте этот отпечаток для подписывания .RDP файла с помощью RDPSign.exe:

Предупреждение о самоподписанном сертификате rdp

По умолчанию в Windows для защиты RDP сессии генерируется самоподписанный

сертификат. В результате при первом подключении к RDP/RDS серверу через клиента mstsc.exe, у пользователя появляется предупреждение:

Чтобы продолжить установление RDP подключении пользователь должен нажать кнопку Да. Чтобы RDP предупреждение не появлялось каждый раз, можно включить опцию “Больше не выводить запрос о подключениях к этому компьютеру».
Как подключить сертификат подписанный AD CS к RPD -

Проверка работоспособности

После применения групповой политики Windows клиенты должны в автоматическом порядке получить сертификат. Если этого не произошло, стоит обратить внимание на:

  1. Отсутствие в правильной группе безопасности, которая указана в шаблоне;
  2. Отсутствие к ЦС необходимых сетевых портов от клиента. Напомню, это tcp/135 (RPC) и динамические порты tcp/49152—65535.

Проверить что сертификат был успешно выпущен можно в консоли ADCS:

Успешно выданный сертификат RDP
Успешно выданный сертификат RDP

При следующем RDP подключении, стоит обратить внимание на наличие «замка» в верхнем меню RDP подключения. Нажав на этот «замок» можно удостоверится что используется нужный сертификат.

Проверка правильности сертификата в RDP подключении
Проверка правильности сертификата в RDP подключении

Создание групповой политики для rdp подключений

Непосредственно сама конфигурация Windows машин будет централизовано выполнятся с помощью групповой политики. Я рекомендую создать отдельный экземпляр политики, в котором будет следующее:

  1. Задание имени шаблона сертификата для использования в RDP подключениях;
  2. Задание типа шифрования RDP подключений;
  3. Конфигурирование автоматического выпуска сертификатов.

Создание шаблона сертификата rdp в adcs

Первый шаг состоит в создании шаблона сертификата, с помощью которого Windows клиенты будут автоматически генерировать сертификаты используемые в RDP подключениях. Для этого в оснастке ADCS переходим к управлению шаблонами сертификатов:

Открытие оснастки управления шаблонами ADCS
Открытие оснастки управления шаблонами ADCS

Дублируем сертификат Computer

Дублирование шаблона компьютера
Дублирование шаблона компьютера

Задаем имя будущего шаблона:

Задание имени шаблона RDP
Задание имени шаблона RDP

Указываем настройки совместимости:

Настройка совместимости шаблона сертификата RDP
Настройка совместимости шаблона сертификата RDP

В Extensions, необходимо задать правильные Application Policies для  поддержки TLS в RDP протоколе

Редактирование расширений шаблона сертификата RDP
Редактирование расширений шаблона сертификата RDP

Для этого удаляем Client Authentication и Server Authentication и добавляем Remote Desktop Authentication с OID 1.3.6.1.4.1.311.54.1.2, как показано на скриншоте:

Создание Application Policy для сертификата RDP
Создание Application Policy для сертификата RDP

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

Настройки безопасности шаблона сертификата RDP
Настройки безопасности шаблона сертификата RDP

Завершающим шагом будет его выпуск на выдающем корпоративном ЦС:

Выпуск сертификата RDP
Выпуск сертификата RDP

Установка своего сертификата для rdp

Можно ли каким-то образом, в клиентской винде не входящей в AD, для сервера удалённых рабочих столов установить свой сертификат?

Немного подробнее: После запуска службы (или если она у вас запущена, то после установки соответствующей галки на вкладке «Удалённый доступ» ) «Службы удаленных рабочих столов» создаётся самоподписанный сертификат (который помещается в хранилище Удалённый рабочий стол > Сертификаты) — хотелось бы его заменить на свой.

Чего только не перепробовал, но после удаления сертификата и перезапуска «Службы удаленных рабочих столов» создаётся новый самоподписанный сертификат, а все мои игнорируются.

Оцените статью
Мой сертификат
Добавить комментарий