Защита RDP-соединений с помощью доверенных сертификатов SSL/TLS
В этой статье мы покажем, как использовать доверенные сертификаты SSL/TLS для защиты RDP-подключений к компьютерам или серверам Windows в домене Active Directory. Мы будем использовать доверенные сертификаты SSL вместо самозаверяющих сертификатов RDP по умолчанию (тогда, используя самозаверяющий сертификат RDP, пользователь получает предупреждение о том, что сертификат не является доверенным при подключении к хосту). В этом примере мы настроим собственный шаблон сертификатов RDP в центре сертификации и групповой политике для автоматической выдачи и привязки сертификата SSL/TLS к службам удаленных рабочих столов.
Предупреждение о самоподписанном сертификате подключения к удаленному рабочему столу (RDP)
По умолчанию для защиты сеанса RDP Windows создает самозаверяющий сертификат. При первом подключении к хосту RDP/RDS с помощью клиента mstsc.exe пользователь видит следующее предупреждение:
The remote computer could not be authenticated due to problems with its security certificate. It may be unsafe to proceed.
Certificate error: The certificate is not from a trusted certifying authority.Чтобы продолжить и установить соединение RDP, пользователь должен нажать Да. Чтобы предупреждение о сертификате RDP не появлялось каждый раз, вы можете установить флажок «Больше не спрашивать меня о подключениях к этому компьютеру».
В этом случае отпечаток сертификата RDP сохраняется в параметре CertHash раздела реестра с историей подключений RDP на клиенте (
HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers\
). Если вы скрыли предупреждение о том, что RDP-сервер не может быть проверен, удалите отпечаток сертификата из реестра, чтобы сбросить настройки.
Несмотря на то, что для установления соединения используется самозаверяющий сертификат, ваш сеанс RDP безопасен, а ваш трафик зашифрован.
Создайте шаблон сертификата RDP в центре сертификации (CA).
Давайте попробуем использовать доверенный сертификат SSL/TLS, выданный корпоративным центром сертификации, для защиты RDP-соединений. Используя этот сертификат, пользователь может аутентифицировать сервер RDP при подключении. Предположим, что в вашем домене уже развернут корпоративный центр сертификации Microsoft. В этом случае вы можете настроить автоматическую выдачу и подключение сертификатов ко всем компьютерам и серверам Windows в домене.
Вам необходимо создать новый тип шаблона сертификата для хостов RDP/RDS в вашем ЦС:
Запустите консоль Центра сертификации и перейдите в раздел «Шаблоны сертификатов»;
Дублируйте шаблон сертификата компьютера (Шаблоны сертификатов -> Управление -> Компьютер -> Дублировать);
На вкладке Общие укажите имя нового шаблона сертификата - RDPTemplate. Убедитесь, что значение в поле Имя шаблона соответствует Отображаемому имени шаблона
-
На вкладке Совместимость укажите минимальную версию клиента, используемую в вашем домене (например, Windows Server 2008 R2 для центра сертификации и Windows 7 для ваших клиентов). Таким образом, будут использоваться более сильные алгоритмы шифрования;
Затем в разделе «Политика применения» на вкладке Расширения ограничьте область использования сертификата только Аутентификацией удаленного рабочего стола (введите следующий идентификатор объекта — 1.3. 6.1.4.1.311.54.1.2). Нажмите «Добавить» -> «Новая», создайте новую политику и выберите ее;
В настройках шаблона сертификата (Расширение политик приложений) удалите все политики, кроме Аутентификация удаленного рабочего стола;
Чтобы использовать этот шаблон сертификата RDP на своих контроллерах домена, откройте вкладку Безопасность, добавьте группу Контроллеры домена и включите Регистрация и Параметры автоматической регистрации;
Сохраните шаблон сертификата;
Затем в оснастке mmc центра сертификации нажмите папку «Шаблоны сертификатов» и выберите Новый -> Шаблон сертификата для выдачи -> выберите созданный вами шаблон (RDPTemplate );
Как развернуть сертификаты RDP SSL/TLS с помощью групповой политики?
Теперь вам необходимо настроить объект групповой политики домена для автоматического назначения сертификатов RDP компьютерам/серверам в соответствии с настроенным шаблоном.
Предполагается, что все компьютеры домена доверяют корпоративному центру сертификации, т.е. корневой сертификат добавлен в доверенные корневые центры сертификации с помощью GPO.
Откройте консоль управления групповой политикой домена (gpmc.msc), создайте новый объект групповой политики и свяжите его с подразделением, содержащим серверы или компьютеры RDP/RDS, чтобы автоматически выдавать сертификаты TLS для защиты подключений RDP;
Перейдите в следующий раздел объекта групповой политики «Конфигурация компьютера» -> «Политики» -> «Административные шаблоны» -> «Компоненты Windows» -> «Службы удаленных рабочих столов» -> «Узел сеансов удаленных рабочих столов» -> «Безопасность ». Включите политику Шаблон сертификата проверки подлинности сервера . Укажите имя созданного ранее шаблона ЦС (RDPTemplate);
Затем в том же разделе GPO включите политику Требовать использования определенного уровня безопасности для удаленных (RDP) подключений и установите для нее значение SSL;
Чтобы автоматически продлить сертификат RDP, перейдите в раздел «Конфигурация компьютера» -> «Настройки Windows» -> «Настройки безопасности» -> «Политики открытого ключа» объекта групповой политики и включите политику Клиент служб сертификации — свойства автоматической регистрации. Установите флажки «Обновить сертификаты с истекшим сроком действия, обновить ожидающие сертификаты и удалить отозванные сертификаты» и «Обновить сертификаты, использующие шаблоны сертификатов»;
Если вы хотите, чтобы ваши клиенты всегда проверяли сертификат сервера RDP, вам необходимо настроить политику Настроить аутентификацию для клиента=Предупредить меня, если аутентификация не удалась (Конфигурация компьютера -> Политики -> Административные шаблоны -> Компоненты Windows - > Настройки удаленного рабочего стола -> Клиент подключения к удаленному рабочему столу);
При необходимости откройте входящий порт RDP TCP/UDP 3389, используя политики брандмауэра;
Затем обновите параметры групповой политики на клиентском компьютере, запустите консоль сертификатов компьютера (
Certlm.msc) и убедитесь, что сертификат проверки подлинности удаленного рабочего стола, выданный вашим центром сертификации, появился в разделе «Личные» -> «Сертификаты».
Если новые параметры групповой политики не были применены, воспользуйтесь инструментом gpresult и этой статьей для диагностики.
Чтобы применить новый сертификат RDP, перезапустите службы удаленных рабочих столов:
Get-Service TermService -ComputerName mun-dc01| Restart-Service -force -verboseПосле этого при подключении к серверу по RDP вы не увидите запроса на подтверждение доверенности сертификата (чтобы увидеть запрос, подключитесь к серверу, которому выдан сертификат, используя его IP-адрес вместо FQDN). Нажмите Просмотреть сертификат, перейдите на вкладку Сведения и скопируйте значение в поле Отпечаток.
В разделе Выданные сертификаты консоли центра сертификации вы можете убедиться, что сертификат RDPTemplate выдан для конкретного сервера/компьютера Windows. Также проверьте значение Отпечаток сертификата:
Затем сравните этот отпечаток с отпечатком сертификата, используемым службой удаленных рабочих столов. Вы можете просмотреть значение отпечатка сертификата RDS в реестре (HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations, параметр TemplateCertificate) или с помощью следующего Команда PowerShell:
Get-WmiObject -Class "Win32_TSGeneralSetting" -Namespace root\cimv2\terminalservices|select SSLCertificateSHA1HashТогда при подключении к удаленному рабочему столу любого хоста Windows вы не увидите предупреждение о ненадежном сертификате RDP.
Подписание файла RDP с помощью отпечатка доверенного сертификата TLS
Если у вас нет центра сертификации, но вы не хотите, чтобы ваши пользователи видели предупреждения при подключении к хосту RDP/RDS, вы можете добавить сертификат в доверенные на пользовательских компьютерах.
Получите значение отпечатка сертификата RDP, как описано выше:
Get-WmiObject -Class "Win32_TSGeneralSetting" -Namespace root\cimv2\terminalservices|select SSLCertificateSHA1HashИспользуйте этот отпечаток пальца, чтобы подписать файл .RDP с помощью инструмента RDPSign.exe :
rdpsign.exe /sha256 25A27B2947022CC11BAFF261234567DEB2ABC21 "C:\ps\mun-dc01.rdp"Затем добавьте этот отпечаток к доверенным сертификатам на компьютерах пользователей с помощью объекта групповой политики. Укажите отпечатки (разделенные точкой с запятой) в политике Указать отпечатки SHA1 сертификатов, представляющих доверенных издателей .rdp в разделе Конфигурация компьютера -> Политики -> Административные шаблоны -> Компоненты Windows -> Настройки удаленного рабочего стола -> Клиент подключения к удаленному рабочему столу.
Чтобы настроить прозрачный вход в систему RDP без ввода пароля (единый вход RDP), настройте политику Разрешить делегирование учетных данных по умолчанию и укажите в ней имена хостов RDP/RDS (о том, как это сделать, см. в этой статье). .












