Настройка TLS для RDP подключений

Протокол RDP широко используется в корпоративных Microsoft инфраструктурах для осуществления удаленных подключений к целевым системам. Его защита состоит из многих пунктов, один из которых — это использование TLS для RDP подключений. В этой заметке будет рассмотрен процесс конфигурирования данной возможности. Для этого потребуется развернутые инфраструктуры Active Directory Domain Services и Active Directory Certificate Services. Поехали.

Создание шаблона сертификата 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 подключений

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

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

Задание имени шаблона сертификата для использования в RDP подключениях

В экземпляре групповой политики переходим в Computer Configuration -> Policies -> Administrative Template -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Security и выбираем  Server authentication certificate template.  Задаем имя шаблона который был создан ранее:

Задание имени шаблона для использования в RDP подключениях
Задание имени шаблона для использования в RDP подключениях

Задание типа шифрования RDP подключений

Переходим в Computer Configuration -> Policies -> Administrative Template -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Security и выбираем Require use of specific layer for remote (RDP) connection. Указываем использование SSL:

Задание уровня безопасности RDP подключений
Задание уровня безопасности RDP подключений

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

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

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

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

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

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

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

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

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

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

На этом все. Если у вас возникли какие-либо вопросы, пожалуйста, пишите в комментарии.

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

5 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Alexander
Alexander
05.08.2019 20:02

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

Alexander
Alexander
06.08.2019 09:43

Ок, смоделируем ситуацию. Есть RD GW который стоит в Dmz. Есть ряд приложений которые надо опубликовать через RemoteAPP (допустим 1с). Как повысить безопасность подключения, кроме логина/пароля пользователя? На ум приходит вариант с сертификатами пользователя или ПК. Так как про ПК которые стоят удаленно, мы мало знаем, то остается только по сертификатам пользователя.

Egor
Egor
18.03.2020 20:09

А можно выдавать пользователю персональный сертификат и разрешать подключение только с использованием списка подписанных сертификатов?