Поиск по сайту:

Защита 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 в вашем ЦС:

  1. Запустите консоль Центра сертификации и перейдите в раздел «Шаблоны сертификатов»;

  2. Дублируйте шаблон сертификата компьютера (Шаблоны сертификатов -> Управление -> Компьютер -> Дублировать);

  3. На вкладке Общие укажите имя нового шаблона сертификата - RDPTemplate. Убедитесь, что значение в поле Имя шаблона соответствует Отображаемому имени шаблона

  4. На вкладке Совместимость укажите минимальную версию клиента, используемую в вашем домене (например, Windows Server 2008 R2 для центра сертификации и Windows 7 для ваших клиентов). Таким образом, будут использоваться более сильные алгоритмы шифрования;

  5. Затем в разделе «Политика применения» на вкладке Расширения ограничьте область использования сертификата только Аутентификацией удаленного рабочего стола (введите следующий идентификатор объекта — 1.3. 6.1.4.1.311.54.1.2). Нажмите «Добавить» -> «Новая», создайте новую политику и выберите ее;

  6. В настройках шаблона сертификата (Расширение политик приложений) удалите все политики, кроме Аутентификация удаленного рабочего стола;

  7. Чтобы использовать этот шаблон сертификата RDP на своих контроллерах домена, откройте вкладку Безопасность, добавьте группу Контроллеры домена и включите Регистрация и Параметры автоматической регистрации;

  8. Сохраните шаблон сертификата;

  9. Затем в оснастке mmc центра сертификации нажмите папку «Шаблоны сертификатов» и выберите Новый -> Шаблон сертификата для выдачи -> выберите созданный вами шаблон (RDPTemplate );

Как развернуть сертификаты RDP SSL/TLS с помощью групповой политики?

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

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

  1. Откройте консоль управления групповой политикой домена (gpmc.msc), создайте новый объект групповой политики и свяжите его с подразделением, содержащим серверы или компьютеры RDP/RDS, чтобы автоматически выдавать сертификаты TLS для защиты подключений RDP;

  2. Перейдите в следующий раздел объекта групповой политики «Конфигурация компьютера» -> «Политики» -> «Административные шаблоны» -> «Компоненты Windows» -> «Службы удаленных рабочих столов» -> «Узел сеансов удаленных рабочих столов» -> «Безопасность ». Включите политику Шаблон сертификата проверки подлинности сервера . Укажите имя созданного ранее шаблона ЦС (RDPTemplate);

  3. Затем в том же разделе GPO включите политику Требовать использования определенного уровня безопасности для удаленных (RDP) подключений и установите для нее значение SSL;

  4. Чтобы автоматически продлить сертификат RDP, перейдите в раздел «Конфигурация компьютера» -> «Настройки Windows» -> «Настройки безопасности» -> «Политики открытого ключа» объекта групповой политики и включите политику Клиент служб сертификации — свойства автоматической регистрации. Установите флажки «Обновить сертификаты с истекшим сроком действия, обновить ожидающие сертификаты и удалить отозванные сертификаты» и «Обновить сертификаты, использующие шаблоны сертификатов»;

  5. Если вы хотите, чтобы ваши клиенты всегда проверяли сертификат сервера RDP, вам необходимо настроить политику Настроить аутентификацию для клиента=Предупредить меня, если аутентификация не удалась (Конфигурация компьютера -> Политики -> Административные шаблоны -> Компоненты Windows - > Настройки удаленного рабочего стола -> Клиент подключения к удаленному рабочему столу);

  6. При необходимости откройте входящий порт RDP TCP/UDP 3389, используя политики брандмауэра;

  7. Затем обновите параметры групповой политики на клиентском компьютере, запустите консоль сертификатов компьютера (

    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 (о том, как это сделать, см. в этой статье). .

Статьи по данной тематике