Обновлено 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 (смотрите выше).
Windows Server 2016, all editions Windows Server 2012 R2 Standard Windows Server 2012 Standard Windows 8.1 Windows 10 Windows 7 Windows 10, version 1511, all editions Windows 10, version 1607, all editions Windows 10, version 1703, all editions Windows 10, version 1709, all editions Windows Server 2016 Windows Server 2008 R2 Standard Windows Server 2008 Foundation Windows Server 2008 Enterprise without Hyper-V Windows Server 2008 Service Pack 2 Windows Server 2008 Datacenter Windows Server 2008 for Itanium-Based Systems Windows Server 2008 Datacenter without Hyper-V Windows Server 2008 Enterprise Windows Server 2016 Standard Windows Server 2016 Essentials Windows Server 2016 Windows Server version 1709 Windows Server version 1803 Windows Vista Service Pack 2 Windows Server 2008 R2 Enterprise Windows Server 2008 R2 Datacenter Windows Server 2008 R2 Web Edition Windows 7 Enterprise Windows 7 Ultimate Windows 7 Starter Windows 7 Home Premium Windows 7 Professional Windows 7 Home Basic Windows Server 2008 R2 Foundation Windows Server 2008 R2 Service Pack 1 Windows 7 Service Pack 1 Windows Server 2012 Essentials Windows Server 2012 Datacenter Windows Server 2012 Foundation Windows Server 2012 R2 Datacenter Windows Server 2012 R2 Essentials Windows RT 8.1 Windows Server 2012 R2 Foundation Windows 8.1 Pro Windows 8.1 Enterprise Windows Server 2008 Web Edition Windows Server 2008 Standard Еще…Меньше
Аннотация
Протокол поставщика поддержки учетных данных (CredSSP) является поставщиком аутентификации, который обрабатывает запросы на аутентификацию для других приложений.
Уязвимость удаленного выполнения кода существует в неисправленных версиях CredSSP. Злоумышленник, успешно использующий эту уязвимость, может передавать учетные данные пользователей для выполнения кода в целевой системе. Любое приложение, которое зависит от CredSSP для проверки подлинности, может быть уязвимым для такого типа атак.
Это обновление безопасности устраняет уязвимость, исправляя, как CredSSP проверяет запросы в процессе проверки подлинности.
Чтобы узнать больше об уязвимости, см. CVE-2018-0886.
Обновления
13 марта 2018 года
Первоначальный релиз 13 марта 2018 года обновляет протокол проверки подлинности CredSSP и удаленные настольные клиенты для всех затронутых платформ.
Смягчение состоит в установке обновления на всех подходящих клиента хитрое и серверных операционных системах, а затем с использованием включенных настроек групповой политики или эквивалентов на основе реестра для управления параметрами настройки на компьютерах клиента и сервера. Мы рекомендуем администраторам применять политику и как можно скорее настроить ее на «Принудительно обновляемых клиентов» или «Смягченные» на компьютерах клиентов и серверов. Эти изменения потребуют перезагрузки затронутых систем.
Обратите пристальное внимание на пары параметров групповой политики или реестра, которые приводят к «заблокированным» взаимодействиям между клиентами и серверами в таблице совместимости позже в этой статье.
17 апреля 2018 года
Обновление удаленного настольного клиента (RDP) в KB 4093120 усилит сообщение об ошибке, которое представляется, когда обновленный клиент не подключится к серверу, который не был обновлен.
8 мая 2018 года
Обновление для изменения параметра по умолчанию с уязвимого на смягченный.
Похожие номера базы знаний Microsoft перечислены в CVE-2018-0886.
По умолчанию, после установки этого обновления, исправленные клиенты не могут общаться с неисправленными серверами. Используйте матрицу совместимости и параметры групповой политики, описанные в этой статье, чтобы включить «разрешенную» конфигурацию.
Групповая политика
Путь политики и имя настройки |
Описание |
Политический путь: Компьютерная конфигурация — Настройка имени: Восстановление шифрования Oracle |
Шифрование оракула исправления Эта настройка политики применяется к приложениям, использующему компонент CredSSP (например, удаленное подключение к рабочему столу). Некоторые версии протокола CredSSP уязвимы для атаки оракула шифрования против клиента. Эта политика контролирует совместимость с уязвимыми клиентами и серверами. Эта политика позволяет установить уровень защиты, который вы хотите для уязвимости оракула шифрования. Если вы включите эту настройку политики, поддержка версии CredSSP будет выбрана на основе следующих вариантов: Силовые обновленные клиенты — Клиентские приложения, которые используют CredSSP, не смогут вернуться к небезопасным версиям, а службы, которые используют CredSSP, не будут принимать неисправленных клиентов. Заметка Эта настройка не должна быть развернута до тех пор, пока все удаленные узлы не поддержат новейшую версию. Смягчено — Клиентские приложения, которые используют CredSSP, не смогут вернуться к небезопасным версиям, но службы, которые используют CredSSP, будут принимать неисправленных клиентов. Уязвимые — Клиентские приложения, которые используют CredSSP, подвергают удаленные серверы атакам, поддерживая резервные для небезопасных версий, а службы, которые используют CredSSP, будут принимать неисправленных клиентов. |
Политика группы восстановления шифрования Oracle поддерживает следующие три варианта, которые должны быть применены к клиентам и серверам:
Настройка политики |
Значение реестра |
Поведение клиента |
Поведение сервера |
Силы обновленных клиентов |
0 |
Клиентские приложения, которые используют CredSSP, не смогут вернуться к небезопасным версиям. |
Службы, использующие CredSSP, не принимают неисправленных клиентов. Заметка Эта настройка не должна быть развернута до тех пор, пока все клиенты Windows и сторонних CredSSP не поддержат новейшую версию CredSSP. |
Смягчить |
1 |
Клиентские приложения, которые используют CredSSP, не смогут вернуться к небезопасным версиям. |
Услуги, которые используют CredSSP будет принимать неисправленных клиентов. |
Уязвимых |
2 |
Клиентские приложения, которые используют CredSSP, подвергают удаленные серверы атакам, поддерживая резервные для небезопасных версий. |
Услуги, которые используют CredSSP будет принимать неисправленных клиентов. |
Второе обновление, выпущенное 8 мая 2018 года, изменит поведение по умолчанию на опцию «Mitigated».
Заметка Любое изменение в исправлении шифрования Oracle требует перезагрузки.
Значение реестра
Предупреждение Серьезные проблемы могут возникнуть, если вы измените реестр неправильно, используя редактор реестра или с помощью другого метода. Эти проблемы могут потребовать, чтобы вы переустановить операционную систему. Корпорация Майкрософт не может гарантировать, что эти проблемы могут быть решены. Измените реестр на свой страх и риск.
Обновление вводит следующую настройку реестра:
Путь регистрации |
HKLMSoftwareMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters |
Значение |
РазрешитьEncryptionOracle |
Тип даты |
Dword |
Требуется перезагрузка? |
Да |
Матрица совместимости
Необходимо обновить как клиент, так и сервер, иначе клиенты CredSSP с Windows и сторонних компаний не смогут подключиться к Windows или сторонним хостам. Ознакомьтесь со следующей матрицей совместимости сценариев, которые либо уязвимы для эксплойта, либо вызывают эксплуатационные сбои.
Заметка При подключении к серверу Windows Remote Desktop сервер может быть настроен для использования механизма резервного копирования, использующий протокол TLS для проверки подлинности, и пользователи могут получить другие результаты, чем описано в этой матрице. Эта матрица описывает только поведение протокола CredSSP.
Сервера |
|||||
Неисправлено |
Силы обновленных клиентов |
Смягчить |
Уязвимых |
||
Клиента |
Неисправлено |
Разрешены |
Заблокирован |
Разрешены |
Разрешены |
Силы обновленных клиентов |
Заблокирован |
Разрешены |
Разрешены |
Разрешены |
|
Смягчить |
Заблокирован |
Разрешены |
Разрешены |
Разрешены |
|
Уязвимых |
Разрешены |
Разрешены |
Разрешены |
Разрешены |
Настройка клиента |
CVE-2018-0886 статус патча |
Неисправлено |
Уязвимых |
Силы обновленных клиентов |
Безопасный |
Смягчить |
Безопасный |
Уязвимых |
Уязвимых |
Ошибки журнала событий Windows
Event ID 6041 будет зарегистрирован на исправленных клиентах Windows, если клиент и удаленный хост настроены в заблокированной конфигурации.
Журнал событий |
Система |
Источник событий |
LSA (LsaSrv) |
ИД события |
6041 |
Текст сообщения событий |
Проверка подлинности CredSSP на «lt;hostname»gt; не смогла договориться об общей версии протокола. Удаленный хост предложил версию lt;Protocol Version,gt; которая не допускается шифрованием Oracle Remediation. |
Ошибки, генерируемые парами конфигураций, заблокированными CredSSP, исправленными клиентами RDP Windows
Ошибки, представленные клиентом удаленного рабочего стола без патча от 17 апреля 2018 г. (KB 4093120)
Неисправленные клиенты pre-Windows 8.1 и Windows Server 2012 R2 в паре с серверами, настроенными с «Обновленными клиентами» |
Ошибки, генерируемые парами конфигураций, заблокированными CredSSP патчированными Windows 8.1/Windows Server 2012 R2 и более поздними клиентами RDP |
Произошла ошибка аутентификации. Токен, поставляемый в функцию, недействителен |
Произошла ошибка аутентификации. Запрошенная функция не поддерживается. |
Ошибки, представленные удаленного настольного клиента с 17 апреля 2018 патч (KB 4093120)
Неисправленные предварительно Windows 8.1 и Windows Server 2012 R2 клиенты в паре с серверами, настроенными с » Сила Обновленные Клиенты» |
Эти ошибки генерируются парами конфигураций, заблокированными CredSSP, исправленными Windows 8.1/Windows Server 2012 R2 и более поздними клиентами RDP. |
Произошла ошибка аутентификации. Токен, поставляемый в функцию, является недействительным. |
Произошла ошибка аутентификации. Запрошенная функция не поддерживается. Удаленный компьютер: Злт;хост-имя Это может быть связано с исправлением credSSP шифрования oracle. Для получения дополнительной информации см https://go.microsoft.com/fwlink/?linkid=866660. |
Сторонние удаленные настольные клиенты и серверы
Все сторонние клиенты или серверы должны использовать последнюю версию протокола CredSSP. Пожалуйста, свяжитесь с поставщиками, чтобы определить, совместимо ли их программное обеспечение с последним протоколом CredSSP.
Обновления протокола можно найти на сайте документации протокола Windows.
Изменения файлов
Следующие системные файлы были изменены в этом обновлении.
-
tspkg.dll
Файл credssp.dll остается неизменным. Для получения дополнительной информации, пожалуйста, просмотрите соответствующие статьи для информации о версии файла.
Нужна дополнительная помощь?
После обновления безопасности, которое было выпущено после мая 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 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 как показано выше.
Для 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 (смотрите выше).
In March 2018, Microsoft released a security update that fixes a remote code execution vulnerability in the Credential Security Support Provider Protocol (CredSSP). This vulnerability (CVE-2018–0886) allows an attacker to remotely execute arbitrary code on a vulnerable Windows host with an open RDP port (TCP/3389). Any app that used the CredSSP provider for authentication may be vulnerable to this type of attack. In May 2018, an update “2018-05 Security only/Monthly Rollup” was released. It blocks the RDP connection to computers with an affected version of CredSSP.
When you try to connect to a remote computer with a vulnerable CredSSP version from Windows 10/Windows Server 2016, you receive the Remote Desktop Connection error:
An authentication error has occurred.
The function is not supported.
Remote Computer: hostname
This could be due to CredSSP encryption oracle remediation.For more information, see the link.
On Windows 7, the CredSSP error looks like this:
An authentication error has occurred.
The function requested is not supported.
Remote computer: hostname
Note. CredSSP protocol (Credential Security Support Provider) is a built-in Windows authentication provider that handles authentication requests from other services and applications.
To fix This could be due to credssp encryption oracle remediation error, you need to install the latest Windows security updates on the remote computer. You can install the latest Cumulative Update for your Windows version. You can download the update manually via Microsoft Update Catalog or install it via Windows Update or WSUS.
Hint. CredSSP authentication error appears only when you try to connect via RDP from a computer on which the latest security updates are installed to a non-updated computer (for example, a computer that never gets updates, or a clean installed device with a Windows 10/Windows Server 2016 build that was released before March 2018).
There is a workaround allowing you to temporarily connect to a computer with a vulnerable version of CredSSP. For example, you made a clean install of Windows Server 2016 to a virtual machine or physical host and now you want to remotely connect to the server to configure Windows Update/WSUS settings and install Windows security updates.
To do this, you need to configure a special Group Policy parameter named Encryption Oracle Remediation on your computer from which you are establishing the Remote Desktop connection.
- Press Win+R, type gpedit.msc, and press Enter;
- Go to the following section of the Local Group Policy Editor: Computer Configuration > Administrative Templates > System > Credentials Delegation;
- Open the policy setting Encryption Oracle Remediation;
- Change its state to Enabled, and set Vulnerable in the Protection Level field;
- Update the Group Policy settings using the gpupdate command:
gpupdate /force
Hint. You can also allow your computer to connect to a host with vulnerable versions of CredSSP through the registry. Run the following command through an elevated command prompt:
reg add HKLMSoftwareMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters /f /v AllowEncryptionOracle /t REG_DWORD /d 2
Now you can connect to the remote host via RDP and install the updates.
There are 3 options in the “Encryption Oracle Remediation” policy:
- Vulnerable — the client can connect to vulnerable computers;
- Mitigated — the client cannot connect to vulnerable servers, but the servers can allow vulnerable clients to connect;
- Force Updated Clients — secure RDP CredSPP interoperability layer.
If from a computer that doesn’t have the CredSPP security update installed you can’t connect to an updated RDP/RDS host with the “Force updated clients” option enabled, you can allow the server to accept connections with an affected version of CredSPP. To do this, you need to enable the policy with the Mitigated value on the server. In this way, to make changes to the server you can remotely connect to it via PowerShell under admin credentials:
Enter-PSSession -ComputerName RDSServer01 -Credential RDSServer01administrator
And allow the connection:
Set-ItemProperty -Path 'HKLM:SoftwareMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters' -name "AllowEncryptionOracle" 2 -Type DWord
Another way to quickly connect to a host with a vulnerable CredSSP version is to disable Network Level Authentication (NLA) for RDP connections. To do this:
- Open System Properties by running the sysdm.cpl command;
- Go to the Remote tab and disable the option Allow connections only from computers running Remote Desktop with Network Level Authentication (recommended
- Save your changes by clicking OK.
You can also disable NLA for RDP connection using the PowerShell command:
Set-ItemProperty -Path 'HKLM:SystemCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp' -name "UserAuthentication" -Value 0
Now you will be able to connect to the remote host via RDP, but this is not a security solution. After that, you need to go to Settings > Update and Security > Windows Update (you can go to this section by running the command ms-settings:windowsupdate). Click on the Check for Updates button. Wait for Windows to download and install the latest security updates.
Here we collected direct links to download MSU updates (security-only updates) that fix the CredSSP vulnerability for older versions of Windows:
- Windows Server 2016 and Windows 10 LTSB — KB4103723
- Windows Server 2012 R2 and Windows 8.1 — KB4103715
- Windows Server 2008 R2 SP1 and Windows 7 Service Pack 1 — KB4103712
Note. Old Windows 10 builds such as 1507 (original release, RTM) and 1511 don’t have security patches to fix the CredSSP CredSSP Oracle remediation vulnerability. The fact is that the period of support for these Windows 10 builds ended in 2018 and no new updates have been released for them since that time. Update your Windows 10 to the latest build available.
After upgrading, don’t forget to disable the policy or reset the AllowEncryptionOracle registry value to its original value:
reg add HKLMSoftwareMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters /f /v AllowEncryptionOracle /t REG_DWORD /d 0
And enable NLA (if you disabled it earlier):
reg add "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-TCP" /v UserAuthentication /t REG_DWORD /d 1 /f
In all cases, Microsoft always recommends installing the latest Windows updates on both the RDP server and the client.
- About
- Latest Posts
I enjoy technology and developing websites. Since 2012 I’m running a few of my own websites, and share useful content on gadgets, PC administration and website promotion.
Утро пятницы началось с жалоб некоторых пользователей на невозможность подключится к удаленному рабочему столу Windows Server 2008 R2 и Windows Server 2012 R2.
Произошла ошибка при проверке подлинности. Указанная функция не поддерживается.
Причиной ошибки может быть исправление шифрования CredSSP. Дополнительные сведения см. статье https://go.microsoft.com/fwlink/?linkid=866660
Причиной отказа в подключении послужило обновление безопасности Windows, закрывающее уязвимости в протоколе CredSSP (бюллетень CVE-2018-0886), в результате чего клиентам запрещалось подключаться к удаленным RDP серверам с непропатченой версией CredSSP. Таким образом, клиентские машины, установившие майские обновления остались не при делах.
Есть несколько путей решения проблемы. Наиболее правильным я считаю всё-таки установку обновления для закрытия уязвимости CredSSP на сервере, однако такое решение может выйти боком в некоторых случаях. Приведу простой пример когда не стоит гнаться за обновлениями.
В сети имеются компьютеры на старой версии Mac OS X (10.7.5), для которых не существует свежей версии RDP-клиента и после такого обновления теряется возможность работы с сервером. Вопрос безопасности соединения мобильных пользователей в таком случае решается VPN туннелем.
Так что, для начала рассмотрим вариант, позволяющий убрать уведомление безопасности и блокировку подключения с установленным обновлением безопасности без обновления самого сервера. Удаление самого обновления, конечно решает проблему, но неужели вы будете заниматься этим постоянно?
Отключение уведомления об ошибке шифрования CreedSSP на клиенте
Можно пойти двумя путями — внести изменения через редактор локальных групповых политик (не прокатит в редакциях Windows Home), либо напрямую в реестр с помощью командной строки. Второй способ более быстрый и универсальный — в командной строке, запущенной от имени администратора, выполним:
REG ADD HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters /v AllowEncryptionOracle /t REG_DWORD /d 2
Если же вам удобнее использовать редактор локальных групповых политик, то запустив редактор gpedit.msc, переходим в раздел:
Конфигурация компьютера -> Административные шаблоны -> Система -> Передача учетных данных
(Computer Configuration -> Administrative Templates -> System -> Credentials Delegation)
Открываем параметр с именем «Исправление уязвимости шифрующего оракула» (Encryption Oracle Remediation), и нажимаем «Включено» («Enabled»). Уровень защиты ставим как «Оставить уязвимость» (Vulnerable).
Обновить политики на компьютере можно командой, после чего подключение по RDP должно заработать:
gpupdate /force
Установка обновления для исправления шифрования CreedSSP на сервере
Установить отсутствующие обновления безопасности на сервере можно через службу Windows Update или вручную. Чтобы не тянуть кучу лишнего, вот прямые ссылки на обновления для разных версий Windows Server:
- Windows Server 2012 R2 / Windows 8: KB4103715
- Windows Server 2008 R2 / Windows 7: KB4103712
- Windows Server 2016 / Windows 10 1607: KB4103723
Учтите, что после установки обновления сервер уйдет в перезагрузку.
Подписывайтесь на канал
Яндекс.Дзен
и узнавайте первыми о новых материалах, опубликованных на сайте.
Начиная с 8 мая 2018 года, после установки обновлений на свой персональный компьютер, многие пользователи виртуальных серверов под управлением ОС Windows Server столкнулись с ошибкой «CredSSP encryption oracle remediation» при попытке подключения к удалённому рабочему столу:
На самом деле это не ошибка, а уведомление о проблеме безопасности давно необновлённого сервера.
13 марта 2018 года вышла
информация об уязвимости в протоколе CredSSP
и первые патчи для ее закрытия в серверных операционных системах. Эта уязвимость позволяет в обход проверки выполнять на самом сервере от имени передаваемых учётных записей различные команды, включая установку и удаление произвольного программного обеспечения, изменение и удаление данных на сервере, создание учётных записей с произвольными правами.
С этой проблемой не столкнулись те, кто своевременно устанавливал накопительные обновления на свой сервер. В марте они вышли для серверных операционных систем, для десктопных ОС они автоматически установились с прочими обновлениями в мае.
Для решения проблемы первым делом нужно к нему все-таки подключиться. Проще всего это сделать через авариный режим работы с сервером в вашем личном кабинете – такое есть почти у кажого провайдера VPS / VDS серверов. На VPS.house это делается простым кликом на скриншот экрана сервера в личном кабинете:
Или же вы можете на время просто отключить на компьютере, с которого пытаетесь подключаться, данное блокирующее уведомление о проблеме безопасности:
Инструкция для тех, кто пользуется редакцией Windows HOME:
[развернуть]
1. Запустите на вашем компьютере (том, с которого хотите подключиться к серверу) командную строку от имени администратора
2. Наберите следующий текст в командной строке (можно скопировать и вставить):
REG ADD HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters /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» при подключении к нему уже не будет.
Windows, Windows 10, Windows 7, Windows 8, Windows Server, Безопасность
- 10.05.2018
- 142 569
- 59
- 23.05.2022
- 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 Домашняя), то тогда придется внести нужные правки в реестр вручную. Для этого, на компьютере, который выступает в роли клиента, проводим следующие действия:
- Открываем редактор реестра, и переходим по следующему пути (в случае его отсутствия, его необходимо создать):
HKLMSoftwareMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters
- Ищем параметр DWORD под названием AllowEncryptionOracle, и ставим значение 2. Если такого параметра нет, то создаем его.
- Перезагружаем компьютер
Для тех, кто не хочет возиться с реестром, достаточно просто выполнить команду приведенную ниже, в командной строке с правами администратора:
REG ADD HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters /v AllowEncryptionOracle /t REG_DWORD /d 2
Введение
Очередное обновление 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 при подключении к удалённому рабочему столу. 😀
Весной 2018 года пользователи Windows начали сталкиваться с ошибкой, которая ранее практически не встречалась.
Вскоре выяснилось, что сообщение «Еncryption oracle remediations» возникало при попытке осуществить соединение клиентского ПК с удалённой машиной, и происходило это при следующих обстоятельствах:
Рассмотрим причины возникновения ошибки и как можно исправить ситуацию.
Почему появляется ошибка CredSSP
Итак, мы уже знаем, что на многих версиях Виндовс (серверных вариантов 2016/2012/2008, за исключением 2013, а также клиентских, начиная с 7) без установленных кумулятивных патчей, если вы пытаетесь осуществить соединение с удалённым ПК по RDS/RDP, может возникнуть проблема Remote Desktop connection.
Другими словами, при удалённом подключении к компьютеру во время процедуры проверки подлинности шифрования произошла ошибка CredSSP, причиной которой может быть несовпадение протоколов шифрования. Это происходит потому, что на одной из машин (клиентской или удалённой) не установлены соответствующие обновления, вышедшие после марта 2018 года.
Именно тогда Microsoft начала распространять обновление, направленное на защиту выявленной уязвимости протокола CredSSP, грозящей вероятностью удалённого выполнения кода злоумышленниками. Технические детали проблемы достаточно подробно приведены в бюллетене CVE2018-0886. Спустя два месяца вышло ещё одно обновление, вводившее по умолчанию запрет на возможность клиентской машины Windows связываться с удалённым сервером, если на нём версия протокола CredSSP не была пропатчена мартовским обновлением.
То есть если у вас стоит клиентская Windows с вовремя установленными майскими обновлениями, а вы совершаете попытку соединиться с удалёнными серверами, на которых, начиная с весны 2018 года, не производилась установка кумулятивных обновлений безопасности, такие попытки будут заканчиваться аварийно. При этом клиентская машина получит сообщение о невозможности выполнить удалённое подключение вида CredSSP.
Итак, причиной возникновения ошибки может оказаться исправление разработчиками протокола шифрования CredSSP, появившееся в результате выхода следующих обновлений:
- для серверной версии 2008 R2 и «семёрки» – KB4103718;
- для WS 2016 – KB4103723;
- для WS 2012 R2 и Windows 8.1 – KB4103725;
- для «десятки» сборки 1803 – KB4103721;
- для Windows 10 сборки 1609 – KB4103723;
- для «десятки» сборки 1703 – KB4103731;
- для W10 build 1709 — KB4103727.
В указанном перечне указаны номера обновлений, вышедших в мае 2018 года, в настоящее время необходимо устанавливать более свежие пакеты накопительных (их ещё называют кумулятивными) обновлений. Выполнить эту операцию можно несколькими способами. Например, обратившись к службе Windows Update, базирующейся на серверах разработчика, или с использованием локального сервера WSUS. Наконец, вручную скачать необходимые заплатки безопасности можно через Microsoft Update Catalog (это каталог обновлений Виндовс).
В частности, для поиска обновлений для своего компьютера, на котором установлена «десятка» сборки 1803, за май 2020 года поисковый запрос должен иметь следующий вид: windows 10 1803 5/*/2020.
Способы решения проблемы
Существует два пути выхода из сложившейся ситуации. Как нетрудно догадаться, один из них – удаление обновлений безопасности на клиентском компьютере, установленных после марта 2018 года. Разумеется, такой шаг считается весьма рискованным и настоятельно не рекомендуется, поскольку имеются другие варианты решения проблемы. Но он – самый простой в исполнении, и его можно использовать для однократной попытки доступа к удалённой машине.
А теперь рассмотрим альтернативные «правильные» варианты исправления ошибки, возникающей при проверке подлинности CredSSP.
Один из них – отключить (одноразово) процедуру проверку версии CredSSP на удалённом ПК во время попытки соединения по RDP. В этом случае вы остаётесь защищёнными, патчи остаются установленными, риск есть только во время сеанса связи.
Алгоритм действий:
Выключение политики EncryptionOracleRemediation позволит вашему компьютеру подключаться даже к непропатченным удалённым ПК и серверам без наличия свежих обновлений безопасности.
ВНИМАНИЕ. Напомним, что такой способ устранения в Windows ошибки несовпадения шифрования CredSSP не рекомендуется для постоянного применения. Лучше сообщите администратору удалённой машины о проблеме несоответствия протоколов шифрования для установки соответствующих обновлений.
Рассмотрим, как работает политика EOR. Она имеет три уровня защиты от уязвимостей протокола CredSSP при отсутствии патчей:
- Force Updated Clients – базовый уровень защиты, полный запрет подключения со стороны удалённой машины на подключение клиентских ПК без установленных обновлений. Как правило, эту политику активируют после полного обновления в рамках всей инфраструктуры сети, то есть после установки свежих обновлений на все связанные сетью рабочие станции, включая серверы, к которым осуществляется удалённое подключение.
- Mitigated – этот уровень защиты блокирует любые попытки подключения к серверам, на которых протокол CredSSP не пропатчен. При этом все остальные службы, работающие по CredSSP, не затрагиваются.
- Vulnerable – зашита минимального уровня, снимающая запрет на удалённый доступ к RDP машине при наличии уязвимой версии CredSSP.
Отметим, что на некоторых клиентских машинах (например, домашней версии Виндовс) редактор локальных политик в сборку не включён. В этом случае внесение изменений, позволяющих связываться с удалёнными машинами без пропатченных обновлений на серверной стороне, вносится вручную правкой реестра.
Для этого вводим в консоль «Выполнить» строку:
REG ADD HKMLSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters /v AllowEncryptionOracle /t REG_DWORD /d 2
Эту процедуру можно применить ко всем рабочим станциям, используя доменную 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
}
}
Но чтобы избежать лишнего риска, необходимо сразу после подключения к удаленной машине при наличии соответствующих прав установить актуальные обновления, используя службу Windows Update (она должна быть включена). Эту операцию можно выполнить вручную, скачав свежие кумулятивные обновления и выполнив их установку в соответствии с указанным ранее алгоритмом.
Если вы хотите исправить ошибку шифрования CredSSP на Виндовс XP/Server 2003, которые в настоящее время уже не поддерживаются, но в силу определённых обстоятельств вами используются, необходимо все эти машины пропатчить Embedded POSReady 2009.
ВАЖНО. После успешной попытки связаться с сервером, установки на нём кумулятивных патчей и перезагрузки сервера обязательно выполните обратные преобразования в политике клиентской машины, выставив значение в политике ForceUpdatedClients в стоявшее там по умолчанию или заменив значение ключа AllowEncryptionsOracle с 2 на исходный 0. Таким образом, вы снова защитите свой компьютер от уязвимостей, присущих для непропатченного RDP соединения, произведя исправление шифрования CredSSP.
Мы не упомянули ещё об одном сценарии возникновения ошибочного сообщения «Еncryption oracle remediation» – когда с удалённым сервером всё в порядке, а непропатченным оказывается клиентский компьютер. Она будет возникать, если на удалённой машине активирована политика, блокирующая попытки установления связи с непропатченными клиентскими ПК.
В данном случае удалять обновление безопасности на клиенте не нужно. При неудачной попытке связаться с сервером следует проверить, когда последний раз на клиентской машине производилась установка кумулятивных обновлений безопасности. Выполнить проверку можно посредством использования модуля PSWindowsUpdate, а также выполнив команду в консоле:
gwmi win32_quickfixengineering |sort installed on -desk
Если дата достаточно старая (необязательно до марта 2018 года), установите самое свежее кумулятивное обновление для вашей версии Windows.