Протокол RDP широко используется в корпоративных Microsoft инфраструктурах для осуществления удаленных подключений к целевым системам. Его защита состоит из многих пунктов, один из которых — это использование TLS для RDP подключений. В этой заметке будет рассмотрен процесс конфигурирования данной возможности. Для этого потребуется развернутые инфраструктуры Active Directory Domain Services и Active Directory Certificate Services. Поехали.
Установка и настройка cлужб сертификации в Windows Server 2019
Первый шаг состоит в создании шаблона сертификата, с помощью которого Windows клиенты будут автоматически генерировать сертификаты используемые в RDP подключениях. Для этого в оснастке ADCS переходим к управлению шаблонами сертификатов:
Открытие оснастки управления шаблонами ADCS
Дублируем сертификат Computer
Дублирование шаблона компьютера
Задаем имя будущего шаблона:
Задание имени шаблона RDP
Указываем настройки совместимости:
Настройка совместимости шаблона сертификата RDP
В Extensions, необходимо задать правильные Application Policies для поддержки TLS в RDP протоколе
Редактирование расширений шаблона сертификата RDP
Для этого удаляем Client Authentication и Server Authentication и добавляем Remote Desktop Authentication с OID 1.3.6.1.4.1.311.54.1.2, как показано на скриншоте:
Создание Application Policy для сертификата RDP
Далее, необходимо задать группу безопасности, члены которой должны автоматически сгенерировать сертификат по этому шаблону. Для этого добавляем нужную группу безопасности в DACL и назначаем соответствующие права:
Настройки безопасности шаблона сертификата RDP
Завершающим шагом будет его выпуск на выдающем корпоративном ЦС:
Выпуск сертификата RDP
Создание групповой политики для RDP подключений
Непосредственно сама конфигурация Windows машин будет централизовано выполнятся с помощью групповой политики. Я рекомендую создать отдельный экземпляр политики, в котором будет следующее:
Задание имени шаблона сертификата для использования в RDP подключениях;
Задание типа шифрования RDP подключений;
Конфигурирование автоматического выпуска сертификатов.
Задание имени шаблона сертификата для использования в RDP подключениях
В экземпляре групповой политики переходим в Computer Configuration -> Policies -> Administrative Template -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Security и выбираем Server authentication certificate template. Задаем имя шаблона который был создан ранее:
Задание имени шаблона для использования в 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 подключений
Конфигурирование автоматического выпуска сертификатов
Переходим в Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Public Key Policies и выбираем Certificate Services Client — Auto-Enrollment Включаем автоматический выпуск сертификатов а так же настройки по их автоматическому обновлению:
Настройка политики автоматического выпуска сертификатов
Проверка работоспособности
После применения групповой политики Windows клиенты должны в автоматическом порядке получить сертификат. Если этого не произошло, стоит обратить внимание на:
Отсутствие в правильной группе безопасности, которая указана в шаблоне;
Отсутствие к ЦС необходимых сетевых портов от клиента. Напомню, это tcp/135 (RPC) и динамические порты tcp/49152—65535.
Проверить что сертификат был успешно выпущен можно в консоли ADCS:
Успешно выданный сертификат RDP
При следующем RDP подключении, стоит обратить внимание на наличие «замка» в верхнем меню RDP подключения. Нажав на этот «замок» можно удостоверится что используется нужный сертификат.
Проверка правильности сертификата в RDP подключении