Hklm software microsoft windows currentversion policies system credssp parameters

После установки обновлений безопасности 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 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /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 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 2
}
}

После успешного подключения к удаленному RDP серверу (компьютеру) нужно установить на нем актуальные обновления безопасности через службу Windows Update (проверьте, что служба включена) или вручную. Скачайте и установите последние кумулятивные обновления Windows как показано выше. Если при установке MSU обновления появляется ошибка “Это обновление неприменимо к вашему компьютеру”, познакомьтесь со статей по ссылке.

Для Windows XP/ Windows Server 2003, которые сняты с поддержки нужно установить обновления для Windows Embedded POSReady 2009. Например, https://support.microsoft.com/en-us/help/4056564

После установки обновлений и перезагрузки сервера, не забудьте отключить политику на клиентах (либо выставить ее на Force Updated Clients), или вернуть значение 0 для ключа реестра AllowEncryptionOracle. В этом случае, ваш компьютер не будет подвержен риску подключения к незащищенным хостам с CredSSP и эксплуатации уязвимости.

REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 0 /f

Есть еще один сценарий, когда обновления отсутствуют на вашем компьютере. Например, RDP сервер обновлен, но на нем выставлена политика, блокирующая RDP подключения с компьютеров с уязвимой версией CredSSP (Force Updated Clients). В этом случае при RDP подключении вы также увидите ошибку “This could be due to CredSSP encryption oracle remediation”.

Проверьте последнюю дату установки обновлений Windows на вашем компьютере с помощью модуля PSWindowsUpdate или через WMI команду в консоли PowerShell:

gwmi win32_quickfixengineering |sort installedon -desc

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

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

Время на прочтение
3 мин

Количество просмотров 109K

Начиная с 8 мая 2018 года, после установки обновлений на свой персональный компьютер, многие пользователи виртуальных серверов под управлением ОС Windows Server столкнулись с ошибкой «CredSSP encryption oracle remediation» при попытке подключения к удалённому рабочему столу:

На самом деле это не ошибка, а уведомление о проблеме безопасности давно необновлённого сервера.
13 марта 2018 года вышла

информация об уязвимости в протоколе CredSSP

и первые патчи для ее закрытия в серверных операционных системах. Эта уязвимость позволяет в обход проверки выполнять на самом сервере от имени передаваемых учётных записей различные команды, включая установку и удаление произвольного программного обеспечения, изменение и удаление данных на сервере, создание учётных записей с произвольными правами.

С этой проблемой не столкнулись те, кто своевременно устанавливал накопительные обновления на свой сервер. В марте они вышли для серверных операционных систем, для десктопных ОС они автоматически установились с прочими обновлениями в мае.

Для решения проблемы первым делом нужно к нему все-таки подключиться. Проще всего это сделать через авариный режим работы с сервером в вашем личном кабинете – такое есть почти у кажого провайдера VPS / VDS серверов. На VPS.house это делается простым кликом на скриншот экрана сервера в личном кабинете:

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

Инструкция для тех, кто пользуется редакцией Windows HOME:

[развернуть]

1. Запустите на вашем компьютере (том, с которого хотите подключиться к серверу) командную строку от имени администратора

2. Наберите следующий текст в командной строке (можно скопировать и вставить):

REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 2

Эта команда вносит изменения в реестр Windows, разрешая вашему компьютеру подключаться с протоколом шифрования CredSSP к ещё необновлённому серверу.

Если в результате выполнения вы получили ошибку «Отказано в доступе», значит вы запустили командную строку НЕ от имени администратора (см. на скриншоте выше как запускается командная строка корректно).

Инструкция для тех, кто пользуется редакцией Windows PRO:

[развернуть]

1. Откройте редактор групповых политик, для этого в командной строке или в PowerShell наберите «gpedit.msc» или найдите его через поиск на вашем ПК по фразе «Edit group policy» или «Изменение групповой политики» если вы работаете в русскоязычном интерфейсе.

Если после выполнения этой команды вы получили ошибку о том, что команда не найдена или не является внутренней или внешней командой, значит у вас Windows не версии PRO, а скорее всего HOME и вам нужно смотреть инструкцию выше.

2. В папках настроек дерева слева вам необходимо открыть:

Computer Configuration -> Administrative Templates -> System -> Credentials Delegation

если ваша ОС русифицирована, то:

Конфигурация компьютера -> Административные шаблоны -> Система -> Передача учетных данных

3. В папке «Credentials Delegation» («Передача учетных данных») найдите параметр «Encryption Oracle Remediation» («Исправление уязвимости шифрующего оракула»), откройте его, включите его использование, выбрав «Enabled» («Включено») и установите значение параметра в выпадающем списке на «Vulnerable» («Оставить уязвимость»)

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

