Произошла ошибка при проверке подлинности rdp credssp windows server 2016

Обновлено 25.11.2019

rdp logo

Добрый день! Уважаемые читатели и гости 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 encryption oracle remediation

Ну и конечно в русском исполнении:

Произошла ошибка при проверке подлинности. Указанная функция не поддерживается. Удаленный компьютер имя. Причиной ошибки может быть исправление шифрования CredSSP

Причиной ошибки может быть исправление шифрования 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% людей и администраторов совершают одну и туже ошибку, они сразу ставят обновления, не дождавшись пары дней после их выхода. Обычно этого времени хватает, чтобы вендор определил проблемы и отозвал глючное обновление.

после обновления Windows

Уязвимость в протоколе 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. В окне «Система» находим пункт меню «Настройка удаленного доступа»

Отключение NLA для CredSSP

Снимите галку «Разрешить подключение только с компьютеров, на которых работает удаленный рабочий стол  с проверкой подлинности на уровне сети»

Отключение NLA для CredSSP-2

После этого вы легко сможете подключиться к данному компьютеру или серверу, но как быть что вы не можете туда попасть и снять эту галку, тут нам на помощь придет реестр Windows. Вы можете удаленно создать нужные ключи реестра, которые отключат галку NLA или политику CredSSP. Для этого вы можете пойти двумя путями:

  1. Использовать сетевой реестр Windows
  2. Использовать удаленное управление компьютером, например PsExec.exe, я вам с помощью него уже показывал, как открывать порты в брандмауэре, удаленно.

Давайте попробуем через удаленный реестр, для этого открываем Regedit, через окно «Выполнить».

отключить credssp через реестр Windows

Из меню «Файл» выберите пункт «Подключить сетевой реестр», далее найдите нужный вам сервер.

Подключение сетевого реестра

У вас подключится дополнительный реестр с двумя кустами. Переходите по пути (Если у вас не будет CredSSPParameters, то нужно будет их создать):

HKLMSoftwareMicrosoftWindowsCurrentVersion PoliciesSystemCredSSPParameters

Тут вам необходимо создать REG_DWORD ключ с именем AllowEncryptionOracle и значением 2. В данном варианте политика CredSSP выставит Уязвимый уровень — это самый низкий уровень защиты. Это позволит вам подключаться к серверам удаленно, используя RDP. Однако это подвергнет серверы атакам.

credssp в реестре windows

Или можно так же отключить NLA, для этого найдите ветку реестра:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl Terminal ServerWinStationsRDP-Tcp

Найдите там ключ SecurityLayeи выставите ему значение 0, чтобы деактивировать Network Level Authentication.

Теперь то же самое вы можете выполнить и через PsExec.exe, выставив для CredSSP минимальный уровень защиты или же отключить NLA, для этого находясь в cmd в режиме администратора введите команду:

PsExec.exe \w10-cl01 -u rootАдминистратор -p пароль cmd

w10-cl01 — это имя компьютера.

исправление ошибки credssp windows

Далее имея запущенный сеанс cmd для удаленного компьютера, выполните команду:

REG ADD HKLMSoftwareMicrosoftWindows CurrentVersionPoliciesSystemCredSSPParameters /v AllowEncryptionOracle /t REG_DWORD /d 2 (0 вернет все как было)

rdp ошибка credssp

Аналогично можно сделать и для отключения 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.

gpedit.msc windows 10

Вам необходимо перейти в ветку:

