Підтримується автентифікація на рівні мережі. Відбулася помилка автентифікації. Ця функція не підтримується. Вимкнення NLA для протоколу RDP у Windows

Після інсталяції оновлення KB4103718 на моєму комп'ютері з Windows 7 я не можу віддалено підключитися до сервера з Windows Server 2012 R2 через віддалений робочий стіл RDP. Після того, як я вказую адресу RDP сервера у вікні клієнта mstsc.exe і натискаю «Підключити», з'являється помилка:

Підключення до віддаленого робочого столу

Відбулася помилка автентифікації.

Ця функція не підтримується.
Віддалений комп'ютер: computername

Після того, як я видалив оновлення KB4103718 та перезавантажив комп'ютер, RDP підключення почало працювати нормально. Якщо я правильно розумію, це лише тимчасове обхідне рішення, наступного місяця приїде новий кумулятивний пакет оновлень та помилка повернеться? Можете щось порадити?

Відповідь

Ви маєте рацію в тому, що безглуздо вирішувати проблему, адже ви тим самим піддаєте свій комп'ютер ризику експлуатації різних уразливостей, які закривають патчі в цьому оновленні.

У своїй проблемі ви не самотні. Ця помилка може виникнути в будь-якій операційній системі Windows або Windows Server (не лише Windows 7). У користувачів англійської версії Windows 10 під час спроби підключитися до RDP/RDS серверу аналогічна помилка виглядає так:

An authentication error has occurred.

Ця функція не потребується.

Remote computer: computername

Помилка RDP “An authentication error has occurred” може з'являтися і під час спроби запуску RemoteApp додатків.

Чому це відбувається? Справа в тому, що на вашому комп'ютері встановлені актуальні оновлення безпеки (випущені після травня 2018 року), в яких виправляється серйозна вразливість у протоколі CredSSP (Credential Security Support Provider), що використовується для автентифікації на RDP серверах (CVE-2018-08) ознайомиться із статтею ). При цьому на стороні RDP / RDS сервера, до якого ви підключаєтеся зі свого комп'ютера, ці оновлення не встановлені і при цьому для доступу RDP включений протокол NLA (Network Level Authentication / Перевірку справжності на рівні мережі). Протокол NLA використовує механізми CredSSP для пре-автентифікації користувачів через TLS/SSL або Kerberos. Ваш комп'ютер через нові налаштування безпеки, які виставило встановлене оновлення, просто блокує підключення до віддаленого комп'ютера, який використовує вразливу версію CredSSP.

Що можна зробити для виправлення цієї помилки і підключитися до вашого сервера RDP?

  1. Самий правильнийспосіб вирішення проблеми – встановлення останніх оновлень безпеки Windows на комп'ютері/сервері, до якого ви підключаєтеся по RDP;
  2. Тимчасовий спосіб 1 . Можна вимкнути автентифікацію на рівні мережі (NLA) на стороні RDP сервера (описано нижче);
  3. Тимчасовий спосіб 2 . Ви можете на стороні клієнта дозволити підключення до RDP-серверів з небезпечною версією CredSSP, як описано в статті за посиланням вище. Для цього потрібно змінити ключ реєстру AllowEncryptionOracle(Команда REG ADD
    HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 2) або змінити налаштування локальної політики Encryption Oracle Remediation/ Виправлення вразливості шифруючого оракула), встановивши її значення = Vulnerable / Залишити вразливість).

    Це єдиний спосіб доступу до віддаленого сервера RDP, якщо у вас відсусує можливість локального входу на сервер (через консоль ILO, віртуальної машини, хмарний інтерфейс і т.д.). У цьому режимі ви зможете підключитися до віддаленого сервера та встановити оновлення безпеки, таким чином перейдете до рекомендованого 1 способу. Після оновлення сервера не забудьте вимкнути політику або повернути значення ключа AllowEncryptionOracle = 0: REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 0

Вимкнення NLA для протоколу RDP у Windows