Как только вы подключились к серверу, установите обновления как это делается в любой десктопной версии Windows.

Если при попытке установки возникает ошибка, поверьте запущена ли служба «Windows Update» («Центр обновления Windows»). Открыть список служб можно по пути:

Start -> Windows Administrative Tools -> Services

если ваша ОС русифицирована, то:

Пуск -> Средства администрирования Windows -> Службы

Если служба не запускается, проверьте, разрешен ли ее запуск: статус не должен быть «Disabled» («Отключена»).

Если вы используете Windows Server 2012 R2 или Windows Server 2008 R2 SP1, то вы можете установить не все обновления, а только одно, исправляющее эту уязвимость и тем самым значительно быстрее решить проблему подключения к серверу.

Скачать его можно прямо с сайта Microsoft на

странице описания уязвимости

:
• обновление для

Windows Server 2012 R2

• обновление для

Windows Server 2008 R2 SP1

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

Все образы операционных систем Windows Server на VPS.house по умолчанию содержат все последние обновления и после пересоздания сервера проблем с ошибкой «CredSSP encryption oracle remediation» при подключении к нему уже не будет.

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

Проблема появляется после установки следующих обновлений у клиента:

  • 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

Есть 3 варианта решения этой проблемы:

1) Удалить обновление на клиенте (номер обновления смотри выше).

2) Установить обновление (заплатку) на сервере, к которому подключается клиентская машина.

Скачать можно со страницы описания уязвимости — ссылка на microsoft.com

3) Добавить нужный параметр в реестр на клиентской машине и не мучаться с ручной правкой политик безопасности, как рекомендуют на многих сайтах. Тем более, что у пользователей Win 10 Home, политика Encryption Oracle Remediation (Исправление уязвимости шифрующего оракула) отсутствует, также как и файл gpedit.msc.  Поэтому быстрее и проще добавить строку вручную, чтобы пропатченный клиент смог подключаться к не патченному серверу.:

Запустить от имени администратора командную строку или Windows PowerShell ( или CMD);

Ввести или скопировать отсюда строчку

REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 2

Нажать Enter и перезагрузить комп.

p.s. если вы хотите сами покопаться в редакторе групповых политик, но у вас его нет и файла gpedit.msc тоже, то его можно добавить легким движением в Windows 10 Home — статья тут

__________________________________________________________________________________________________

Подробнее почитать можно тут:

https://habr.com/company/vps_house/blog/358190/

https://pikabu.ru/story/oshibka_pri_podklyuchenii_po_rdp_creedssp_encryption_oracle_remediation_5896396#comments

http://winitpro.ru/index.php/2018/05/11/rdp-auth-oshibka-credssp-encryption-oracle-remediation/

https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/CVE-2018-0886

Поделиться через:

Прежде чем показать вам известные мне способы устранения, я хотел бы как обычно подробно описать ситуацию. Вчера, когда я попытался подключиться к своему рабочему компьютеру под управлением Windows 10 1709 из таблицы терминалов, которая является частью фермы RDS на Windows Server 2012 R2, я получил сообщение об ошибке после ввода логина и пароля:

Произошла ошибка аутентификации. Запрошенная функция не поддерживается. Имя удаленного компьютера. Это должно быть для восстановления шифрования Oracle CredSSP.

credSSP Восстановление шифрования Oracle

Ну и конечно в русской версии:

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

Исправление шифрования CredSSP может быть причиной сбоя

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

Назначение CredSSP

Что такое CredSSP – это Win32 API, используемый системами Microsoft Windows для выполнения различных операций, связанных с безопасностью, таких как аутентификация. SSPI работает как общий интерфейс для нескольких поставщиков поддержки безопасности (SSP). Поставщик поддержки безопасности – это библиотека динамической компоновки (DLL), которая делает один или несколько пакетов безопасности доступными для приложений.

СredSSP позволяет приложению делегировать учетные данные пользователя от клиента на целевой сервер для удаленной аутентификации. CredSSP обеспечивает зашифрованный протокол безопасности транспортного уровня. Клиент аутентифицируется по зашифрованному каналу с использованием простого и безопасного согласования (SPNEGO) с 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)
  • Реализация TLS / SSL в Microsoft PCT (устаревшая) – это шифрование SSP с открытым ключом, которое обеспечивает безопасную связь и шифрование для аутентификации клиентов и серверов в Интернете. Обновлено в Windows 7 для поддержки TLS 1.2.
  • SSP Digest (введено в Windows XP) (wdigest.dll) – обеспечивает аутентификацию на основе запросов / ответов HTTP и SASL между системами Windows и другими системами, в которых протокол Kerberos недоступен.
  • Учетные данные (CredSSP) (введены в Windows Vista и доступны в Windows XP 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 – Credential Security Provider) позволила удаленно выполнить произвольный код в уязвимой системе, а 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

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

