После установки обновлений безопасности Windows, которые вышли после мая 2018 года, вы можете столкнуться с ошибкой CredSSP encryption oracle remediation при RDP подключении к удаленному серверу и компьютеру Windows в следующих случаях:
- Вы подключаетесь к удаленному рабочему столу компьютера с недавно установленной старой (например, 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). Подробно проблема описана в бюллетене CVE-2018-0886. В мае 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
В списке перечислены номера KB от мая 2018 года, на данный момент вам нужно скачивать и устанавливать более новый пакет накопительных обновлений для вашей редакции Windows. Вы можете получить последние обновления безопасности через Windows Update с серверов Microsoft, с локального WSUS сервера, или скачать вручную из каталога обновлений Windows — Microsoft Update Catalog — https://www.catalog.update.microsoft.com/Home.aspx. Например, для поиска обновлений за август 2019 года для Windows 10 1803 нужно использовать поисковый запрос: windows 10 1803 8/*/2019. Скачайте и установите кумулятивное обновление (в моем примере это будет “2019-08 Cumulative Update for Windows 10 Version 1803 for x64-based Systems (KB4512509)”.
Для восстановления удаленного подключения к рабочему столу можно удалить обновления безопасности на клиенте, с которого выполняется 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 как показано выше. Если при установке MSU обновления появляется ошибка “Это обновление неприменимо к вашему компьютеру”, познакомьтесь со статей по ссылке.
Для 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 (смотрите выше).
Время на прочтение
3 мин
Количество просмотров 109K
Начиная с 8 мая 2018 года, после установки обновлений на свой персональный компьютер, многие пользователи виртуальных серверов под управлением ОС Windows Server столкнулись с ошибкой «CredSSP encryption oracle remediation» при попытке подключения к удалённому рабочему столу:
На самом деле это не ошибка, а уведомление о проблеме безопасности давно необновлённого сервера.
13 марта 2018 года вышла
информация об уязвимости в протоколе CredSSP
и первые патчи для ее закрытия в серверных операционных системах. Эта уязвимость позволяет в обход проверки выполнять на самом сервере от имени передаваемых учётных записей различные команды, включая установку и удаление произвольного программного обеспечения, изменение и удаление данных на сервере, создание учётных записей с произвольными правами.
С этой проблемой не столкнулись те, кто своевременно устанавливал накопительные обновления на свой сервер. В марте они вышли для серверных операционных систем, для десктопных ОС они автоматически установились с прочими обновлениями в мае.
Для решения проблемы первым делом нужно к нему все-таки подключиться. Проще всего это сделать через авариный режим работы с сервером в вашем личном кабинете – такое есть почти у кажого провайдера VPS / VDS серверов. На VPS.house это делается простым кликом на скриншот экрана сервера в личном кабинете:
Или же вы можете на время просто отключить на компьютере, с которого пытаетесь подключаться, данное блокирующее уведомление о проблеме безопасности:
Инструкция для тех, кто пользуется редакцией Windows HOME:
[развернуть]
1. Запустите на вашем компьютере (том, с которого хотите подключиться к серверу) командную строку от имени администратора
2. Наберите следующий текст в командной строке (можно скопировать и вставить):
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 2
Эта команда вносит изменения в реестр Windows, разрешая вашему компьютеру подключаться с протоколом шифрования CredSSP к ещё необновлённому серверу.
Если в результате выполнения вы получили ошибку «Отказано в доступе», значит вы запустили командную строку НЕ от имени администратора (см. на скриншоте выше как запускается командная строка корректно).
Инструкция для тех, кто пользуется редакцией Windows PRO:
[развернуть]
1. Откройте редактор групповых политик, для этого в командной строке или в PowerShell наберите «gpedit.msc» или найдите его через поиск на вашем ПК по фразе «Edit group policy» или «Изменение групповой политики» если вы работаете в русскоязычном интерфейсе.
Если после выполнения этой команды вы получили ошибку о том, что команда не найдена или не является внутренней или внешней командой, значит у вас Windows не версии PRO, а скорее всего HOME и вам нужно смотреть инструкцию выше.
2. В папках настроек дерева слева вам необходимо открыть:
Computer Configuration -> Administrative Templates -> System -> Credentials Delegation
если ваша ОС русифицирована, то:
Конфигурация компьютера -> Административные шаблоны -> Система -> Передача учетных данных
3. В папке «Credentials Delegation» («Передача учетных данных») найдите параметр «Encryption Oracle Remediation» («Исправление уязвимости шифрующего оракула»), откройте его, включите его использование, выбрав «Enabled» («Включено») и установите значение параметра в выпадающем списке на «Vulnerable» («Оставить уязвимость»)
После выполнения этих действий на вашем ПК, вы сможете подключаться к серверу также, как и раньше, но это не решение проблемы безопасности.
Как только вы подключились к серверу, установите обновления как это делается в любой десктопной версии Windows.
Если при попытке установки возникает ошибка, поверьте запущена ли служба «Windows Update» («Центр обновления Windows»). Открыть список служб можно по пути:
Start -> Windows Administrative Tools -> Services
если ваша ОС русифицирована, то:
Пуск -> Средства администрирования Windows -> Службы
Если служба не запускается, проверьте, разрешен ли ее запуск: статус не должен быть «Disabled» («Отключена»).
Если вы используете Windows Server 2012 R2 или Windows Server 2008 R2 SP1, то вы можете установить не все обновления, а только одно, исправляющее эту уязвимость и тем самым значительно быстрее решить проблему подключения к серверу.
Скачать его можно прямо с сайта Microsoft на
странице описания уязвимости
:
• обновление для
Windows Server 2012 R2
• обновление для
Windows Server 2008 R2 SP1
Если, прочитав всё описанное выше, вам так и не удалось понять, что нужно сделать или если ничего не получилось, вы всегда можете пересоздать сервер в личном кабинете – эта функция также есть у любого провайдера облачных услуг. Она существует для получения сервера чистого, как будто вы только что его заказали, он будет пустым, все ваши данных будут потеряны! Прибегаете к ней только в крайней необходимости и в случае если на вашем сервере не хранится и не работает ничего важного или требующего долгой последующей настройки.
Все образы операционных систем Windows Server на VPS.house по умолчанию содержат все последние обновления и после пересоздания сервера проблем с ошибкой «CredSSP encryption oracle remediation» при подключении к нему уже не будет.
Содержание
- Способ 1: Настройка локальных политик
- Способ 2: Применение твика реестра
- Применение твика в «Windows PowerShell»
- Вопросы и ответы
Отключение проверки версии CredSSP является лишь временным решением проблемы подключения к удаленному серверу с использованием протокола RDP.
Способ 1: Настройка локальных политик
Наиболее очевидным способом отключения данного API безопасности является изменение соответствующей политики во встроенном редакторе GPO. Деактивация CredSSP выполняется на том компьютере, с которого осуществляется подключение к удаленному серверу.
Инструкция актуальная только для редакции Windows 10 Pro и выше. Поскольку в редакции Home эта оснастка отсутствует, воспользуйтесь прямой альтернативой — Способом 2.
- Вызовите окошко быстрого выполнения команд нажатием комбинации клавиш Win + R и выполните в нем команду
gpedit.msc
, чтобы открыть «Редактор локальных групповых политик». - В левой колонке разверните узел «Конфигурация компьютера» → «Административные шаблоны» → «Система» → «Передача учетных данных». Справа найдите политику «Исправление уязвимости шифрующего оракула», нажмите по ней правой кнопкой мыши и выберите «Изменить». Также вы можете открыть свойства политики двойным по ней кликом.
- Включив политику, выберите в выпадающем меню параметров защиты опцию «Оставить уязвимость» и сохраните настройки.
- Перезагрузите компьютер или выполните в диалоговом окошке быстрого выполнения команд команду обновления политик
gpupdate /force
.
После этого можете пробовать подключаться к удаленному компьютеру по RDP.
Способ 2: Применение твика реестра
Отключить CredSSP можно также путем редактирования соответствующего ключа реестра. Это менее удобный способ, прибегнуть к нему можно в том случае, если «Редактор локальных групповых политик» по какой-то причине окажется недоступным, например, в случае работы в Windows 10 Домашняя.
- Откройте «Редактор реестра», для чего выполните в диалоговом окошке быстрого выполнения команд команду
regedit
. - В левой колонке разверните ветку
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters
либо просто вставьте этот ключ в адресную строку редактора и нажмите клавишу ввода.
В правой части у вас должен быть параметр с именем «AllowEncryptionOracle» — кликните по нему дважды, чтобы открыть окошко редактирования значения. - Измените значение параметра на «2», сохраните настройки и обязательно перезагрузите компьютер.
Применение твика в «Windows PowerShell»
Если элемент пути CredSSP\Parameters
отсутствует, нужно будет создать его вручную. Удобнее это сделать с помощью консоли.
- Откройте от имени администратора «PowerShell» из контекстного меню кнопки «Пуск».
- Выполните команду
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 2
. - Перезагрузите компьютер.
Как уже было сказано, данное решение является ситуативным. Если вы не хотите отключать CredSSP, просто установите на клиентский и удаленный компьютеры актуальные пакеты обновлений.
Еще статьи по данной теме:
Помогла ли Вам статья?
Введение
Очередное обновление windwos 10 не обходится без сюрпризов, жаль что большая их часть связана вызывает различного рода неполадки и сбои в системе. В обновлении от 8 мая 2018 года была устранена критическая уязвимость в системе безопасности подключения к удалённым рабочим столам RDP.
Протокол поставщик поддержки безопасности учетных данных (CredSSP) — это поставщик проверки подлинности, который обрабатывает запросы на проверку подлинности для других приложений. Существует уязвимость удаленного выполнения кода в Неисправленные версии CredSSP. Злоумышленник, успешно воспользовавшийся данной уязвимостью, передает учетные данные пользователя для выполнения кода в целевой системе. Любое приложение, которое зависит от CredSSP для проверки подлинности может быть уязвимо для атаки этого типа.
И вы тут потому что, скорее всего, получили ошибку протокола CredSSP:
An authentication error has occurred.
The function is not supported.
This could be due to CredSSP encryption oracle remediation.
Пункт 1: Причины возникновения ошибки CreedSSP
Возникновение ошибки CredSSP связано с тем, что на терминальном Windows сервере, на который идёт подключение, не установлены последние обновления безопасности (CredSSP обновления для CVE-2018-0886). После обновления система по умолчанию запрещает подключаться к удалённым серверам по RDP со старой версией протокола CredSSP.
Ошибка подключения по 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)
Пункт 2: Способы решения проблем CredSSP с подключением по RDP
Для решения данной ошибки c протоколом CredSSP необходимо убрать всплывающее уведомление, которое блокирует соединение. Но это только временное решение, правильней всего будет установить необходимые обновления на терминальные сервера, к которым вы пытаетесь подключиться.
Так же читайте мою статью о том как из Windows 10 сделать терминальный сервер.
Необходимые обновления
- Windows Server 2012 R2 / Windows 8: KB4103715
- Windows Server 2008 R2 / Windows 7: KB4103712
- Windows Server 2016 / Windows 10 1607: KB4103723
Но прежде чем установить обновления на сервер, скорее всего, вам ещё нужно будет к нему подключиться. А досадная ошибка этого делать не даёт. Так как обойти протокл CredSSP?
При помощи редактирования локальных групповых политик системы!
- Через окно «Выполнить» (Win + R)
- Откройте редактор групповых политик: gpedit.msc
- Идём в раздел Computer Configuration / Administrative Templates / System / Credentials Delega (Конфигурация компьютера / Административные шаблоны / Система / Передача учетных данных)
- Включите политику Encryption Oracle Remediation (Исправление уязвимости шифрующего оракула)
- В параметрах ставим Enabled (Включено)
- Открываем окно «Выполнить» (Win + R)
- Обновляем политики на компьютере: gpupdate /force
Однако в таких редакциях как Windows Home редактора груповых политик GPO просто нет. В этом случае, для решение ошибки CredSSP Encryption Oracle Remediation, необходимо внести изменение прямо в реестр.
Одной командой через «Выполнить»
Включение команду, чтобы разрешить подключаться к рабочему столу не обращая внимания на версию протокола CredSSP:
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 2
Не забудьте отключить фичу после обновления терминального сервера:
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 0
Запустив .reg файл
Содержимое .reg файла следующее:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP] [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters] "AllowEncryptionOracle"=dword:00000002
Надеюсь смог помоч с возникшей проблемой работы протокола CredSSP при подключении к удалённому рабочему столу. 😀
Очень часто после обновления Windows 10 возникают проблемы при подключении по RDP. А точнее не удается подключиться по RDP, потому, что возникает ошибка CredSSP. Это довольно распространенное явление, связанное с обновлением безопасности протокола RDP. Соответсвтвенно возникает различие в протоколе между вашей обновленной версией Windows и той версией, которая установлена на удаленном сервере.
В данной статье мы детально покажем, что нужно сделать, чтобы решить проблему подключения к RDP CredSSP. Будут показаны пути решения для двух версий Windows: Windows 10 HOME и Windows 10 PRO.
Решение для Windows 10 HOME
Запустите на вашем компьютере (том, с которого хотите подключиться к серверу) командную строку от имени администратора.
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 2
Эта команда вносит изменения в реестр Windows, разрешая вашему компьютеру подключаться с протоколом шифрования CredSSP к ещё необновлённому серверу.
Если в результате выполнения вы получили ошибку «Отказано в доступе», значит вы запустили командную строку НЕ от имени администратора (см. на скриншоте выше как запускается командная строка корректно).
Решение CredSSP для Windows 10 PRO
Нажмите Win+R
В появившемся окне наберите gpedit.msc
Если после нажатия Enter появляется ошибка то скорее всего у вас не Windows 10 PRO а HOME. И надо смотреть инструкцию для нее.
If your OS is English
Computer Configuration -> Administrative Templates -> System -> Credentials Delegation
Если ваша ОС русифицирована, то:
Конфигурация компьютера -> Административные шаблоны -> Система -> Передача учетных данных
В папке «Credentials Delegation» («Передача учетных данных») найдите параметр «Encryption Oracle Remediation» («Исправление уязвимости шифрующего оракула»), откройте его, включите его использование, выбрав «Enabled» («Включено») и установите значение параметра в выпадающем списке на «Vulnerable» («Оставить уязвимость»)
После этого вы сможете подключиться к серверу по RDP. Ошибка при проверке подлинности CredSSP больше не возникнет.