Конфигурация компьютера — Административные шаблоны — Система — Передача учетных данных — Исправление уязвимости шифрующего оракула (Computer Configuration — Administrative Templates — System — Credentials Delegation — Encryption Oracle Remediation

Исправление уязвимости шифрующего оракула

Открываем настройку «Исправление уязвимости шифрующего оракула (Encryption Oracle Remediation)». Включаем политику, у вас активируется опция «Уровень защиты», на выбор будет три варианта:

  • Принудительно применять обновленные клиенты (Force Updated Clients) — она будет стоять по умолчанию из-за максимального уровня защиты, вам данную опцию нужно сменить. Это так сказать максимально безопасный уровень взаимодействия клиент, он должен быть в идеале, после установки обновлений на все сервера и компьютеры.
  • Оставить уязвимость (Vulnerable) – клиенты могут подключаться на уязвимые машины.
  • Уменьшить риск (Mitigated) – клиенты не могут подключаться к уязвимым серверам, но серверы могут принимать уязвимые клиенты.

Настройка Encryption Oracle Remediation

Выбираем на время пункт «Оставить уязвимость (Vulnerable)». Сохраняем настройки.

Оставить уязвимость credSSp

После чего вам нужно обновить политику, для этого откройте командную строку и введите 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

CVE-2018-0886 CredSSP Remote Code Execution Vulnerability

На этом у меня все, надеюсь, что вы разобрались в работе CredSSP и научились ей управлять. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.

Обновлено 25.11.2019

rdp logo

Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org, в прошлый раз мы с вами чинили HDD с поврежденной файловой системой и состоянием RAW уверен, что вам удалось это сделать. Сегодня я в очередной раз переведу наш вектор траблшутера в сторону терминальных столов, а именно мы рассмотрим ситуацию, что когда вы пытаетесь  подключиться к удаленному серверу по RDP протоколу, а у вас после ввода логина и пароля, выскакивает ошибка, что вы не прошли проверку подлинности и причиной ошибки может быть исправление шифрования 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 encryption oracle remediation

Ну и конечно в русском исполнении:

Произошла ошибка при проверке подлинности. Указанная функция не поддерживается. Удаленный компьютер имя. Причиной ошибки может быть исправление шифрования CredSSP

Причиной ошибки может быть исправление шифрования 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% людей и администраторов совершают одну и туже ошибку, они сразу ставят обновления, не дождавшись пары дней после их выхода. Обычно этого времени хватает, чтобы вендор определил проблемы и отозвал глючное обновление.

после обновления Windows

Уязвимость в протоколе 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. В окне «Система» находим пункт меню «Настройка удаленного доступа»

Отключение NLA для CredSSP

Снимите галку «Разрешить подключение только с компьютеров, на которых работает удаленный рабочий стол  с проверкой подлинности на уровне сети»

Отключение NLA для CredSSP-2

После этого вы легко сможете подключиться к данному компьютеру или серверу, но как быть что вы не можете туда попасть и снять эту галку, тут нам на помощь придет реестр Windows. Вы можете удаленно создать нужные ключи реестра, которые отключат галку NLA или политику CredSSP. Для этого вы можете пойти двумя путями:

  1. Использовать сетевой реестр Windows
  2. Использовать удаленное управление компьютером, например PsExec.exe, я вам с помощью него уже показывал, как открывать порты в брандмауэре, удаленно.

Давайте попробуем через удаленный реестр, для этого открываем Regedit, через окно «Выполнить».

отключить credssp через реестр Windows

Из меню «Файл» выберите пункт «Подключить сетевой реестр», далее найдите нужный вам сервер.

Подключение сетевого реестра

У вас подключится дополнительный реестр с двумя кустами. Переходите по пути (Если у вас не будет CredSSPParameters, то нужно будет их создать):

HKLMSoftwareMicrosoftWindowsCurrentVersion PoliciesSystemCredSSPParameters

Тут вам необходимо создать REG_DWORD ключ с именем AllowEncryptionOracle и значением 2. В данном варианте политика CredSSP выставит Уязвимый уровень — это самый низкий уровень защиты. Это позволит вам подключаться к серверам удаленно, используя RDP. Однако это подвергнет серверы атакам.

credssp в реестре windows

Или можно так же отключить NLA, для этого найдите ветку реестра:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl Terminal ServerWinStationsRDP-Tcp

Найдите там ключ SecurityLayeи выставите ему значение 0, чтобы деактивировать Network Level Authentication.

Теперь то же самое вы можете выполнить и через PsExec.exe, выставив для CredSSP минимальный уровень защиты или же отключить NLA, для этого находясь в cmd в режиме администратора введите команду:

PsExec.exe w10-cl01 -u rootАдминистратор -p пароль cmd

w10-cl01 — это имя компьютера.

исправление ошибки credssp windows

Далее имея запущенный сеанс cmd для удаленного компьютера, выполните команду:

REG ADD HKLMSoftwareMicrosoftWindows CurrentVersionPoliciesSystemCredSSPParameters /v AllowEncryptionOracle /t REG_DWORD /d 2 (0 вернет все как было)

rdp ошибка credssp

Аналогично можно сделать и для отключения 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.

gpedit.msc windows 10

Вам необходимо перейти в ветку:

Конфигурация компьютера — Административные шаблоны — Система — Передача учетных данных — Исправление уязвимости шифрующего оракула (Computer Configuration — Administrative Templates — System — Credentials Delegation — Encryption Oracle Remediation

Исправление уязвимости шифрующего оракула

Открываем настройку «Исправление уязвимости шифрующего оракула (Encryption Oracle Remediation)». Включаем политику, у вас активируется опция «Уровень защиты», на выбор будет три варианта:

  • Принудительно применять обновленные клиенты (Force Updated Clients) — она будет стоять по умолчанию из-за максимального уровня защиты, вам данную опцию нужно сменить. Это так сказать максимально безопасный уровень взаимодействия клиент, он должен быть в идеале, после установки обновлений на все сервера и компьютеры.
  • Оставить уязвимость (Vulnerable) – клиенты могут подключаться на уязвимые машины.
  • Уменьшить риск (Mitigated) – клиенты не могут подключаться к уязвимым серверам, но серверы могут принимать уязвимые клиенты.

Настройка Encryption Oracle Remediation

Выбираем на время пункт «Оставить уязвимость (Vulnerable)». Сохраняем настройки.

Оставить уязвимость credSSp

После чего вам нужно обновить политику, для этого откройте командную строку и введите 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

CVE-2018-0886 CredSSP Remote Code Execution Vulnerability

На этом у меня все, надеюсь, что вы разобрались в работе 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.

windows 10 rdp ошибка подключения 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)”.скачать последние обновления windows из microsoft update catalog

Для восстановления удаленного подключения к рабочему столу можно удалить обновления безопасности на клиенте, с которого выполняется RDP подключение (но это крайне не рекомендуется, т.е. есть более безопасное и правильное решение).

Для решения проблемы вы можете временно на компьютере, с которого вы подключаетесь по RDP, отключить проверку версии CredSSP на удаленном компьютере. Это можно сделать через редактор локальных групповых политик. Для этого:

  1. Запустите редактор локальных GPO — gpedit.msc;
  2. Перейдите в раздел политик Computer Configuration -> Administrative Templates -> System -> Credentials Delegation (Конфигурация компьютера -> Административные шаблоны -> Система -> Передача учетных данных);
    групповая политика Encryption Oracle Remediation
  3. Найдите политику с именем Encryption Oracle Remediation (Исправление уязвимости шифрующего оракула). Включите политику (Enabled/ Включено), а в качестве параметра в выпадающем списке выберите Vulnerable / Оставить уязвимость;изменить значение политики CredSSP на Vulnerable
  4. Осталось обновить политики на вашем компьютере (команда
    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

ключ реестра AllowEncryptionOracle

Вы можете изменить этот параметр в реестре сразу на множестве компьютеров в 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

qwmi как узнать дату установки последних обновлений безопасности windows

В этом примере видно, что последние обновления безопасности Windows устанавливалось 17 июня 2018 года. Скачайте и установите более новый MSU файл с кумулятивным обновлением для вашей редакции Windows (смотрите выше).

Весной 2018 года пользователи Windows начали сталкиваться с ошибкой, которая ранее практически не встречалась.

Как исправить ошибку шифрования CredSSP

Вскоре выяснилось, что сообщение «Е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 при отсутствии патчей:

  1. Force Updated Clients – базовый уровень защиты, полный запрет подключения со стороны удалённой машины на подключение клиентских ПК без установленных обновлений. Как правило, эту политику активируют после полного обновления в рамках всей инфраструктуры сети, то есть после установки свежих обновлений на все связанные сетью рабочие станции, включая серверы, к которым осуществляется удалённое подключение.
  2. Mitigated – этот уровень защиты блокирует любые попытки подключения к серверам, на которых протокол CredSSP не пропатчен. При этом все остальные службы, работающие по CredSSP, не затрагиваются.
  3. 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.

Произошла ошибка при проверке подлинности. Указанная функция не поддерживается.Причиной ошибки может быть исправление шифрования CredSSP

Утро пятницы началось с жалоб некоторых пользователей на невозможность подключится к удаленному рабочему столу 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

Учтите, что после установки обновления сервер уйдет в перезагрузку.

Подписывайтесь на канал

Яндекс.Дзен

и узнавайте первыми о новых материалах, опубликованных на сайте.

Клиенты — Windows 10 1803

Серверы — Windows Server 2012R2, 2016

Обновления установлены критические и обновления безопасности все на текущий момент через WSUS.

Все чаще стала появляться знакомая многим ошибка при подключении к RDP к серверам с ошибкой аутентификации из-за CredSSP encryption oracle remediation.

«В этих ваших инторнетах» пишут, что пошло это после установки обновления KB4103721 (однако на своем компуктере я такого обновления не нашел в установленных). На WSUS сервере обновление «установлено или не применимо»
на почти всех компьютерах. К сожалению, report viewer не очень информативен по получению доп информации…

Это первый момент, который несколько «смущает».

Второй момент — это сообщение «лечится установкой обновления:

KB4103715 для 2012R2

KB4103723 для 2016/10

KB4103723 на своем компьютере среди установленных я тоже не вижу. А на WSUS сервере оно есть с оговоркой, что оно для версии Windows 10 1607. По report viewer оно установлено или не применимо так же почти на всех компьютерах.
Что в первом, что во втором случае нет данных от 20 компьютерах. Каких именно сказать не могу, т.к. отчет не информативен=(

Для оперативного решения сего вопроса советуют либо удалить обновление KB4103721 (но не советуют этого делать, что верно). Удалить его не могу — оно не установлено. Второй совет — создать для клиентов политику по пути Computer Configuration
-> Administrative Templates -> System -> Credentials Delegation , в которой параметр Encryption Oracle Remediation должен быть установлен Vulnerable, однако у меня нет такого параметра по этому пути =)

Использую централизованное хранилище шаблонов ADMX. Контроллеры — 2008R2 и 2012R2.

Подскажите, что мне делать?:)

П.С. Есть некоторые опасения по поводу того, что на мой незначительный парк в 200 машин (включая серверы) сервер WSUS не достаточно быстродейственен (жидкая виртуалка на RAID-10 из классических 3,5″ дисков с процессором i3-2100 и 8Гб
ОЗУ — в общем, proliant dl120 gen7).

Ошибка шифрования CredSSP 866660 – как исправить

Рассмотрим способ rdp исправление шифрования CredSSP 866660, который поможет избавиться от ошибки шифрования, возникающей при попытке подключения к удаленному рабочему столу (серверу).

Как устранить ошибку CredSSP

Почему возникает неисправность

Еще в марте 2018 года Microsoft выпустила апдейт системы безопасности Виндовс CredSSP Updates for CVE-2018-0886, который был направлен на устранение критической уязвимости в протоколе защиты пользовательских данных. Это было сделано, чтобы предотвратить реализацию стороннего кода на незащищенном компьютере.

Спустя пару месяцев, Майкрософт дополнительно внесла корректировки в параметры ОС, установив значение уровня подключения – Mitigated (до этого было – Vulnerable). После таких манипуляций большинство юзеров начали сообщать, что у них в rdp произошла ошибка проверки подлинности CredSSP.

Окно ошибки CredSSP

Такое окно выводится сразу, как только Вы укажите имя пользователя и пароль. Уведомление указывает на отсутствие поддержки функции.

На официальном форуме Microsoft сказано, что проблема возникает из-за того, что на клиенте и сервере установлены разные версии обновления безопасности. Поэтому, решения могут быть следующими.


Откат апдейтов на клиентском ПК

Самый простой вариант, но нежелательный с точки зрения последствий. Достаточно открыть перечень установленных обновлений, отыскать нужные и удалить их. Ниже приведен список в соответствии с версией ОС:

список апдейтов безопасности Виндовс


Обновление на стороне сервера

Этот путь рекомендован Майкрософт. Стоит перейти на сайт разработчиков по ссылке, пролистать страницу до раздела «Affected Products», в самой первой колонке таблицы находим свою редакцию Windows, а в столбике «Download» кликаем по URL для скачивания пакета апдейтов CredSSP cve-2018-0886.

Полезный контент:

  • Как удалить Onedrive из проводника Windows 10
  • Appcrash — что это за проблема, как устранить?
  • Отсутствует d3dx9_25.dll — где скачать, как установить в Виндовс
  • Запуск программы невозможен так как отсутствует api ms win crt runtime l1-1-0.dll

Редактирование локальных групповых политик

Решение неактуально для Windows 10 Home (Домашняя), поскольку в этой версии недоступен рассматриваемый инструмент.

Но есть способ добавления нужного функционала в Виндовс, о чём я рассказывал

в этой статье

.

  • Нажимаем клавиатурное сочетание Win + R ;
  • Открывается окно, в котором вводим команду:

gpedit.msc

груповые политики

  • Спустя несколько секунд отобразится редактор ЛГП. Слева увидите перечень папок. Нужно перейти по пути:

Конфигурация ПК | Админ шаблоны | Система | Передача уч. данных

  • Теперь справа загружается перечень политик. Нас интересует пункт, связанный с устранением уязвимостей оракула шифрования (смотрите скриншот ниже). Дважды кликаем по нему для открытия свойств, включаем, и выбираем уровень защиты «Оставить уязвимость»:

Оставляем уязвимость CredSSP в редакторе локальных групповых политик

  • Обязательно сохраняем изменения – кликаем на ОК. перезагружаем компьютер.

Как исправить шифрования CredSSP в Windows 10 8 7

Рассмотрим универсальный метод, который подойдет для любой разновидности ОС Виндовс. Он предполагает внесение корректировок в реестр. Но Вам не придется вручную «копаться» в редакторе. Достаточно воспользоваться специальной командой в утилите PowerShell или CMD, которая автоматически добавит нужный ключ в реестр.

  • Запускаем командную строку от имени администратора:

запуск cmd от администратора

  • Копируем код:

REG ADD HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters /v AllowEncryptionOracle /t REG_DWORD /d 2

  • В окне консоли кликаем правой кнопкой мышки для вставки, нажимаем Enter для отправки на обработку и видим сообщение об успешном завершении операции:

Добавляем параметр в реестр через командную строку

Вот так просто производиться rdp исправление шифрования CredSSP 866660. Можете просмотреть видео инструкцию, если текстовый обзор показался не слишком понятным:

8 мая 2018 г. Microsoft выпустило обновление, которое предотвращает удаленное выполнение кода с помощью уязвимости в протоколе CreedSSP.

После установки данного обновление пользователи не могут подключиться к удаленным ресурсам посредством RDP или RemoteApp. При подключении происходит такая ошибка:

Ошибка проверки подлинности RDP

Рисунок 1 — Ошибка проверки подлинности RDP

Появление ошибки обусловлено установкой данных обновлений безопасности:

  • Windows Server 2016 — обновление KB4103723
  • Windows 10 1609 — обновление KB4103723
  • Windows 10 1703 — обновление KB4103731
  • Windows 10 1709 — обновление KB4103727
  • Windows 10 1803 — обновление KB4103721
  • Windows 7 / Windows Server 2008 R2 — обновление KB4103718
  • Windows 8.1 / Windows Server 2012 R2 — обновление KB4103725

В данной статье мы рассмотрим варианты исправления данной ошибки.

Вариант №1: Убираем проверку подлинности.

Заходим в свойства компьютера, переходим на вкладку Удаленный доступ и снимаем галку с чекбокса.

Проверка подлинности

Рисунок 2 — Проверка подлинности

Вариант №2 (рекомендуемый): Обновление клиентских и серверных ОС.

Устанавливаем специально выпущенные патчи обновления, которые закрыли уязвимость в RDP-клиенте. Данные обновления можно посмотреть на сайте Microsoft. После установки данного обновления, мы обновляем CredSSP.

Вариант №3: Через групповые политики.

Локально заходим в групповые политики устройства, к которому пытаемся подключиться. Для того чтобы открыть редактор групповых политик выполним следующее действие: Нажимаете Win+R, а затем введите gpedit.msc. Переходите по данному пути: Конфигурация компьютера > Административные шаблоны > Система > Передача учетных данных > Защита от атак с использованием криптографического оракула.

В свойствах данной политики выбираем пункт Включено и ниже в параметрах выбираем уровень защиты Оставить уязвимость.

После того, как данные действия выполнены, необходимо зайти в командную строку от имени администратора и выполнить данную команду:

Вариант №4. Редактирование реестра.

Локально заходим на устройство, к которому пытаемся подключиться и нажимаем Win+R. Вводим regedit. После того, как откроется редактор реестра идем по следующему пути:

HKLMSoftwareMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters

Затем находим параметр AllowEncryptionOracle, открываем его и ставим значение 2.

После выполнения данных действий с реестром выполняем перезагрузку устройства.

Нужна помощь в настройке RDP-подключений? Обращайтесь к нам!

13 марта Microsoft опубликовал описание уязвимости CVE-2018-0886 в протоколе проверки подлинности CredSSP, который в частности используется при подключении по RDP к терминальным серверам. Позже Microsoft опубликовал, что будет блокировать подключения к необновлённым серверам, где присутствует данная уязвимость. В связи с чем многие заказчики столкнулись с проблемами подключения по RDP.

В частности, в Windows 7 можно увидеть ошибку: «Произошла ошибка проверки подлинности. Указанная функция не поддерживается»

Windows_7_RDP_error.png

В Windows 10 ошибка расписана более подробно, в частности сказано «Причиной ошибки может быть исправление шифрования CredSSP»:

CredSSP.jpg

Для обхода ошибки со стороны клиента многие советуют отключить групповую политику, путём установки значения Encryption Oracle Remediation в Vulnerable:
с помощью gpedit.msc в Конфигурация компьютера / Административные шаблоны / Система / Передача учётных данных, слева выбрать «Исправление уязвимости шифрующего оракула» (забавный конечно перевод), в настройках поставить «Включено» и выбрать «Оставить уязвимость».

CredSSP_gpedit.jpg

или через реестр (т.к., например, в Windows Home нет команды gpedit.msc):

REG  ADD HKLMSoftwareMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters /v AllowEncryptionOracle /t REG_DWORD /d 2

НО! Так делать не нужно! Т.к. таким образом вы оставляете уязвимость и риски перехвата вашего трафика и пр. конфиденциальные данные, включая пароли. Единственный случай, когда это может быть необходимо, это когда у вас вообще нет другой возможности подключиться к удалённому серверу, кроме как по RDP, чтобы установить обновления (хотя у любого облачного провайдера должна быть возможность подключения к консоли сервера). Сразу после установки обновлений, политики нужно вернуть в исходное состояние.

Если доступ к удалённому серверу есть, то ещё, как временная мера, можно отключить требование NLA (Network Level Authentication), и сервер перестанет использовать CredSSP. Для этого достаточно в Свойствах системы, на вкладке удалённые подключения снять соответствующую галку «Разрешить подключения только с компьютеров, на которых работает удалённый рабочий стол с проверкой подлинности на уровне сети»:

CredSSP_Windows_Disable_NLA.jpg

Но, это тоже неправильный подход.

Правильный подход — это всего-лишь установить нужные обновления на операционную систему, закрывающие уязвимость CVE-2018-0886 в CredSSP, причём, как серверную, куда вы подключаетесь, так и клиентскую, с которой вы подключаетесь.

Список обновлений для всех операционных систем, начиная с Windows 7 и Windows Server 2008 доступен по ссылке: https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/CVE-2018-0886
Выбираете нужную версию операционной системы, скачиваете соответствующее обновление из каталога, устанавливаете и перезагружаетесь. После этого ошибка должна пропасть.
Например, на Windows Server 2016 ссылка на скачивание будет такой: https://www.catalog.update.microsoft.com/Search.aspx?q=KB4103723

Введение

Очередное обновление 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 при подключении к удалённому рабочему столу. 😀

Клиенты — Windows 10 1803

Серверы — Windows Server 2012R2, 2016

Обновления установлены критические и обновления безопасности все на текущий момент через WSUS.

Все чаще стала появляться знакомая многим ошибка при подключении к RDP к серверам с ошибкой аутентификации из-за CredSSP encryption oracle remediation.

«В этих ваших инторнетах» пишут, что пошло это после установки обновления KB4103721 (однако на своем компуктере я такого обновления не нашел в установленных). На WSUS сервере обновление «установлено или не применимо»
на почти всех компьютерах. К сожалению, report viewer не очень информативен по получению доп информации…

Это первый момент, который несколько «смущает».

Второй момент — это сообщение «лечится установкой обновления:

KB4103715 для 2012R2

KB4103723 для 2016/10

KB4103723 на своем компьютере среди установленных я тоже не вижу. А на WSUS сервере оно есть с оговоркой, что оно для версии Windows 10 1607. По report viewer оно установлено или не применимо так же почти на всех компьютерах.
Что в первом, что во втором случае нет данных от 20 компьютерах. Каких именно сказать не могу, т.к. отчет не информативен=(

Для оперативного решения сего вопроса советуют либо удалить обновление KB4103721 (но не советуют этого делать, что верно). Удалить его не могу — оно не установлено. Второй совет — создать для клиентов политику по пути Computer Configuration
-> Administrative Templates -> System -> Credentials Delegation , в которой параметр Encryption Oracle Remediation должен быть установлен Vulnerable, однако у меня нет такого параметра по этому пути =)

Использую централизованное хранилище шаблонов ADMX. Контроллеры — 2008R2 и 2012R2.

Подскажите, что мне делать?:)