Подключение к сетевому журналу

У вас будет дополнительный журнал, связанный с двумя ульями. Следуйте по пути (если у вас нет CredSSP \ Parameters, вам нужно будет их создать):

HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ System \ CredSSP \ Parameters\

Здесь вам нужно создать ключ REG_DWORD с именем AllowEncryptionOracle и значением 2. В этом случае политика CredSSP установит уровень Vulnerable – это самый низкий уровень безопасности. Это позволит вам подключаться к серверам удаленно по протоколу RDP. Однако это подвергнет серверы атаке.

credssp в реестре Windows

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

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WinStation \ RDP-Tcp

Найдите там ключ SecurityLayer и установите для него значение 0, чтобы отключить аутентификацию на уровне сети.

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

PsExec.exe \\ w10-cl01 -u root \ Administrator -p пароль cmd

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

исправить ошибку windows credssp

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

REG ADD HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ System \ CredSSP \ Parameters \ / v AllowEncryptionOracle / t REG_DWORD / d 2 (0 вернет все как было)

ошибка rdp credssp

То же самое можно сделать и для отключения аутентификации на сетевом уровне, команда будет выглядеть так:

REG ADD “HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WinStation \ RDP-Tcp” / v SecurityLayer / t REG_DWORD / d 0

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

Отключаем шифрование credssp через GPO

Если у вас большая инфраструктура с сотнями компьютеров и сотнями серверов, вы можете временно отключить новый уровень шифрования CredSSP и удалить ошибку «Имя удаленного компьютера. Исправление шифрования CredSSP» перед установкой необходимых обновлений вечером. Для этого мы можем воспользоваться всеми преимуществами доменной инфраструктуры Active Directory. Есть два варианта: вы можете создать групповую политику, чтобы распространить ее среди необходимых организационных единиц, или, если у вас есть один или два локальных компьютера, вы можете запустить на них редактор локальной групповой политики, тем самым внося изменения только в них.

Напоминаю, что вы можете найти оснастку «Управление групповой политикой» на контроллере домена или компьютере с установленным RSAT, открыть ее можно с помощью команды в окне «Выполнить gpmc.msc». Если вы хотите открыть редактор локальной групповой политики, введите gpedit.msc в окне «Выполнить.

gpedit.msc для Windows 10

Вам нужно перейти в ветку:

Конфигурация компьютера – Административные шаблоны – Система – Делегирование учетных данных – Oracle Remediation Encryption

Исправить уязвимость шифрования Oracle

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

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

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

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

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

Затем вам нужно обновить политику, для этого откройте командную строку и введите gpupdate / force. Если у вас нет компьютера домена, а также Windows 10 Home, в которой нет встроенного редактора локальной политики, то, как описано выше, вам необходимо отредактировать реестр

REG ADD HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ System \ CredSSP \ Parameters \ / v AllowEncryptionOracle / t REG_DWORD / d 2 (0 вернет все как было)

В Интернете запущен сценарий PowerShell, позволяющий включить эту политику на всех компьютерах в Active Directory

Модуль импорта ActiveDirectory
$ PSs = (Get-ADComputer -Filter *). DNSHostName
Foreach ($ компьютер на $ ПК) {
Recall-Command -ComputerName $ computer -Script Block {
REG ADD HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System \ CredSSP \ Parameters / 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

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

  • 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, связанная с удаленным выполнением кода

  • Главная

  • Инструкции

  • 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\%Имя_пользователя%\AppData\Local\Microsoft\Terminal Server Client, и удаляем все, что в ней находится.
  2. Теперь заходим в системное приложение «Редактор реестра», о котором говорилось ранее, и переходим к вкладке Servers (HKEY_CURRENT_USER → Software → Microsoft → Terminal Server Client). Здесь также удаляем все записи.
  3. Перезагружаем компьютер и выполняем повторное подключение к удаленному серверу.

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

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

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

REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal 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 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /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. Это внутренняя ошибка подключения и ошибка при проверки подлинности. К каждой из ошибок мы подобрали решения, которые в большинстве случаев помогут пользователям исправить их. 

  • Homegroupuser какой пароль windows 7
  • Hklm software microsoft windows nt currentversion winlogon
  • Hkey current user software microsoft windows currentversion policies system
  • Hkey local machine software wow6432node microsoft windows currentversion uninstall
  • Hkey local machine software policies microsoft windows windowsupdate