Якщо на стороні RDP сервера, якому ви підключаєтеся, увімкнено NLA, це означає, що для преаутентифікації RDP користувача використовується CredSPP. Вимкнути Network Level Authentication можна у властивостях системи на вкладці Віддалений доступ(Remote) , знявши галку «Дозволити підключення тільки з комп'ютерів, на яких працює віддалений робочий стіл з автентифікацією на рівні мережі / Allow connection only from computers running Remote Desktop with Network Level Authentication (recommended)» (Windows 10 / Windows 8).

У Windows 7 ця опція називається інакше. На вкладці Віддалений доступпотрібно вибрати опцію « Дозволити підключення від комп'ютерів з будь-якою версією віддаленого робочого столу (небезпечний)/ Allow connections from computers running any version of Remote Desktop (less secure)».

Також можна вимкнути автентифікацію на рівні мережі (NLA) за допомогою редактора локальної групової політики - gpedit.msc(у Windows 10 Home редактор політик gpedit.msc можна запустити) або за допомогою консолі управління доменними політиками – GPMC.msc. Для цього перейдіть до розділу Конфігурація комп'ютера –> Адміністративні шаблони –> КомпонентиWindows–> Служби віддалених робочих столів – Вузол сеансів віддалених робочих столів –> Безпека(Computer Configuration –> Administrative Templates –> Windows Components –> Remote Desktop Services – Remote Desktop Session Host –> Security), відключітьполітику (Require user authentication for remote connections by using Network Level Authentication).

Також потрібно в політиці « Вимагати використання спеціального рівня безпеки для віддалених підключень за протоколом RDP» (Require use of specific security layer for remote (RDP) connections) вибрати рівень безпеки (Security Layer) - RDP.

Для використання нових налаштувань RDP потрібно оновити політики (gpupdate /force) або перезавантажити комп'ютер. Після цього необхідно успішно підключитися до віддаленого робочого стола сервера.

Проблеми безпеки та швидкості роботи серверів стояли завжди, і з кожним роком їх актуальність тільки зростає. У зв'язку з цим компанія Microsoft перейшла від початкової моделі аутентифікації на стороні сервера до автентифікації на рівні мережі.

У чому різниця цих моделей?
Раніше при підключенні до служб терміналів користувач створював сеанс зв'язку з сервером, через який останній завантажував екран введення облікових даних для користувача. Цей метод витрачає ресурси сервера ще до того, як користувач підтвердив свою легальність, що дає можливість нелегальному користувачеві повністю завантажити ресурси сервера численними запитами на вхід. Сервер, не здатний обробити ці запити, відмовляє у обробці запитів легальним користувачам (DoS-атака).


Перевірка автентичності на рівні мережі (Network-Level Authentication, NLA) змушує користувача вводити облікові дані в діалоговому вікні на стороні клієнта. За замовчуванням, якщо на клієнтській частині немає перевірки сертифіката автентичності на рівні мережі, сервер не дозволить підключення, і воно не відбудеться. NLA запитує клієнтський комп'ютер надати свої облікові дані для автентифікації, ще до створення сеансу з сервером. Цей процес ще називають фронтальною автентичністю.



NLA була представлена ​​ще у версії RDP 6.0 і спочатку підтримувалася Windows Vista. З версії RDP 6.1 підтримується серверами під керуванням операційною системою Windows Server 2008 і вище, а клієнтська підтримка здійснюється у операційних систем Windows XP SP3 (необхідно в реєстрі дозволити нового провайдера безпеки) і вище. Метод використовує постачальника безпеки CredSSP (Credential Security Support Provider). При використанні клієнта віддаленого робочого столу для іншої операційної системи потрібно дізнатися про її підтримку NLA.


Переваги NLA:
  • Не потребує значних ресурсів сервера.
  • Додатковий рівень захисту від DoS-атак.
  • Прискорює процес посередництва між клієнтом та сервером.
  • Дозволяє розширити технологію NT "єдиного логіну" працювати з термінальним сервером.
Недоліки NLA:
  • Інші постачальники безпеки не підтримуються.
  • Не підтримується версіями клієнта нижче Windows XP SP3 та сервера нижче Windows Server 2008.
  • Для кожного клієнта Windows XP SP3 потрібне ручне налаштування реєстру.
  • Як будь-яка схема "єдиного логіну" вразлива перед крадіжкою "ключів від усієї фортеці".
  • Неможливо використовувати функцію "Вимагати зміну пароля при наступному вході в систему".

