После установки обновления 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 серверу?
- Самый правильный способ решения проблемы – установка последних кумулятивных обновлений безопасности Windows на компьютере / сервере, к которому вы подключаетесь по RDP;
- Временный способ 1. Можно отключить проверку подлинности на уровне сети (NLA) на стороне RDP сервера (описано ниже);
- Временный способ 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) или перезагрузить компьютер. После этого вы должны успешно подключиться к удаленному рабочему столу сервера.
После обновления безопасности, которое было выпущено после мая 2018 года, при попытке подключиться к RDP серверу (удаленному рабочему столу) пользователи могут столкнуться с ошибкой CredSSP encryption oracle remediation. В каких случаях может возникнуть эта проблема:
- Вы подключаетесь к удаленному рабочему столу компьютера с недавно установленной старой (например, RTM) версией Windows (например, Windows 10 ниже билда 1803, Windows Server 2012 R2, Windows Server 2016), на котором не установлены последние обновления безопасности Windows;
- Вы пытаетесь подключиться к RDP компьютеру, на который давно не устанавливали обновления Microsoft;
- RDP подключение блокирует удаленный компьютер, т.к. нет нужных обновлений безопасности на вашем клиентском компьютере.
Видео по теме
Попробуем разобраться с тем, что означает RDP ошибка CredSSP encryption oracle remediation и как ее можно исправить.
Итак, при попытке подключения к приложению RemoteApp на RDS серверах под Windows Server 2016 / 2012 R2 / 2008 R2, или к удаленным рабочим столам других пользователей по протоколу RDP (на Windows 10, 8.1 или 7), появляется ошибка:
Remote Desktop connection
An authentication error has occurred.
The function is not supported.
Remote Computer: hostname
This could be due to CredSSP encryption oracle remediation.
Подключение к удаленному рабочему столу
Произошла ошибка при проверке подлинности.
Указанная функция не поддерживается.
Причиной ошибки может быть исправление шифрования CredSSP.
Данная ошибка связана с тем, что на Windows Server или на обычной десктопной версии Windows, к которой вы пытаетесь подключится по RDP, не устанавлены обновления безопасности Windows (как минимум с марта 2018 года).
В марте 2018 Microsoft выпустила обновление, закрывающее возможность удаленного выполнения кода с помощью уязвимости в протоколе CredSSP (Credential Security Support Provider). В мае 2018 было опубликовано дополнительное обновление, в котором по-умолчанию клиентам Windows запрещается подключаться к удаленным RDP серверам с уязвимой версией протокола CredSSP.
Таким образом, если вы на RDS/RDP серверах (компьютерах) Windows с марта 2018 года не устанавливались накопительные обновления безопасности, а на RDP клиентах установлены майские обновления (или более новые), то на них при попытке подключится к RDS серверам с непропатченной версией CredSSP будет появляется ошибка о невозможности подключения: This could be due to CredSSP encryption oracle remediation
.
Ошибка RDP клиента появляется после установки следующих обновлений безопасности:
- Windows 7 / Windows Server 2008 R2 — KB4103718
- Windows 8.1 / Windows Server 2012 R2 — KB4103725
- Windows Server 2016 — KB4103723
- Windows 10 1803 — KB4103721
- Windows 10 1709 — KB4103727
- Windows 10 1703 — KB4103731
- Windows 10 1609 — KB4103723
Для восстановления удаленного подключения к рабочему столу можно удалить обновления безопасности на клиенте, с которого выполняется RDP подключение (но это крайне не рекомендуется, т.е. есть более безопасное и правильное решение).
Для решения проблемы вы можете временно на компьютере-клиенте, с которого вы подключаетесь по RDP, отключить проверку версии CredSSP на удаленном компьютере. Это можно сделать через редактор локальных групповых политик.
- Запустите редактор локальных GPO — gpedit.msc;
- Перейдите в раздел политик Computer Configuration -> Administrative Templates -> System -> Credentials Delegation (Конфигурация компьютера -> Административные шаблоны -> Система -> Передача учетных данных);
- Найдите политику с именем Encryption Oracle Remediation (Исправление уязвимости шифрующего оракула). Включите политику (Enabled/ Включено), а в качестве параметра в выпадающем списке выберите Vulnerable / Оставить уязвимость;
- Осталось обновить политики на вашем компьютере (команда
gpupdate /force
) и попробовать подключится по RDP к удаленному компьютеру. При включенной политике Encryption Oracle Remediation со значением Vulnerable ваши терминальные приложения с поддержкой CredSSP смогут подключаться даже к RDS/RDP серверам и компьютерам Windows, на которых отсутствуют актуальные обновления безопасности.
Политика Encryption Oracle Remediation предлагает 3 доступных значения защиты от CredSSP уязвимости:
- Force Updated Clients — самый высокий уровень защиты, когда RDP сервер запрещает подключение не обновлённым клиентам. Обычно эту политику стоит включать после полного обновления всей инфраструктуры и интеграции актуальных обновлений безопасности в установочные образы Windows для серверов и рабочих станций;
- Mitigated – в этом режиме блокируется исходящее удаленное RDP подключение к RDP серверам с уязвимой версией CredSSP. Однако другие службы, использующие CredSSP работаю нормально;
- Vulnerable –самый низкий уровень зашиты, когда разрешается подключение к RDP сервера с уязвимой версией CredSSP.
Если у вас отсутствует редактор локальных GPO (например, в Home редакциях Windows), вы можете внести изменение, разрешающее RDP подключение к серверам с непропатченной версия CredSSP, напрямую в реестр с помощью команды:
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 2
Вы можете изменить этот параметр в реестре сразу на множестве компьютеров в AD с помощью доменной GPO (консоль gpmc.msc) или таким PowerShell скриптом (список компьютеров в домене можно получить с помощью командлета Get-ADComputer из модуля >RSAT-AD-PowerShell):
Import-Module ActiveDirectory
$PSs = (Get-ADComputer -Filter *).DNSHostName
Foreach ($computer in $PCs) {
Invoke-Command -ComputerName $computer -ScriptBlock {
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 2
}
}
После успешного подключения к удаленному RDP серверу (компьютеру) нужно установить на нем актуальные обновления безопасности через службу Windows Update (проверьте, что служба включена) или вручную. Скачайте и установите последние кумулятивные обновления Windows как показано выше.
Для Windows XP/ Windows Server 2003, которые сняты с поддержки нужно установить обновления для Windows Embedded POSReady 2009. Например, https://support.microsoft.com/en-us/help/4056564
После установки обновлений и перезагрузки сервера, не забудьте отключить политику на клиентах (либо выставить ее на Force Updated Clients), или вернуть значение 0 для ключа реестра AllowEncryptionOracle. В этом случае, ваш компьютер не будет подвержен риску подключения к незащищенным хостам с CredSSP и эксплуатации уязвимости.
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 0 /f
Есть еще один сценарий, когда обновления отсутствуют на вашем компьютере. Например, RDP сервер обновлен, но на нем выставлена политика, блокирующая RDP подключения с компьютеров с уязвимой версией CredSSP (Force Updated Clients). В этом случае при RDP подключении вы также увидите ошибку “This could be due to CredSSP encryption oracle remediation”.
Проверьте последнюю дату установки обновлений Windows на вашем компьютере с помощью модуля PSWindowsUpdate или через WMI команду в консоли PowerShell:
gwmi win32_quickfixengineering |sort installedon -desc
В этом примере видно, что последние обновления безопасности Windows устанавливалось 17 июня 2018 года. Скачайте и установите более новый MSU файл с кумулятивным обновлением для вашей редакции Windows (смотрите выше).
Проблема CredSSP RDP
Добрый день, уважаемые читатели блога! Отпуск закончился и принёс свои сюрпризы.
Сегодня вал звонков от сотрудников: «Иван! Не можем подключиться к серверу!». К серверу пользователи подключаются через RDP. В настройках ничего не менялось, для обновлений ещё не время. Полез смотреть на компьютер пользователя и показало вот такую ошибку:
«Произошла ошибка при проверке подлинности.
Указанная функция не поддерживается
Причиной ошибки может быть исправление шифрования CredSSP.»
Причиной данной проблемы является отсутствие обновления CVE-2018-0886 на сервере или клиенте, проблема зафиксирована после 8 мая 2018 года.
Решение №1
Скачать соответствующие обновления от компании Microsoft (лучший вариант):
- CVE-2018-0886 для Windows 10 x86
- CVE-2018-0886 для Windows 10 x64
- CVE-2018-0886 для Windows 8.1 x86
- CVE-2018-0886 для Windows 8.1 x64
- CVE-2018-0886 для Windows 7 x86
- CVE-2018-0886 для Windows 7 x64
- CVE-2018-0886 для Windows Server 2016
- CVE-2018-0886 для Windows Server 2012 R2
- CVE-2018-0886 для Windows Server 2012
- CVE-2018-0886 для Windows Server 2008 R2
- CVE-2018-0886 для Windows Server 2008 R2 Itanium
Сразу отмечу для Windows 10 и Windows Server 2016 объём обновлений довольно большой. Так что запаситесь терпением. Для остальных систем ТОЛЬКО обновление безопасности (без накопительного обновления).
Решение №2
Если по каким-то причинам обновление установить не удаётся можно включить игнорирование уязвимости CredSSP. Сделаем это через редактор групповых политик.
В окне выполнить пишем gpedit.msc, запускам.
Далее идём в Конфигурация компьютера — Административные шаблоны — Система — Передача учетных данных.
Ищем политику «Исправление уязвимости шифрующего оракула», включаем его (по стандарту стоит настройка «Не задана») ставим точку напротив «Включена», уровень защиты выберем «Оставить уязвимость».
Нажимаем «ОК» и теперь сможем без проблем подключаться к серверу.
Но лучше поставить обновления.
Всем удачи и хороших новостей после отпуска!
Windows, Windows 10, Windows 7, Windows 8, Windows Server, Безопасность
- 10.05.2018
- 149 125
- 59
- 08.10.2023
- 34
- 31
- 3
- Содержание статьи
- Общая информация
- Способ 1: Установка обновления для исправления шифрования CreedSSP
- Способ 2: Отключение уведомления об ошибке шифрования CreedSSP через групповые политики
- Способ 3: Отключение уведомления об ошибке шифрования CreedSSP путем правки реестра
- Комментарии к статье ( 59 шт )
- Добавить комментарий
После 8 мая 2018 года, многие пользователи операционных систем Windows столкнулись с проблемой, в результате которой при попытке зайти через удаленный рабочий стол на другой компьютер под управлением ОС Windows (или же при использовании remoteapp), они получают следующую ошибку:
Произошла ошибка при проверке подлинности.
Указанная функция не поддерживается
Причиной ошибки может быть исправление шифрования CredSSP.
Общая информация
Скриншот с текстом ошибки
В данной статье мы рассмотрим 3 способа исправления этой ошибки. Первый способ — является наиболее правильным и именно его необходимо использовать, в случае, если вы столкнулись с данной проблемой. Второй и третий способ, хоть и позволяет убрать ошибку, но пользоваться им стоит только если нет возможности установить патч.
Способ 1: Установка обновления для исправления шифрования CreedSSP
Причиной данной ошибки является отсутствие обновления CVE-2018-0886 на стороне сервера или того компьютера, на который вы пытаетесь подключиться, используя удаленный рабочий стол (RDP). Для её устранения достаточно просто установить данное обновление на компьютере, который выступает в роли сервера, а так же на компьютере, который выступает в роли клиента.
Взять обновление для необходимой версии ОС можно по ссылкам ниже:
- Обновление CVE-2018-0886 для Windows Server 2016 1803
- Обновление CVE-2018-0886 для Windows Server 2016 1709
- Обновление CVE-2018-0886 для Windows Server 2016 1703
- Обновление CVE-2018-0886 для Windows Server 2016 1607
- Обновление CVE-2018-0886 для Windows Server 2016 1511
- Обновление CVE-2018-0886 для Windows Server 2016
- Обновление CVE-2018-0886 для Windows 10 1803 ARM64
- Обновление CVE-2018-0886 для Windows 10 1803 x86
- Обновление CVE-2018-0886 для Windows 10 1803 x64
- Обновление CVE-2018-0886 для Windows 10 1709 ARM
- Обновление CVE-2018-0886 для Windows 10 1709 x86
- Обновление CVE-2018-0886 для Windows 10 1709 x64
- Обновление CVE-2018-0886 для Windows 10 1703 ARM
- Обновление CVE-2018-0886 для Windows 10 1703 x86
- Обновление CVE-2018-0886 для Windows 10 1703 x64
- Обновление CVE-2018-0886 для Windows 10 1607 ARM
- Обновление CVE-2018-0886 для Windows 10 1607 x86
- Обновление CVE-2018-0886 для Windows 10 1607 x64
- Обновление CVE-2018-0886 для Windows 10 1511 ARM
- Обновление CVE-2018-0886 для Windows 10 1511 x86
- Обновление CVE-2018-0886 для Windows 10 1511 x64
- Обновление CVE-2018-0886 для Windows 10 x86
- Обновление CVE-2018-0886 для Windows 10 x64
- Обновление CVE-2018-0886 для Windows Server 2012 R2
- Обновление CVE-2018-0886 для Windows 8.1 x86
- Обновление CVE-2018-0886 для Windows 8.1 x64
- Обновление CVE-2018-0886 для Windows Server 2012
- Обновление CVE-2018-0886 для Windows Server 2008 R2
- Обновление CVE-2018-0886 для Windows 7 x86
- Обновление CVE-2018-0886 для Windows 7 x64
Способ 2: Отключение уведомления об ошибке шифрования CreedSSP через групповые политики
Если же установить обновления по какой-то причине невозможно, то можно отключить данное уведомление об ошибке. Для этого, на компьютере, который выступает в роли клиента, проводим следующие действия:
- В окне «Выполнить«, «Командной строке» или PowerShell нужно выполнить команду
gpedit.msc
. После этого произойдет загрузка консоли управления групповыми политиками. - В ней нужно перейти по следующему пути: Конфигурация компьютера — Административные шаблоны — Система — Передача учетных данных. Для английской версии данный путь выглядит следующим образом: Computer Configuration — Administrative Templates — System — Credentials Delegation.
- Открываем параметр «Защита от атак с использованием криптографического оракула» (в старых версиях он назывался «Исправление уязвимости шифрующего оракула«) («Encryption Oracle Remediation» в англ. версии), и нажимаем «Включено» («Enabled»). Уровень защиты ставим как «Оставить уязвимость» («Vulnerable»).
- Нажимаем «ОК», и выходим из управления групповыми политиками.
Способ 3: Отключение уведомления об ошибке шифрования CreedSSP путем правки реестра
В том случае, если в вашей редакции Windows отсутствует редактор групповых политик (например Windows 10 Домашняя), то тогда придется внести нужные правки в реестр вручную. Для этого, на компьютере, который выступает в роли клиента, проводим следующие действия:
- Открываем редактор реестра, и переходим по следующему пути (в случае его отсутствия, его необходимо создать):
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters
- Ищем параметр DWORD под названием AllowEncryptionOracle, и ставим значение 2. Если такого параметра нет, то создаем его.
- Перезагружаем компьютер
Для тех, кто не хочет возиться с реестром, достаточно просто выполнить команду приведенную ниже, в командной строке с правами администратора:
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 2
В одно прекрасное утро у некоторых клиентов возникла такая ошибка:
Произошла ошибка при проверке подлинности
Указанная функция не поддерживается
Удаленный компьютер: …
Причиной ошибки может быть исправление шифрования CredSSP.
Дополнительные сведения см. в статье https://go.microsoft.com/fwlink/?linkid=866660
Возникает она при попытке подключиться по RDP (mstsc.exe) к серверу с 8 мая. По ссылке можно прочесть, что это связано с обновлением безопасности. Ошибка появляется потому, как на клиентском компьютере автоматически установилось обновление 4103725 (windows 8.1), 4103727 или 4103721 (windows 10), 4103718 (win 7) и т.п., а на хосте, к которому идет попытка подключения, соответствующее обновление не установлено (Server 2008 — 4056564, 2008R2 — 4103718, 2012 — 4103730, 2012R2 — 4103725, 2016 — 4103723) Номера пакетов для серверов — ссылки на соответствующие статьи и загрузки оффлайн пакетов.
- Правильный. Установка соответствующего пакета обновлений на хостовой машине (чаще всего — сервер), ссылки см. в пред. абзаце.
- Не правильный. Если по какой-то причине Вы не можете установить на хостовой машине обновление, придётся удалять соответствующее обновление на клиентском компьютере. Для этого надо обладать правами Администратора. И учтите, что обновление установиться снова при следующем автоматическом или ручном поиске обновлений. Если процесс актуализации серверной части затянется — нужно будет удалять обновление снова или «скрыть» этот пакет из предлагаемых автоматически.
- Не правильный. Вы можете на время просто отключить на компьютере, с которого пытаетесь подключаться, данное блокирующее уведомление о проблеме безопасности:
1. Откройте редактор групповых политик, для этого в командной строке или в PowerShell наберите «gpedit.msc» или найдите его через поиск на вашем ПК по фразе «Edit group policy» или «Изменение групповой политики» если вы работаете в русскоязычном интерфейсе.2. В папках настроек дерева слева вам необходимо открыть:Computer Configuration -> Administrative Templates -> System -> Credentials Delegation
если ваша ОС русифицирована, то:
Конфигурация компьютера -> Административные шаблоны -> Система -> Передача учетных данных
3. В папке «Credentials Delegation» («Передача учетных данных») найдите параметр «Encryption Oracle Remediation» («Исправление уязвимости шифрующего оракула»), откройте его, включите его использование, выбрав «Enabled» («Включено») и установите значение параметра в выпадающем списке на «Vulnerable» («Оставить уязвимость»)
После выполнения этих действий на вашем ПК, вы сможете подключаться к серверу также, как и раньше, но это не решение проблемы безопасности.
Как только вы подключились к серверу, установите обновления как это делается в любой десктопной версии Windows.
Подробнее о CVE-2018-0886 | CredSSP Remote Code Execution Vulnerability в статье TechCenter Microsoft
Почему 8 мая?
В статье по самой первой ссылке описана история обновлений CredSSP для CVE-2018-0886 и там есть строки:
May 8, 2018
An update to change the default setting from Vulnerable to Mitigated.
Related Microsoft Knowledge Base numbers are listed in CVE-2018-0886.
Дословный перевод: «Обновление изменило настройку по умолчанию с уязвимый на умеренный. Подробности…». Т.е. с 8 мая путем установки обновления меняется параметр, препятствующий подключению с компьютеров, на которых отсутствует обновление).
Всем добра.
Join @AdmNtsRu on Telegram