Принудительное использование настраиваемого сертификата проверки подлинности сервера для TLS службами удаленных рабочих столов в Windows 7

В этой статье описывается решение проблемы, из-за которой самозаверяющий сертификат проверки подлинности сервера автоматически создается для поддержки протокола TLS при подключении служб удаленных рабочих столов (RDS) к компьютеру с Windows 7.

Применяется к: Windows 7 с пакетом обновления 1 (SP1)
Исходный номер базы знаний: 2001849

Симптомы

При подключении RDS к компьютеру с Windows 7 автоматически создается самозаверяющий сертификат проверки подлинности сервера для поддержки TLS. Это позволяет шифровать данные между компьютерами. Данные шифруются только в том случае, если на целевом компьютере включен следующий параметр групповая политика и имеет значение SSL (TLS 1.0):

Computer Configuration\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Security:Require use of specific security layer for remote (RDP) connections

Причина

Создание самозаверяемых сертификатов для TLS через подключение RDS включается в Windows Vista и Windows 7.

Разрешение

Сертификаты проверки подлинности сервера поддерживаются в Windows Vista и Windows 7. Чтобы использовать пользовательский сертификат для RDS, выполните следующие действия:

  1. Установите сертификат проверки подлинности сервера из центра сертификации.

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

    • Расположение: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
    • Имя значения: SSLCertificateSHA1Hash
    • Тип значения: REG_BINARY
    • Данные значения: <отпечаток сертификата>

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

    SSLCertificateSHA1Hash=hex:42,49,e1,6e,0a,f0,a0,2e,63,c4,5c,93,fd,52,ad,09,27,82,1b,01

    Необходимо изменить реестр напрямую, так как в клиентских SKU Windows нет пользовательского интерфейса для настройки сертификата сервера.

  3. Служба узла удаленных рабочих столов выполняется под учетной записью NETWORK SERVICE. Поэтому необходимо задать список ACL файла ключа, используемого RDS (на который ссылается сертификат с именем в значении реестра SSLCertificateSHA1Hash), чтобы включить NETWORK SERVICE с разрешениями на чтение. Чтобы изменить разрешения, выполните следующие действия.

    Откройте оснастку Сертификаты для локального компьютера:

    1. Нажмите кнопку Пуск, нажмите кнопку Выполнить, введите mmc и нажмите кнопку ОК.
    2. В меню Файл щелкните Добавить или удалить оснастку.
    3. В диалоговом окне Добавление или удаление оснастки в списке Доступные оснастки щелкните Сертификаты и нажмите кнопку Добавить.
    4. В диалоговом окне Оснастки "Сертификаты " щелкните Учетная запись компьютера и нажмите кнопку Далее.
    5. В диалоговом окне Выбор компьютера щелкните Локальный компьютер: (компьютер, на котором запущена консоль) и нажмите кнопку Готово.
    6. В диалоговом окне Добавление и удаление оснастки нажмите кнопку ОК.
    7. В оснастке Сертификаты в дереве консоли разверните узел Сертификаты (локальный компьютер), разверните узел Личный и перейдите к НУЖНОму SSL-сертификату.
    8. Щелкните сертификат правой кнопкой мыши, выберите Все задачи и выберите Управление закрытыми ключами.
    9. В диалоговом окне Разрешения нажмите кнопку Добавить, введите NETWORK SERVICE, нажмите кнопку ОК, выберите Чтение под флажком Разрешить , а затем нажмите кнопку ОК.

Дополнительная информация

Дополнительные сведения о программной настройке параметров шифрования RDP см. в разделе класс Win32_TSGeneralSetting.