Якщо під час підключення до сервера Ви використовуєте Windows XP, у Вас може виникнути помилка: «Віддалений комп'ютер вимагає автентифікації на рівні мережі, яку цей комп'ютер не підтримує».

Ця помилка виникає внаслідок того, що спочатку в ОС Windows XP не була реалізована автентифікація на рівні мережі, цю можливість розробники реалізували в наступних ОС. Також пізніше було випущено файл оновлення KB951608який виправляв цю помилку і дозволяв ОС Windows XP реалізувати автентифікацію на рівні мережі.

Для того, щоб Ви могли зі свого комп'ютера під керуванням ОС Windows XP підключитися до віддаленого робочого стола сервера, необхідно встановити Service Pack 3 (SP3), а потім зробити наступне:

На офіційному сайті Microsoft на російськомовній сторінці https://support.microsoft.com/ru-ua/kb/951608завантажити файл автоматичного виправлення. Прокрутіть сторінку нижче і натисніть кнопку «Завантажити» у розділі «Допомога у вирішенні проблеми».

Також Вам доступна англомовна сторінка https://support.microsoft.com/en-us/kb/951608на якій Ви можете завантажити файл натиснувши кнопку «Download» у розділі «How to turn on CredSSP»

Після того, як завантаження файлу буде закінчено запустіть його на виконання. Після запуску файлу Ви побачите вікно програми. У ньому першому кроці встановіть галочку на «Приймаю». На другому кроці натисніть кнопку «Далі»

Після встановлення ви побачите наступне вікно з повідомленням «Це виправлення Microsoft Fix it було оброблено» Вам залишається тільки натиснути «Закрити».

Після того як Ви натиснули кнопку «Закрити» програма вкаже Вам, щоб зміни набули чинності необхідне перезавантаження комп'ютера, натисніть «Так», щоб перезавантажити.

Вирішити проблему самостійно без завантаження файлу

Якщо ви маєте навички адміністрування, ви можете внести зміни до реєстру вашого комп'ютера вручну, не вдаючись до необхідності завантаження файлу виправлення.

1. Натисніть кнопку Пуск (Start), виберіть пункт Виконати (Run), введіть команду regeditта натисніть клавішу Введення (Enter)

Відкриваємо редактор реєстру.

Гілка HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

Відкриваємо параметр Security Packages та шукаємо там слово tspkg. Якщо його немає, додаємо до існуючих параметрів.

Гілка HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders

Відкриваємо параметр SecurityProviders і додаємо до вже існуючих провайдерів credssp.dll, якщо його немає.

Закриваємо редактор реєстру.

Тепер треба перезавантажитись. Якщо цього не зробити, комп'ютер запросить у нас ім'я користувача та пароль, але замість віддаленого робочого столу відповість наступне:

Ось, власне, і все.

Адміністраторам серверів на базі Windows 2008, можливо, доведеться зіткнутися з наступною проблемою:

Підключення по протоколу rdp до улюбленого сервера зі станції Windows XP SP3 провалюється з наступною помилкою:

Від'єднаний робочий стіл.

Віддалений комп'ютер вимагає автентифікації на рівні мережі, яку комп'ютер не підтримує. Зверніться по допомогу до системного адміністратора або до служби технічної підтримки.

І хоча перспективна Win7 загрожує з часом замінити свою бабусю WinXP, ще рік-другий проблема буде актуальною.

Ось що необхідно зробити для включення механізму автентифікації на мережному рівні:

Відкриваємо редактор реєстру.

Гілка HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

Відкриваємо параметр Security Packages і шукаємо там слово tspkg. Якщо його немає, додаємо до існуючих параметрів.

Гілка HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders

Відкриваємо параметр SecurityProviders та додаємо до вже існуючих провайдерів credssp.dll, якщо така відсутня.

Закриваємо редактор реєстру.

Тепер треба перезавантажитись. Якщо цього не зробити, то при спробі підключення комп'ютер запросить у нас ім'я користувача та пароль, але замість віддаленого робочого столу відповість:

Підключення до віддаленого робочого столу

Помилка при автентичності(код 0x507)

Ось, власне, і все.