Windows XP не подключается по RDP к Windows 10 / Server 2012 R2/ 2016 RDS

Windows XP не подключается по RDP к Windows 10 / Server 2012 R2/ 2016 RDS

Не смотря на то, что поддержка Windows XP прекращена уже 4 года назад (Windows XP End Of Support) – многие внешние и внутренние заказчики продолжают используют эту ОС, и похоже, кардинально эту проблему решить в ближайшее время не удастся 🙁 … На днях обнаружили проблему: клиенты с ОС Windows XP не могут подключиться через удаленный рабочий стол к новой терминальной Remote Desktop Services ферме на Windows Server 2012 R2. Аналогичная проблема появляется при попытке подключиться по RDP с Windows XP на Windows 10 1803.

Невозможно подключиться по RDP с Windows XP к Windows Server 2016/2012R2 и Windows 10

Пользователи XP жаловались на такие ошибки rdp клиента:

Because of a security error, the client could not connect to the remote computer. Verify that you are logged on to the network, and then try reconnecting again.

The remote session was disconnected because the remote computer received an invalid licensing message from this computer.

The remote computer requires Network Level Authentication, which your computer does not support. For assistance, contact your system administrator or technical support.

The remote computer requires Network Level Authentication, which your computer does not support. For assistance, contact your system administrator or technical support

