Обновлено 25.11.2019
Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org, в прошлый раз мы с вами чинили HDD с поврежденной файловой системой и состоянием RAW уверен, что вам удалось это сделать. Сегодня я в очередной раз переведу наш вектор траблшутера в сторону терминальных столов, а именно мы рассмотрим ситуацию, что когда вы пытаетесь подключиться к удаленному серверу по RDP протоколу, а у вас после ввода логина и пароля, выскакивает ошибка, что вы не прошли проверку подлинности и причиной ошибки может быть исправление шифрования CredSSP. Давайте разбираться, что за зверь, этот CredSSP и как вам получить доступ к вашему серверу.
Как выглядит ошибка credssp
Перед тем, как я покажу вам известные мне методы ее устранения, я бы как обычно хотел подробно описать ситуацию. Вчера при попытке подключиться к своему рабочему компьютеру, работающему на Windows 10 1709, с терминального стола, входящего в RDS ферму на Windows Server 2012 R2, я получил ошибку после ввода логина и пароля:
An authentication error has occurred. The function requested is not supported. Remote computer name. This coild be to CredSSP encryption oracle remediation.
Ну и конечно в русском исполнении:
Произошла ошибка при проверке подлинности. Указанная функция не поддерживается. Удаленный компьютер имя. Причиной ошибки может быть исправление шифрования CredSSP
Получается двоякая ситуация, что RDP как бы работает, но вот по какой-то причине ваши учетные данные на принимающей стороне не соответствуют, каким-то критериям, давайте разбираться, что это за зверь CredSSP.
Назначение CredSSP
Что такое CredSSP — это Win32 API, используемый системами Microsoft Windows для выполнения различных операций, связанных с безопасностью, таких как аутентификация. SSPI функционирует, как общий интерфейс для нескольких поставщиков поддержки безопасности (SSP). Поставщик поддержки безопасности — это библиотека динамической компоновки (DLL), которая делает один или несколько пакетов безопасности доступными для приложений.
CredSSP позволяет приложению делегировать учетные данные пользователя от клиента целевому серверу для удаленной аутентификации. CredSSP предоставляет зашифрованный канал протокола безопасности транспортного уровня . Клиент проходит проверку подлинности по зашифрованному каналу с использованием протокола SPNEGO (Simple and Protected Negotiate) с Microsoft Kerberos или Microsoft NTLM.
После проверки подлинности клиента и сервера клиент передает учетные данные пользователя на сервер. Учетные данные дважды шифруются с использованием ключей сеанса SPNEGO и TLS. CredSSP поддерживает вход в систему на основе пароля, а также вход в систему с использованием смарт-карт на основе X.509 и PKINIT.
Подробнее на Microsoft https://docs.microsoft.com/en-us/windows/desktop/secauthn/credential-security-support-provider
Windows SSP
Следующие поставщики общих служб устанавливаются вместе с Windows:
- NTLM (Представлено в Windows NT 3.51 ) (msv1_0.dll) — обеспечивает проверку подлинности NTLM с запросом/ответом для клиент-серверных доменов до Windows 2000 и для не доменной аутентификации (SMB /CIFS).
- Kerberos (Представлен в Windows 2000 и обновлен в Windows Vista для поддержки AES ) (kerberos.dll). Предпочтителен для взаимной аутентификации клиент-серверного домена в Windows 2000 и более поздних версиях.
- Согласование (введено в Windows 2000) (secur32.dll) — выбирает Kerberos и, если не доступно, протокол NTLM. SSP обеспечивает возможность единого входа , иногда называемую встроенной аутентификацией Windows (особенно в контексте IIS). В Windows 7 и более поздних версиях представлен NEGOExts, в котором согласовывается использование установленных пользовательских SSP, которые поддерживаются на клиенте и сервере для аутентификации.
- Безопасный канал (он же SChannel) — Представлен в Windows 2000 и обновлен в Windows Vista и выше для поддержки более надежного шифрования AES и ECC. Этот поставщик использует записи SSL/TLS для шифрования полезных данных. (Schannel.dll)
- PCT (устарел) реализация Microsoft TLS/SSL — криптография SSP с открытым ключом, которая обеспечивает шифрование и безопасную связь для аутентификации клиентов и серверов через Интернет. Обновлено в Windows 7 для поддержки TLS 1.2.
- Digest SSP (Представлено в Windows XP ) (wdigest.dll) — Обеспечивает проверку подлинности HTTP и SASL на основе запросов/ответов между системами Windows и не-Windows, где Kerberos недоступен.
- Учетные данные (CredSSP) (Представлено в Windows Vista и доступно в Windows XP с пакетом обновления 3 (SP3)) (credssp.dll) — обеспечивает SSO и проверку подлинности на уровне сети для служб удаленных рабочих столов.
- Аутентификация с распределенным паролем (DPA) — (Представлено в Windows 2000) (msapsspc.dll) — Обеспечивает аутентификацию через Интернет с использованием цифровых сертификатов.
- Криптография с открытым ключом «пользователь-пользователь» (PKU2U) (представлена в Windows 7 ) (pku2u.dll) — обеспечивает одноранговую аутентификацию с использованием цифровых сертификатов между системами, которые не являются частью домена.
Подробнее на https://en.wikipedia.org/wiki/Security_Support_Provider_Interface
Причины ошибки шифрования CredSSP
В марте 2018 года, компания Microsoft выпустила обновление безопасности для устранения уязвимостей для протокола поставщика поддержки безопасности учетных данных (CredSSP) под именем CVE-2018–0886 (https://support.microsoft.com/en-us/help/4093492/credssp-updates-for-cve-2018-0886-march-13-2018), используемого подключениями по протоколу удаленного рабочего стола (RDP) для клиентов Windows и Windows Server. Как только пользователи и системные администраторы произвели установку апдейтов, то по всему миру начались массовые жалобы, что люди не могут подключаться по протоколу RDP к серверам, компьютерам, получая ошибку, что причиной ошибки может быть шифрование CredSSP.
К сожалению 99% людей и администраторов совершают одну и туже ошибку, они сразу ставят обновления, не дождавшись пары дней после их выхода. Обычно этого времени хватает, чтобы вендор определил проблемы и отозвал глючное обновление.
Уязвимость в протоколе Credential Security Support Provider (CredSSP — провайдер поддержки безопасности учетных данных) допускала удаленный запуск произвольного кода на уязвимой системе и 8 мая 2018 г. Microsoft изменила уровень безопасности подключения с Vulnerable
на Mitigated
и начались проблемы подключения к удаленному рабочему столу по RDP. Ранее вы могли удаленно подключаться с обновленной машины к машинам без обновления безопасности, так сказать в мягком режиме. Однако с последним обновлением, Microsoft усилила безопасность, и вы больше не можете подключаться к компьютерам без обновления закрывающего брешь CVE-2018–0886.
Под раздачу попали буквально все, клиентские ОС Windows 7, Windows 8.1, Windows 10 с которых были попытки подключиться к RDS ферме или RemoteApp приложениям работающим на Windows Server 2008 R2 и выше. Если бы вы читали ветки обсуждений в эти дни, то вы бы поняли все негодование людей, особенно с запада.
Варианты исправления ошибки CredSSP
На самом деле вариантов много, есть правильные, есть и временные и обходные, которые нужно сделать быстро, чтобы хоть как-то работало, так как бизнес может в этот момент простаивать и терять деньги.
- Вы можете удалить новое обновление безопасности, самый плохой вариант, но в ответственные моменты, иногда используется, чтобы перенести работы на вечер или ночь
- Если нужно быстро получить доступ к серверу и избежать проверку подлинности credssp, то я вам советую отключить на принимающем подключении сервере галку NLA (Network Level Authentication) в русском варианте «Разрешить подключение только с компьютеров, на которых работает удаленный рабочий стол с проверкой подлинности на уровне сети»
- То же быстрый метод и на массовое применение, это использование групповой политики, которая изменит шифрование Oracle Remediation
- Ну и самый правильный метод, это установка обновлений на все ваши системы
Отключаем credssp в Windows через NLA
Данный метод выхода из ситуации я бы рассматривал, как быстрое, временное решение, до того, как вы установите обновления безопасности. Чтобы разрешить удаленное подключение к серверу и избегать ситуации, что произошла ошибка при проверке подлинности credssp, сделайте вот что. Откройте свойства моего компьютера, попав в систему, так же можно нажать одновременно WIN+Pause Breake или как вариант в командной строке ввести control /name Microsoft.System. В окне «Система» находим пункт меню «Настройка удаленного доступа»
Снимите галку «Разрешить подключение только с компьютеров, на которых работает удаленный рабочий стол с проверкой подлинности на уровне сети»
После этого вы легко сможете подключиться к данному компьютеру или серверу, но как быть что вы не можете туда попасть и снять эту галку, тут нам на помощь придет реестр Windows. Вы можете удаленно создать нужные ключи реестра, которые отключат галку NLA или политику CredSSP. Для этого вы можете пойти двумя путями:
- Использовать сетевой реестр Windows
- Использовать удаленное управление компьютером, например PsExec.exe, я вам с помощью него уже показывал, как открывать порты в брандмауэре, удаленно.
Давайте попробуем через удаленный реестр, для этого открываем Regedit, через окно «Выполнить».
Из меню «Файл» выберите пункт «Подключить сетевой реестр», далее найдите нужный вам сервер.
У вас подключится дополнительный реестр с двумя кустами. Переходите по пути (Если у вас не будет CredSSPParameters, то нужно будет их создать):
HKLMSoftwareMicrosoftWindowsCurrentVersion PoliciesSystemCredSSPParameters
Тут вам необходимо создать REG_DWORD ключ с именем AllowEncryptionOracle и значением 2. В данном варианте политика CredSSP выставит Уязвимый уровень — это самый низкий уровень защиты. Это позволит вам подключаться к серверам удаленно, используя RDP. Однако это подвергнет серверы атакам.
Или можно так же отключить NLA, для этого найдите ветку реестра:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl Terminal ServerWinStationsRDP-Tcp
Найдите там ключ SecurityLayer и выставите ему значение 0, чтобы деактивировать Network Level Authentication.
Теперь то же самое вы можете выполнить и через PsExec.exe, выставив для CredSSP минимальный уровень защиты или же отключить NLA, для этого находясь в cmd в режиме администратора введите команду:
PsExec.exe \w10-cl01 -u rootАдминистратор -p пароль cmd
w10-cl01 — это имя компьютера.
Далее имея запущенный сеанс cmd для удаленного компьютера, выполните команду:
REG ADD HKLMSoftwareMicrosoftWindows CurrentVersionPoliciesSystemCredSSPParameters /v AllowEncryptionOracle /t REG_DWORD /d 2 (0 вернет все как было)
Аналогично можно сделать и для отключения Network Level Authentication, команда будет такой:
REG ADD «HKEY_LOCAL_MACHINESYSTEM CurrentControlSetControlTerminal ServerWinStationsRDP-Tcp» /v SecurityLayer /t REG_DWORD /d 0
Еще раз обращаю ваше внимание, что данный метод временный и самый не безопасный, применяемый в случаях, когда уже ничего сделать нельзя или дольше, а нужно уже вчера, обязательно установите все нужные обновления.
Отключаем шифрование credssp через GPO
Если у вас большая инфраструктура, в которой сотни компьютеров и сотни серверов, то вы можете до установки нужных обновлений в вечернее время, временно отключить новый уровень шифрования CredSSP и убрать ошибку «Удаленный компьютер имя. Причиной ошибки может быть исправление шифрования CredSSP». Для этого мы можем воспользоваться всеми плюсами доменной инфраструктуры Active Directory. Тут два варианта, вы можете создать массовую политику для распространения ее на нужные OU или если у вас требование для одного или двух локальных компьютеров, то на них можно запустить локальный редактор групповых политик, тем самым внеся изменения только на них.
Напоминаю, что оснастку управление групповой политикой вы можете найти на контроллере домена или компьютере с установленным пакетом RSAT, открыть ее можно через команду в окне «Выполнить» gpmc.msc. Если нужно открыть локальный редактор групповых политик, то в окне «Выполнить» введите gpedit.msc.
Вам необходимо перейти в ветку:
Конфигурация компьютера — Административные шаблоны — Система — Передача учетных данных — Исправление уязвимости шифрующего оракула (Computer Configuration — Administrative Templates — System — Credentials Delegation — Encryption Oracle Remediation
Открываем настройку «Исправление уязвимости шифрующего оракула (Encryption Oracle Remediation)». Включаем политику, у вас активируется опция «Уровень защиты», на выбор будет три варианта:
- Принудительно применять обновленные клиенты (Force Updated Clients) — она будет стоять по умолчанию из-за максимального уровня защиты, вам данную опцию нужно сменить. Это так сказать максимально безопасный уровень взаимодействия клиент, он должен быть в идеале, после установки обновлений на все сервера и компьютеры.
- Оставить уязвимость (Vulnerable) – клиенты могут подключаться на уязвимые машины.
- Уменьшить риск (Mitigated) – клиенты не могут подключаться к уязвимым серверам, но серверы могут принимать уязвимые клиенты.
Выбираем на время пункт «Оставить уязвимость (Vulnerable)». Сохраняем настройки.
После чего вам нужно обновить политику, для этого откройте командную строку и введите gpupdate /force. Если у вас не доменный компьютер, да и еще Windows 10 Home, которая не имеет встроенного локального редактора политик, то вам как я описывал выше, нужно производить правку реестра
REG ADD HKLMSoftwareMicrosoftWindows CurrentVersionPoliciesSystemCredSSPParameters /v AllowEncryptionOracle /t REG_DWORD /d 2 (0 вернет все как было)
На просторах интернета ходит скрипт PowerShell, который поможет включить данную политику на всех компьютерах в Active Directory
Import-Module ActiveDirectory
$PSs = (Get-ADComputer -Filter *).DNSHostName
Foreach ($computer in $PCs) {
Invoke-Command -ComputerName $computer -ScriptBlock {
REG ADD HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters /v AllowEncryptionOracle /t REG_DWORD /d 2
}
}
Самый правильный метод, это установка обновлений
Когда вам удалось везде подключиться и подошло время обслуживания ваших серверов, быстренько производим установку обновлений закрывающих брешь (CVE-2018-0886 | CredSSP Remote Code Execution Vulnerability).
https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/CVE-2018-0886
Раньше были вот такие KB, но они со временем могут меняться свой номер, поэтому пройдите по ссылке выше, так будет надежнее.
- Windows Server 2012 R2 / Windows 8: KB4103715
- Windows Server 2008 R2 / Windows 7: KB4103712
- Windows Server 2016 / Windows 10 1607 — KB4103723
- Windows Server 2016 / Windows 10 1703 — KB4103731
- Windows Server 2016 / Windows 10 1709 — KB4103727
- Windows Server 2016 / Windows 10 1803 — KB4103721
На этом у меня все, надеюсь, что вы разобрались в работе CredSSP и научились ей управлять. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.
После установки обновлений безопасности 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 HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters /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 HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters /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 HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters /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 (смотрите выше).
Table of Contents
In some cases, you unable to RDP to Virtual Machine and getting this error code: CredSSP Encryption Oracle Remediation.
Symptoms
- The Credential Security Support Provider protocol (CredSSP) updates for CVE-2018-0886 are applied to a Windows VM (remote server) in Microsoft Azure or on a local client.
- You try to make a remote desktop (RDP) connection to the server from the local client.
In this scenario, you receive the following error message:
An authentication error has occurred. The function requested is not supported. Remote computer: <computer name or IP>. This could be due to CredSSP encryption oracle remediation. For more information, see https://go.microsoft.com/fwlink/?linkid=866660.
Cause
This error occurs if you are trying to establish an insecure RDP connection, and the insecure RDP connection is blocked by an Encryption Oracle Remediation policy setting on the server or client. This setting defines how to build an RDP session by using CredSSP, and whether an insecure RDP is allowed.
See the following interoperability matrix for scenarios that are either vulnerable to this exploit or cause operational failures.
- The client has the CredSSP update installed, and Encryption Oracle Remediation is set to Mitigated. This client will not RDP to a server that does not have the CredSSP update installed.
- The server has the CredSSP update installed, and Encryption Oracle Remediation is set to Force updated clients. The server will block any RDP connection from clients that do not have the CredSSP update installed.
Resolution
If you cannot update the server system, you can try the following below methods:
Method 1: Allow RDP using Registry
The most common scenario is that the client has the CredSSP update installed, and the Encryption Oracle Remediation policy setting doesn’t allow an insecure RDP connection to a server that does not have the CredSSP update installed.
1. On the client machine, right-click on the Windows Start icon then select Windows Terminal (Admin).
2. Run the following command to add a registry value:
REG ADD HKLMSoftwareMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters /v AllowEncryptionOracle /t REG_DWORD /d 2
You can open Registry Editor to verify the registry value is created.
Now, trying to connect to the server through RDP and the error should be gone.
Method 2: Using Group Policy
Alternatively, if you don’t want to use Registry, you can fix the issue using Group Policy.
1. Press on your keyboard to bring up the search bar then type gpedit.msc in the search box and click Edit group policy.
2. Browse to Computer Configuration > Administrative Templates > System > Credentials Delegation in the navigation pane.
3. Change the Encryption Oracle Remediation policy to Enabled, and then change Protection Level to Vulnerable.
Now, click OK to save the changes then trying to connect to the server through RDP and the error should be gone.
Содержание
- Ошибка RDP подключения: CredSSP encryption oracle remediation
- Криптографического оракула credssp windows 10
- Решение для Windows 10 HOME
- Решение CredSSP для Windows 10 PRO
- Ошибка при удаленном подключении «… Указанная функция не поддерживается … исправление шифрования CredSSP …»
- 3 варианта решения проблемы CredSSP:
- Почему 8 мая?
- Общая информация
- Способ 1: Установка обновления для исправления шифрования CreedSSP
- Способ 2: Отключение уведомления об ошибке шифрования CreedSSP через групповые политики
- Способ 3: Отключение уведомления об ошибке шифрования CreedSSP путем правки реестра
- Ошибка RDP подключения: CredSSP encryption oracle remediation
- Видео по теме
Ошибка RDP подключения: CredSSP encryption oracle remediation
После установки обновлений безопасности Windows, которые вышли после мая 2018 года, вы можете столкнуться с ошибкой CredSSP encryption oracle remediation при RDP подключении к удаленному серверу и компьютеру Windows в следующих случаях:
Попробуем разобраться с тем, что означает RDP ошибка CredSSP encryption oracle remediation и как ее можно исправить.
Итак, при попытке подключения к приложению RemoteApp на RDS серверах под Windows Server 2016 / 2012 R2 / 2008 R2, или к удаленным рабочим столам других пользователей по протоколу RDP (на Windows 10, 8.1 или 7), появляется ошибка:
Данная ошибка связана с тем, что на Windows Server или на обычной десктопной версии Windows, к которой вы пытаетесь подключится по RDP, не устанавлены обновления безопасности Windows (как минимум с марта 2018 года).
Дело в том, что еще в марте 2018 Microsoft выпустила обновление, закрывающее возможность удаленного выполнения кода с помощью уязвимости в протоколе CredSSP (Credential Security Support Provider). Подробно проблема описана в бюллетене CVE-2018-0886. В мае 2018 было опубликовано дополнительное обновление, в котором по-умолчанию клиентам Windows запрещается подключаться к удаленным RDP серверам с уязвимой (непропатченной) версией протокола CredSSP.
Ошибка RDP клиента появляется после установки следующих обновлений безопасности:
Для восстановления удаленного подключения к рабочему столу можно удалить обновления безопасности на клиенте, с которого выполняется RDP подключение (но это крайне не рекомендуется, т.е. есть более безопасное и правильное решение).
Для решения проблемы вы можете временно на компьютере, с которого вы подключаетесь по RDP, отключить проверку версии CredSSP на удаленном компьютере. Это можно сделать через редактор локальных групповых политик. Для этого:
Если у вас отсутствует редактор локальных GPO (например, в Home редакциях Windows), вы можете внести изменение, разрешающее RDP подключение к серверам с непропатченной версия CredSSP, напрямую в реестр с помощью команды:
REG ADD HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters /v AllowEncryptionOracle /t REG_DWORD /d 2
Вы можете изменить этот параметр в реестре сразу на множестве компьютеров в AD с помощью доменной GPO (консоль gpmc.msc) или таким PowerShell скриптом (список компьютеров в домене можно получить с помощью командлета Get-ADComputer из модуля RSAT-AD-PowerShell):
После успешного подключения к удаленному RDP серверу (компьютеру) нужно установить на нем актуальные обновления безопасности через службу Windows Update (проверьте, что служба включена) или вручную. Скачайте и установите последние кумулятивные обновления Windows как показано выше. Если при установке MSU обновления появляется ошибка “Это обновление неприменимо к вашему компьютеру”, познакомьтесь со статей по ссылке.
После установки обновлений и перезагрузки сервера, не забудьте отключить политику на клиентах (либо выставить ее на Force Updated Clients), или вернуть значение 0 для ключа реестра AllowEncryptionOracle. В этом случае, ваш компьютер не будет подвержен риску подключения к незащищенным хостам с CredSSP и эксплуатации уязвимости.
REG ADD HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters /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:
В этом примере видно, что последние обновления безопасности Windows устанавливалось 17 июня 2018 года. Скачайте и установите более новый MSU файл с кумулятивным обновлением для вашей редакции Windows (смотрите выше).
Источник
Криптографического оракула credssp windows 10
Очень часто после обновления Windows 10 возникают проблемы при подключении по RDP. А точнее не удается подключиться по RDP, потому, что возникает ошибка CredSSP. Это довольно распространенное явление, связанное с обновлением безопасности протокола RDP. Соответсвтвенно возникает различие в протоколе между вашей обновленной версией Windows и той версией, которая установлена на удаленном сервере.
В данной статье мы детально покажем, что нужно сделать, чтобы решить проблему подключения к RDP CredSSP. Будут показаны пути решения для двух версий Windows: Windows 10 HOME и Windows 10 PRO.
Решение для Windows 10 HOME
Запустите на вашем компьютере (том, с которого хотите подключиться к серверу) командную строку от имени администратора.
REG ADD HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters /v AllowEncryptionOracle /t REG_DWORD /d 2
Эта команда вносит изменения в реестр Windows, разрешая вашему компьютеру подключаться с протоколом шифрования CredSSP к ещё необновлённому серверу.
Если в результате выполнения вы получили ошибку «Отказано в доступе», значит вы запустили командную строку НЕ от имени администратора (см. на скриншоте выше как запускается командная строка корректно).
Решение CredSSP для Windows 10 PRO
В папке «Credentials Delegation» («Передача учетных данных») найдите параметр «Encryption Oracle Remediation» («Исправление уязвимости шифрующего оракула»), откройте его, включите его использование, выбрав «Enabled» («Включено») и установите значение параметра в выпадающем списке на «Vulnerable» («Оставить уязвимость»)
После этого вы сможете подключиться к серверу по RDP. Ошибка при проверке подлинности CredSSP больше не возникнет.
Источник
Ошибка при удаленном подключении «… Указанная функция не поддерживается … исправление шифрования CredSSP …»
В одно прекрасное утро у некоторых клиентов возникла такая ошибка:
Произошла ошибка при проверке подлинности
Указанная функция не поддерживается
Причиной ошибки может быть исправление шифрования CredSSP.
Возникает она при попытке подключиться по 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) Номера пакетов для серверов — ссылки на соответствующие статьи и загрузки оффлайн пакетов.
3 варианта решения проблемы CredSSP:
если ваша ОС русифицирована, то:
3. В папке «Credentials Delegation» («Передача учетных данных») найдите параметр «Encryption Oracle Remediation» («Исправление уязвимости шифрующего оракула»), откройте его, включите его использование, выбрав «Enabled» («Включено») и установите значение параметра в выпадающем списке на «Vulnerable» («Оставить уязвимость»)
После выполнения этих действий на вашем ПК, вы сможете подключаться к серверу также, как и раньше, но это не решение проблемы безопасности.
Как только вы подключились к серверу, установите обновления как это делается в любой десктопной версии Windows.
Подробнее о CVE-2018-0886 | CredSSP Remote Code Execution Vulnerability в статье TechCenter Microsoft
Почему 8 мая?
В статье по самой первой ссылке описана история обновлений CredSSP для CVE-2018-0886 и там есть строки:
An update to change the default setting from Vulnerable to Mitigated.
Related Microsoft Knowledge Base numbers are listed in CVE-2018-0886.
Дословный перевод: «Обновление изменило настройку по умолчанию с уязвимый на умеренный. Подробности…». Т.е. с 8 мая путем установки обновления меняется параметр, препятствующий подключению с компьютеров, на которых отсутствует обновление).
Источник
После 8 мая 2018 года, многие пользователи операционных систем Windows столкнулись с проблемой, в результате которой при попытке зайти через удаленный рабочий стол на другой компьютер под управлением ОС Windows (или же при использовании remoteapp), они получают следующую ошибку:
Произошла ошибка при проверке подлинности.
Указанная функция не поддерживается
Причиной ошибки может быть исправление шифрования CredSSP.
Общая информация
Скриншот с текстом ошибки
Способ 1: Установка обновления для исправления шифрования CreedSSP
Причиной данной ошибки является отсутствие обновления CVE-2018-0886 на стороне сервера или того компьютера, на который вы пытаетесь подключиться, используя удаленный рабочий стол (RDP). Для её устранения достаточно просто установить данное обновление на том компьютере, который выступает в роли сервера. Взять обновление для необходимой версии ОС можно по ссылкам ниже:
Способ 2: Отключение уведомления об ошибке шифрования CreedSSP через групповые политики
Если же установить обновления по какой-то причине невозможно, то можно отключить данное уведомление об ошибке. Для этого, на компьютере, который выступает в роли клиента, проводим следующие действия:
Способ 3: Отключение уведомления об ошибке шифрования CreedSSP путем правки реестра
В том случае, если в вашей редакции Windows отсутствует редактор групповых политик (например Windows 10 Домашняя), то тогда придется внести нужные правки в реестр вручную. Для этого, на компьютере, который выступает в роли клиента, проводим следующие действия:
Для тех, кто не хочет возиться с реестром, достаточно просто выполнить команду приведенную ниже, в командной строке с правами администратора:
Источник
Ошибка RDP подключения: CredSSP encryption oracle remediation
После обновления безопасности, которое было выпущено после мая 2018 года, при попытке подключиться к RDP серверу (удаленному рабочему столу) пользователи могут столкнуться с ошибкой CredSSP encryption oracle remediation. В каких случаях может возникнуть эта проблема:
Видео по теме
Попробуем разобраться с тем, что означает RDP ошибка CredSSP encryption oracle remediation и как ее можно исправить.
Итак, при попытке подключения к приложению RemoteApp на RDS серверах под Windows Server 2016 / 2012 R2 / 2008 R2, или к удаленным рабочим столам других пользователей по протоколу RDP (на Windows 10, 8.1 или 7), появляется ошибка:
Данная ошибка связана с тем, что на Windows Server или на обычной десктопной версии Windows, к которой вы пытаетесь подключится по RDP, не устанавлены обновления безопасности Windows (как минимум с марта 2018 года).
В марте 2018 Microsoft выпустила обновление, закрывающее возможность удаленного выполнения кода с помощью уязвимости в протоколе CredSSP (Credential Security Support Provider). В мае 2018 было опубликовано дополнительное обновление, в котором по-умолчанию клиентам Windows запрещается подключаться к удаленным RDP серверам с уязвимой версией протокола CredSSP.
Ошибка RDP клиента появляется после установки следующих обновлений безопасности:
Для восстановления удаленного подключения к рабочему столу можно удалить обновления безопасности на клиенте, с которого выполняется RDP подключение (но это крайне не рекомендуется, т.е. есть более безопасное и правильное решение).
Для решения проблемы вы можете временно на компьютере-клиенте, с которого вы подключаетесь по RDP, отключить проверку версии CredSSP на удаленном компьютере. Это можно сделать через редактор локальных групповых политик.
Политика Encryption Oracle Remediation предлагает 3 доступных значения защиты от CredSSP уязвимости:
Если у вас отсутствует редактор локальных GPO (например, в Home редакциях Windows), вы можете внести изменение, разрешающее RDP подключение к серверам с непропатченной версия CredSSP, напрямую в реестр с помощью команды:
REG ADD HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters /v AllowEncryptionOracle /t REG_DWORD /d 2
Вы можете изменить этот параметр в реестре сразу на множестве компьютеров в AD с помощью доменной GPO (консоль gpmc.msc) или таким PowerShell скриптом (список компьютеров в домене можно получить с помощью командлета Get-ADComputer из модуля >RSAT-AD-PowerShell):
После успешного подключения к удаленному RDP серверу (компьютеру) нужно установить на нем актуальные обновления безопасности через службу Windows Update (проверьте, что служба включена) или вручную. Скачайте и установите последние кумулятивные обновления Windows как показано выше.
После установки обновлений и перезагрузки сервера, не забудьте отключить политику на клиентах (либо выставить ее на Force Updated Clients), или вернуть значение 0 для ключа реестра AllowEncryptionOracle. В этом случае, ваш компьютер не будет подвержен риску подключения к незащищенным хостам с CredSSP и эксплуатации уязвимости.
REG ADD HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters /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:
В этом примере видно, что последние обновления безопасности Windows устанавливалось 17 июня 2018 года. Скачайте и установите более новый MSU файл с кумулятивным обновлением для вашей редакции Windows (смотрите выше).
Источник
Введение
Очередное обновление 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 HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters /v AllowEncryptionOracle /t REG_DWORD /d 2
Не забудьте отключить фичу после обновления терминального сервера:
REG ADD HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters /v AllowEncryptionOracle /t REG_DWORD /d 0
Запустив .reg файл
Содержимое .reg файла следующее:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystemCredSSP] [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters] "AllowEncryptionOracle"=dword:00000002
Надеюсь смог помоч с возникшей проблемой работы протокола CredSSP при подключении к удалённому рабочему столу. 😀