Вопрос: Требовать TLS для RDP для всех подключений


У меня есть DC DC 2008 и сервер AD AD 2008 и клиент Windows 7. Я хотел бы потребовать, чтобы сертификат использовался при RDP-сервере.

Сертификат действителен, и если я подключаюсь с использованием FQDN, мне показывают, что я был аутентифицирован как сертификатом, так и Kerberos, как и ожидалось. Когда я подключаюсь только к имени хоста, мне разрешено подключаться, и я только аутентифицирован Kerberos, хотя у меня есть Требование TLS 1.0, установленное на сервере, на котором я RDPing. Я полностью понимаю, что сертификат не будет действителен, если к серверу не будет предоставлено полное доменное имя, что я хочу сделать, это запретить подключения, которые не используют сертификат AND Kerberos.

Я думал, что установка Require TLS 1.0 сделает это. Что мне не хватает?


6
2017-11-12 04:26


Источник




Ответы:


  1. Пуск -> Администрирование -> Службы терминалов -> Настройка служб терминалов
  2. Щелкните правой кнопкой мыши RDP-Tcp и выберите Свойства
  3. «Уровень безопасности» по умолчанию «Переговоры» и должен быть изменен на «SSL (TLS 1.0)»
  4. «Уровень шифрования» должен быть установлен на «Высокий» или «Соответствие FIPS»

Справка: http://technet.microsoft.com/en-us/library/cc782610(WS.10).aspx

редактировать: В статье Microsoft Technet указано, что TLS нельзя включить с помощью групповой политики. Тем не менее, я провел несколько экспериментов с Process Monitor и Regedit и решил, что вы можете изменить эти параметры, установив соответствующие значения реестра, следующим образом.

Чтобы установить минимальный уровень шифрования на «Высокий» вместо «Client Compatible»:

HKLM \ System \ CurrentControlSet \ Control \ Terminal Server \ WinStations \ RDP-Tcp \ MinEncryptionLevel   Значение REG_DWORD: 3

Чтобы установить уровень безопасности на «SSL (TLS 1.0)» вместо «Negotiate»:

HKLM \ System \ CurrentControlSet \ Control \ Terminal Server \ WinStations \ RDP-Tcp \ SecurityLayer
  REG_DWORD Значение: 2


10
2018-04-02 23:05



Хм, нет поддержки GPO? Вы случайно не знаете, доступна ли эта функция через WMI, чтобы ее можно было запустить в PowerShell? - MDMarra
Марк: Я не знаю, но я сообщу, если придумаю поддерживаемый или неподдерживаемый метод. - Skyhawk
Mark: Добавлена ​​информация о ключе реестра для скриптов. - Skyhawk
@Mark: Это сработало для вас? Просто дайте мне знать, если вам что-то еще нужно. - Skyhawk
У меня еще не было возможности проверить - MDMarra


Чтобы проверить ваш сценарий, вот что я сделал:

  • У меня есть Windows Server 2008 R2 DC
  • Установленные роли -> Службы сертификатов Active Directory, Доменные службы Active Directory, Remote Desktop Services -> Remote Desktop Web Access, Веб-сервер (IIS). Поскольку это мой единственный DC, у меня также установлен DNS-сервер и DHCP-сервер
  • Установлен Server Authentication Certificate на моем веб-сайте IIS также размещается приложение RDWeb
  • Изменить аутентификацию на RDWeb from Anonymous to Windows Authentication 
  • доступ к веб-сайту с самого сервера, URL: https: // локальный / RDWeb, Работает отлично
  • От моего клиента (который является Windows Server 2008 R2) попытался получить доступ к URL-адресу: https: // FQDN / RDWeb работает. Также попытался URL: https: // имя_сервера / RDWeb.. работает.

ПРИМЕЧАНИЕ. Мы все еще не уверены, использует ли он TLS 1.0

Теперь, чтобы заставить RDWeb работать только с TLS:

  1. Открыть Regedit
  2. Идти к HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
  3. Создать новый Binary Value и назовите его SSLCertificateSHA1Hash
  4. Скопируйте отпечаток из сертификата SSL и добавьте его как значение SSLCertificateSHA1Hash

например.:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]
"SSLCertificateSHA1Hash"="hex:‎23,91,fc,0e,95,ad,e9,3e,fa,df,3d,54,54,f0,99,dc,cd,70,5c,5c"

Теперь вы получили доступ к URL-адресу веб-сайта: https: // FQDN / RDWeb в то время как трассировка с помощью скрипача, мы видим все HTTPS-соединение с Cipher: 0x2F. Пробовал использовать URL-адрес: https: // имя_серверы тот же результат.

В соответствии с http://tools.ietf.org/html/rfc5289,
CipherSuite TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = {0xC0,0x2F};

Также проверьте это RDP с пользовательским сертификатом в Windows 7? (Нет настроек tsconfig.msc или групповой политики)

Для WMI вы можете проверить статью Класс Win32_TSGeneralSetting


1
2018-04-08 04:26



Я не использую веб-доступ к удаленному рабочему столу. Просто регулярный RDP с TLS. - MDMarra
@MarkM: Надеюсь, вы уже проверили blogs.technet.com/askperf/archive/2008/10/31/... - Vivek Kumbhar


Вы подтвердили с захватом пакетов, что клиент не ведет переговоры по TLS-соединению? Это единственный способ, который я знаю, чтобы окончательно проверить, работает ли он так, как ожидалось.


0
2018-04-02 22:53