Чтобы решить данную проблему, проверьте что на компьютерах с Windows XP обновлена версия клиента RDP. На текущий момент максимальная версия RDP клиента, которую можно установить на Windows XP — rdp клиент версии 7.0 (KB969084 — https://blogs.msdn.microsoft.com/scstr/2012/03/16/download-remote-desktop-client-rdc-7-0-or-7-1-download-remote-desktop-protocol-rdp-7-0-or-7-1/). Установить данное обновление можно только на Windows XP SP3. Установка RDP клиента версии 8.0 и выше на Windows на XP не поддерживается. После установки данного обновления у половины клиентов проблема с RDP подключением решилась. Осталась вторая половина….

Отключаем NLA на сервере RDS Windows Server 2016/2012 R2

Начав более подробно изучать тему RDS сервера на базе Windows 2012 R2 мы обнаружили, что в ОС Windows Server 2012 (и выше) по умолчанию требует от своих клиентов обязательной поддержки технологии NLA (Network-Level Authentication — проверки подлинности на уровне сети, подробнее об этой технологии здесь), если же клиент не поддерживает NLA, подключиться к RDS серверу ему не удастся. Аналогично NLA включен по-умолчанию при включении RDP в Windows 10.

Из вышесказанного есть два вывода, чтобы оставшиеся XP-клиенты смогли подключаться по RDP к терминальному серверу на Windows Server 2016/2012 R2 или к Windows 10 нужно:

  • отключить проверку NLA на серверах фермы Remote Desktop Services 2012 R2/2016 или в Windows 10;
  • или включить поддержку NLA на XP-клиентах;

Чтобы на сервере RDS Windows Server 2012 R2 отключить требование обязательного использования протокола NLA клиентами, нужно в консоли Server Manager перейти в раздел Remote Desktop Services -> Collections -> QuickSessionCollection, выбрать Tasks -> Edit Properties, выбрать раздел Security и снять опцию: Allow connections only from computers running Remote Desktop with Network Level Authentication. windows 2012 remote desctop services отключаем nla для возможности rdp подключения из Windows XP

В Windows 10 можно отключить Network-Level Authentication в свойствах системы (Система – Настройка удаленного доступа). Снимите галку «Разрешить подключения только с компьютеров, на которых работает удаленный рабочий стол с проверкой подлинности на уровне сети (рекомендуется)».

windows10 отключить проверку подлинности на уровне сети в RDP

Естественно, нужно понимать, что отключение NLA на уровне сервера уменьшает защищенность системы и в общем случае использовать не рекомендуется. Предпочтительнее использовать вторую методику.

Включаем NLA на уровне клиента Windows XP

Для корректной работы Windows XP в качестве клиента необходимо наличие, как минимум, Service Pack 3. Если нет, то обязательно скачайте и установите это обновление. Именно Service Pack 3 является минимальным требованием для обновления клиента RDP с версии 6.1 до 7.0 и поддержки необходимых компонентов, в том числе Credential Security Service Provider (CredSSP -KB969084), о котором чуть ниже.

Без поддержки CredSSP и NLA при RDP подключении с Windows XP к новым версия Windows будет появлятся ошибка

Ошибка при проверке подлинности (код: 0x80090327).

Ошибка при проверке подлинности (код: 0x80090327).

Ранее мы уже описывали, как включить поддержку Network Level Authentication на компьютерах с Windows XP, вкратце напомним основные моменты.

Поддержка NLA появилась в Windows XP, начиная с SP3, но по-умолчанию она не включена. Включить поддержку аутентификации NLA и CredSSP-провайдера можно только реестр. Для этого:

  1. В ветке реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProviders нужно отредактировать значение ключа SecurityProviders, добавив в конце credssp.dll (через запятую от его текущего значения);windows xp включаем поддержку nla : credssp.dll
  2. Далее в ветке HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa в значение параметра Security Packages добавьте строку tspkg;windows xp поддержка Network Level Authentication : tspkg
  3. После внесения указанных изменений, компьютер нужно перезагрузить.

После выполнения всех манипуляций, компьютер с Windows XP SP3 должен без проблем подключится по rdp к терминальной ферме на Windows Server 2016 / 2012 R2 или к Windows 10. Однако вы не сможете сохранить пароль для RDP подключения на клиенте Windows XP (пароль придется вводить при каждом подключении).

Совет. Параллельно возникла еще одна проблема с печатью через Easy Print. Чтобы компьютеры с Windows XP могли печатать на RDS 2012 с помощью Easy Print, клиенты должны удовлетворять следующим требованиям: ОС — Windows XP SP3, версия rdp клиента не меньше 6.1, наличие .NET Framework 3.5 (как узнать версию NET Framework).

В 2018 года в протоколе CredSSP была обнаружена серьезная уязвимость (бюллетень CVE-2018-0886), которая была исправлена в обновлениях безопасности Microsoft. В мае 2018 года MSFT выпустила дополнительное обновление, которое запрещает клиентам подключаться к RDP компьютерам и сервера с уязвимой версией CredSSP (см статью: https://winitpro.ru/index.php/2018/05/11/rdp-auth-oshibka-credssp-encryption-oracle-remediation/). При подключении к удаленным компьютерам по RDP появляется ошибка Произошла ошибка проверки подлинности. Указанная функция не поддерживается.

В связи с тем, что Microsoft не выпускает обновления безопасности обновлений безопасности для Windows XP и Windows Server 2003, вы не сможете подключится к поддерживаемым версиям Windows из этих ОС.

Чтобы обеспечить возможность RDP подключения из Windows XP к обновлённым Windows 10/8.1/7 и Windows Server 2016/2012R2/2012/2008 R2, необходимо на стороне RDP сервера включить политику Encryption Oracle Remediation / Исправление уязвимости шифрующего оракула (Computer Configuration -> Administrative Templates -> System -> Credentials Delegation / Конфигурация компьютера -> Административные шаблоны -> Система -> Передача учетных данных) со значением Mitigated, что, как вы понимаете, небезопасно.

Совет. Для Windows XP (версия называется Windows Embedded POSReady 2009) на самом деле есть отдельно обновление для CredSSP уязвимость удаленного выполнения кода — https://support.microsoft.com/ru-ru/help/4056564 (WindowsXP-KB4056564-x86-Embedded-ENU.exe) и в теории существует возможность установить обновления для Embedded POSReady и на обычную версию Windows XP x86 и на Windows Server 2003.

Windows Server 2012
Windows XP не подключается по RDP к Windows 10 / Server 2012 R2/ 2016 RDS