У меня есть DC 2008 года, сервер AD CS 2008 года и клиент Windows 7. Я бы хотел, чтобы сертификат использовался при подключении к серверу по протоколу RDP.
Сертификат действителен, и если я подключаюсь с использованием FQDN, мне будет показано, что я был аутентифицирован как сертификатом, так и Kerberos, как и ожидалось. Когда я подключаюсь только с именем хоста, мне разрешено подключаться, и я проверяю подлинность только с помощью Kerberos, даже если у меня установлен Require TLS 1.0 на сервере, к которому я подключаюсь по RDP. Я полностью понимаю, что сертификат не будет действителен, если к серверу не будет обращаться по полному доменному имени. Я хочу запретить соединения, которые не используют сертификат И Kerberos.
Я думал, что установка Require TLS 1.0 сделает это. Что мне не хватает?
Ссылка: http://technet.microsoft.com/en-us/library/cc782610(WS.10).aspx
редактировать: В статье Microsoft Technet указано, что TLS нельзя включить с помощью групповой политики. Однако я поэкспериментировал с Process Monitor и Regedit и определил, что вы можете изменить эти параметры, установив соответствующие значения реестра, как показано ниже.
Чтобы установить для минимального уровня шифрования значение «Высокий» вместо «Совместимость с клиентом»:
HKLM \ System \ CurrentControlSet \ Control \ Terminal Server \ WinStations \ RDP-Tcp \ MinEncryptionLevel REG_DWORD Значение: 3
Чтобы установить для уровня безопасности значение «SSL (TLS 1.0)» вместо «Согласовать»:
HKLM \ System \ CurrentControlSet \ Control \ Terminal Server \ WinStations \ RDP-Tcp \ SecurityLayer
REG_DWORD Значение: 2
Вот что я сделал, чтобы проверить ваш сценарий:
Remote Desktop Services -> Remote Desktop Web Access
, Веб-сервер (IIS). Поскольку это мой единственный DC, у меня также установлены DNS-сервер и DHCP-сервер.Server Authentication Certificate
на моем веб-сайте IIS также размещено приложение RDWebRDWeb from Anonymous to Windows Authentication
ПРИМЕЧАНИЕ: мы все еще не уверены, использует ли он TLS 1.0.
Теперь, чтобы заставить RDWeb работать только с TLS:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
Binary Value
и назови это 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 - класс
Подтвердили ли вы захватом пакета, что клиент не согласовывает соединение TLS? Это единственный известный мне способ окончательно убедиться, что он работает должным образом.