Сталася помилка перевірки автентичності. Зазначена функція може бути

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

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

Сталася помилка перевірки автентичності.

Зазначена функція може бути.
Віддалений комп'ютер: computername

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

відповідь

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

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

An authentication error has occurred.

The function requested is not supported.

Remote computer: computername

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

Чому це відбувається? Справа в тому, що на вашому комп'ютері встановлено актуальні оновлення безпеки (випущені після травня 2018 року), яких виправляється серйозна уразливість в протоколі CredSSP (Credential Security Support Provider), що використовується для аутентифікації на RDP серверах (CVE-2018-0886) (рекомендую познайомиться зі статтею Помилка RDP підключення: CredSSP encryption oracle remediation). При цьому на стороні 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) або перезавантажити комп'ютер. Після цього ви повинні успішно підключитися до віддаленого робочого столу сервера.