П.С. Есть некоторые опасения по поводу того, что на мой незначительный парк в 200 машин (включая серверы) сервер WSUS не достаточно быстродейственен (жидкая виртуалка на RAID-10 из классических 3,5″ дисков с процессором i3-2100 и 8Гб
ОЗУ — в общем, proliant dl120 gen7).

После установки обновлений безопасности 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.

windows 10 rdp ошибка подключения 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)”.скачать последние обновления windows из microsoft update catalog

Для восстановления удаленного подключения к рабочему столу можно удалить обновления безопасности на клиенте, с которого выполняется RDP подключение (но это крайне не рекомендуется, т.е. есть более безопасное и правильное решение).

Для решения проблемы вы можете временно на компьютере, с которого вы подключаетесь по RDP, отключить проверку версии CredSSP на удаленном компьютере. Это можно сделать через редактор локальных групповых политик. Для этого:

  1. Запустите редактор локальных GPO — gpedit.msc;
  2. Перейдите в раздел политик Computer Configuration -> Administrative Templates -> System -> Credentials Delegation (Конфигурация компьютера -> Административные шаблоны -> Система -> Передача учетных данных);
    групповая политика Encryption Oracle Remediation
  3. Найдите политику с именем Encryption Oracle Remediation (Исправление уязвимости шифрующего оракула). Включите политику (Enabled/ Включено), а в качестве параметра в выпадающем списке выберите Vulnerable / Оставить уязвимость;изменить значение политики CredSSP на Vulnerable
  4. Осталось обновить политики на вашем компьютере (команда
    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

ключ реестра AllowEncryptionOracle

Вы можете изменить этот параметр в реестре сразу на множестве компьютеров в 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

qwmi как узнать дату установки последних обновлений безопасности windows

В этом примере видно, что последние обновления безопасности Windows устанавливалось 17 июня 2018 года. Скачайте и установите более новый MSU файл с кумулятивным обновлением для вашей редакции Windows (смотрите выше).

  • Главная

  • Инструкции

  • Windows

  • Ошибка при подключении по RDP

RDP – это протокол, предназначенный для удаленного подключения к серверу с ОС Windows. Процесс подключения по RDP довольно прост и был уже детально описан в одной из наших инструкций.

Image3

Иногда у пользователя могут возникнуть трудности при очередной попытке входа на удаленный сервер с помощью RDP. Система в момент подключения выдает ошибку и ее краткое описание. Однако для обычного пользователя информации в системном окне ошибки недостаточно, чтобы решить проблему.

В статье мы рассмотрим наиболее частые пользовательские ошибки, которые возникают при попытке входа на удаленный сервер, и опишем, как их устранить.

Ошибка №1. «Произошла внутренняя ошибка»

Во время подключения по RDP с помощью штатной утилиты Windows пользователь может получить окно с ошибкой в момент входа на сервер. 

Вот ее пример:

Image11

Как видно на картинке, описание ошибки нам ничего не объясняет. Причин у нее может быть множество. Например, она может возникнуть из-за неправильной настройки подключения или настройки безопасности протокола. 

Ниже рассмотрим список причин и возможных решений, которые помогли другим пользователям избавиться от ошибки.

Решение №1. Проверка работы порта

Первое, что нужно сделать – это проверить, что прослушиватель протокола RDP настроен на работу по порту 3389 как на сервере, так и на локальной машине. Для этого будем использовать системное приложение «Редактор реестра».

Перед тем, как приступать к исправлению ошибки, следует создать резервную копию реестра. 

  1. Нажимаем сочетание кнопок WIN+R и запускаем regedt32, используя поле ввода.
  2. Создаем резервную копию. Для этого в окне реестра нажимаем вкладку «Файл», а затем «Экспорт». После выбираем место, где будут храниться файлы реестра. Если после внесенных изменений возникнут какие-либо ошибки, реестр можно будет восстановить («Файл» → «Импорт»).
  3. Далее открываем папку «RDP-Tcp». Для этого воспользуемся поиском, как показано на рисунке ниже.

Image4

  1. Для продолжения поиска используем кнопку F3. Нажимать ее нужно до тех пор, пока адрес папки не совпадет с адресом на картинке ниже.

Image10

  1. В найденной папке ищем параметр, который называется «PortNumber». В ситуации, когда его значение не равно 3389, его следует поменять.

Image9

  1. Теперь нужно повторить предыдущий шаг, только для удаленного сервера.
  2. После проверки портов следует выполнить перезапуск служб. Подробнее — в описании решения №2. 
  3. Выполняем повторный вход на сервер.

Решение №2. Перезапуск служб удаленных рабочих столов

Если порт прошел проверку в предыдущем решении или был настроен правильно, то переходим к перезапуску служб удаленных рабочих столов. Чтобы не перезагружать устройства, которые могут находиться в работе, воспользуемся утилитой «Управление компьютером».

  1. Воспользуемся сочетанием кнопок WIN+R и запускаем compmgmt.msc, используя поле ввода.
  2. Далее переходим во вкладку «Службы и приложения», а затем открываем «Службы».
  3. Находим «Службы удаленных рабочих столов» и кликаем «Перезапустить службу», как показано на картинке ниже.

Image13

  1. Далее снова выполняем предыдущие 2 шага, но в этот раз для сервера. Чтобы это сделать, нужно для начала нажать правой кнопкой мыши по вкладке «Управление компьютером», а затем нажать «Подключиться к другому компьютеру».
  2. После успешного подключения повторяем шаги 2 и 3.
  3. Пробуем заново подключиться к серверу.

Решение №3. Проверка статуса протокола на сервере

Чтобы проверить статус работы протокола RDP на сервере, воспользуемся системным приложением «Редактор реестра» из Решения №1. 

  1. Нажимаем сочетание кнопок WIN+R и запускаем regedt32, используя поле ввода.
  2. Теперь выполняем подключение к сетевому реестру, как показано на картинке ниже.

Image8

  1. Далее переходим в 2 папки, которые называются Terminal Server и Terminal Services. Для этого воспользуемся поиском (сочетание клавиш CTRL+F). 

Image7

Переключаться между найденными папками можно с помощью клавиши F3. Нажимаем ее до тех пор, пока адрес папки не совпадет с адресом на картинке ниже.

Image16

То же самое выполняем для папки Terminal Services. Ее адрес при поиске должен совпасть со следующим.

Image2

В двух найденных выше папках ищем fDenyTSConnections. Искомый параметр может принимать два значения: либо 0, либо 1. Первое указывает на успешную работу протокола RDP. Второе предполагает, что он отключен.

Image14

  1. Изменяем значения параметров на 0.
  2. Пробуем заново выполнить вход на сервер.

Решение №4. Изменение настроек подключения

Отдельным пользователям удалось проблему благодаря корректировкам настроек подключения к удаленному серверу. Опишем ниже пошаговое решение:

  1. В программе «Подключение к удаленному рабочему столу» открываем дополнительные параметры подключения.
  2. Среди всех вкладок выбираем «Взаимодействие» и кликаем на нее.
  3. Далее в поле, указанном на картинке ниже, следует установить или убрать галочку, в зависимости от того, в каком состоянии оно находится сейчас.

Image6

  1. Теперь пробуем заново выполнить подключение.

Решение №5. Очистка кэша подключений

Кроме перечисленных выше решений, можно попробовать очистить кэш подключений. Для этого выполним следующие шаги:

  1. Для начала следует включить отображение скрытых папок. Для этого устанавливаем галочку в соответствующем поле, как показано на картинке ниже.

Image12

  1. Далее переходим в папку Cache, которая расположена по адресу C:Users%Имя_пользователя%AppDataLocalMicrosoftTerminal Server Client, и удаляем все, что в ней находится.
  2. Теперь заходим в системное приложение «Редактор реестра», о котором говорилось ранее, и переходим к вкладке Servers (HKEY_CURRENT_USER → Software → Microsoft → Terminal Server Client). Здесь также удаляем все записи.
  3. Перезагружаем компьютер и выполняем повторное подключение к удаленному серверу.

Решение №6. Увеличение лимита на количество подключений

Внутренняя ошибка подключения по RDP может быть также решена за счет увеличения параметра реестра, отвечающего за ограничение количества сетевых подключений. Данный параметр по умолчанию в сетевых версиях равен 3000, а в десктопных всего 100. Он может очень быстро забиться, вследствие чего у пользователя и возникают трудности с входом.

Для исправления проблемы следует увеличить размер параметра MaxOutstandingConnections. Чтобы это сделать, достаточно запустить терминал (обязательно в режиме администратора) и выполнить специальную команду:

REG ADD "HKLMSYSTEMCurrentControlSetControlTerminal Server" /v MaxOutstandingConnections /t REG_DWORD /d 65536

Результат выполнения команды продемонстрирован на картинке ниже.

Image5

Теперь перезагружаем службы удаленных рабочих столов и пробуем заново выполнить вход на сервер.

Ошибка №2 «CredSSP: ошибка при проверке подлинности»

Ошибка проверки подлинности при подключении по RDP возникает на этапе авторизации.

Image1

Как видно по картинке выше, система указывает пользователю на возможную причину ошибки, связанную с CredSSP.

CredSSP – это протокол Windows, который служит для безопасной передачи учетных данных от локальной машину к серверу. Он защищает пользователя от DDoS-атак или несанкционированного доступа к серверу.

Ошибка проверки подлинности зачастую возникает у пользователей из-за отсутствия обновлений безопасности на пользовательском компьютере, либо на самом удаленном сервере.

Ниже подробно опишем решение ошибки CredSSP во время подключения по RDP для Windows версий Home и Professional.

Скачать обновление безопасности после удачного входа пользователя на сервер возможно с официального сайта Microsoft либо в разделе «Центр обновления Windows» в параметрах вашей системы.

Решение №1. Windows Home

Описанное ниже решение ориентировано на пользователей с ОС Windows Home.

  1. Для начала открываем на пользовательском компьютере терминал, запущенный от имени администратора.
  2. Далее вводим команду в строку терминала:
REG ADD HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters /v AllowEncryptionOracle /t REG_DWORD /d 2

Используемая команда вносит корректировки в реестр Windows, добавляя ключ, отвечающий за изменение политики безопасности CredSSP. Значение 2 устанавливает самый низкий уровень защиты.

  1. Перезагружаем устройство.
  2. Пробуем заново подключиться к серверу.
  3. Далее на сервере следует обязательно установить необходимые обновления безопасности.
  4. По завершении обновлений нужно вернуть начальные настройки безопасности, используя команду из шага №2. Только вместо 2 на конце, нужно ввести 0.

Решение №2. Windows Professional

Предложенное ниже решение подойдет тем пользователям, кто пользуется профессиональной версией Windows.

  1. Для начала открываем системное приложение «Редактор локальной групповой политики». Используем сочетание кнопок WIN+R и открываем gpedit.msc, используя поле ввода.
  2. В открывшейся системе переходим в папку «Передача учетных данных» (Конфигурация компьютера → Административные шаблоны → Система → Передача учетных данных).
  3. Среди всех параметров выбранной папки ищем «Защита от атак с использованием криптографического оракула». Щелкаем по нему дважды.

Image15

  1. В открывшемся окне включаем использование выбранного параметра, а также устанавливаем такой же уровень защиты, как на картинке ниже.

Image17

  1. Перезагружаем устройство.
  2. Пробуем заново подключиться к серверу.
  3. Далее следует сразу перейти к установке всех обновлений безопасности.
  4. По завершении обновлений рекомендуется сразу возвратить параметр «Защита от атак с использованием криптографического оракула» в первоначальное состояние.

Заключение

Мы рассмотрели 2 популярные ошибки подключения по RDP. Это внутренняя ошибка подключения и ошибка при проверки подлинности. К каждой из ошибок мы подобрали решения, которые в большинстве случаев помогут пользователям исправить их. 

  • Произошла ошибка при проверке подлинности psn
  • Произошла ошибка при проверке подлинности ps4
  • Произошла ошибка при проверке подлинности playstation
  • Произошла ошибка при проверке подлинности credssp hyper v
  • Произошла ошибка при проверке платежа пожалуйста проверьте правильность введенных данных или попробуйте позже