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

После установки обновления KB4103718 на моем компьютере с Windows 7 я не могу удаленно подключится к серверу c Windows Server 2012 R2 через удаленный рабочий стол RDP. После того, как я указываю адрес RDP сервера в окне клиента mstsc.exe и нажимаю «Подключить», появляется ошибка:

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

Произошла ошибка проверки подлинности.

Указанная функция не поддерживается.

Удаленный компьютер: computername

RDP Произошла ошибка проверки подлинности. Указанная функция не поддерживается

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

Ответ

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

В своей проблеме вы не одиноки. Данная ошибка может появится в любой операционной системе Windows или Windows Server (не только Windows 7). У пользователей английской версии Windows 10 при попытке подключится к RDP/RDS серверу аналогичная ошибка выглядит так:

An authentication error has occurred.

The function requested is not supported.

Remote computer: computername

An authentication error has occurred. The function requested is not supported

Ошибка RDP “An authentication error has occurred” может появляться и при попытке запуска RemoteApp приложений.

Почему это происходит? Дело в том, что на вашем компьютере установлены актуальные обновления безопасности (выпущенные после мая 2018 года), в которых исправляется серьёзная уязвимость в протоколе CredSSP (Credential Security Support Provider), использующегося для аутентификации на RDP серверах (CVE-2018-0886) (рекомендую познакомится со статьей Ошибка RDP подключения: CredSSP encryption oracle remediation). При этом на стороне RDP / RDS сервера, к которому вы подключаетесь со своего компьютера, эти обновления не установлены и при этом для RDP доступа включен протокол NLA (Network Level Authentication / Проверку подлинности на уровне сети). Протокол NLA использует механизмы CredSSP для пре-аутентификация пользователей через TLS/SSL или Kerberos. Ваш компьютер из-за новых настроек безопасности, которые выставило установленное у вас обновление, просто блокирует подключение к удаленному компьютеру, который использует уязвимую версию CredSSP.

Что можно сделать для исправления эту ошибки и подключиться к вашему RDP серверу?

  1. Самый правильный способ решения проблемы – установка последних кумулятивных обновлений безопасности Windows на компьютере / сервере, к которому вы подключаетесь по RDP;
  2. Временный способ 1. Можно отключить проверку подлинности на уровне сети (NLA) на стороне RDP сервера (описано ниже);
  3. Временный способ 2. Вы можете на стороне клиента разрешить подключение к RDP серверам с небезопасной версией CredSSP, как описано в статье по ссылке выше. Для этого нужно изменить ключ реестра AllowEncryptionOracle (команда
    REG ADD
    HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters /v AllowEncryptionOracle /t REG_DWORD /d 2

    ) или изменить настройки локальной политики Encryption Oracle Remediation / Исправление уязвимости шифрующего оракула), установив ее значение = Vulnerable / Оставить уязвимость).

    Это единственный способ доступа к удаленному серверу по RDP, если у вас отсусвует возможность локального входа на сервер (через консоль ILO, виртуальной машины, облачный интерфейс и т.д.). В этом режиме вы сможете подключиться к удаленному серверу и установить обновления безопасности, таким образом перейдете к рекомендуемому 1 способу. После обновления сервера не забудьте отключить политику или вернуть значение ключа AllowEncryptionOracle = 0 :
    REG ADD HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters /v AllowEncryptionOracle /t REG_DWORD /d 0

Отключение NLA для протокола RDP в Windows

Если на стороне RDP сервера, которому вы подключаетесь, включен NLA, это означает что для преаутентификации RDP пользователя используется CredSPP. Отключить Network Level Authentication можно в свойствах системы на вкладке Удаленный доступ (Remote), сняв галку «Разрешить подключения только с компьютеров, на которых работает удаленный рабочий стол с проверкой подлинности на уровне сети / Allow connection only from computers running Remote Desktop with Network Level Authentication (recommended)» (Windows 10 / Windows 8).

win 10 отключить nla

В Windows 7 эта опция называется по-другому. На вкладке Удаленный доступ нужно выбрать опцию «Разрешить подключения от компьютеров с любой версией удаленного рабочего стола (опасный) / Allow connections from computers running any version of Remote Desktop (less secure)».

Также можно отключить проверку подлинности на уровне сети (NLA) с помощью редактора локальной групповой политики — gpedit.msc (в Windows 10 Home редактор политик gpedit.msc можно запустить так) или с помощью консоли управления доменными политиками – GPMC.msc. Для этого перейдите в разделе Конфигурация компьютера –> Административные шаблоны –> Компоненты Windows –> Службы удаленных рабочих столов – Узел сеансов удаленных рабочих столов –> Безопасность (Computer Configuration –> Administrative Templates –> Windows Components –> Remote Desktop Services – Remote Desktop Session Host –> Security), отключите политику Требовать проверку подлинности пользователя для удаленных подключений путем проверки подлинности на уровне сети (Require user authentication for remote connections by using Network Level Authentication).

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

Также нужно в политике «Требовать использования специального уровня безопасности для удаленных подключений по протоколу RDP» (Require use of specific security layer for remote (RDP) connections) выбрать уровень безопасности (Security Layer) — RDP.

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

Обновлено 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.

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-подключений? Обращайтесь к нам!

  • Главная

  • Инструкции

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

Решаем проблему с ошибкой 0x80004005 в Windows 7

Устранение ошибки 0x80004005

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

Причина 1: Антивирусная программа

Антивирусы, созданные сторонними разработчиками, зачастую могут вести себя в системе, как настоящие хулиганы. К примеру, могут быть заблокированы системные файлы, как вызывающие подозрение. Решить проблему можно, на время отключив программу или переустановив ее. Правда, здесь кроется один подводный камень: если при установке обычно проблем не возникает, то удаление может вызвать затруднения. В статье, приведенной по ссылке ниже, можно (нужно) прочитать, как это сделать правильно.

Причина 2: Неверные настройки брандмауэра

Брандмауэр Windows призван оградить наш ПК от различных сетевых угроз, но делает он это не всегда корректно. Здесь есть два варианта: перезапуск и настройка соответствующей службы и отключение правил для входящих соединений. Обратите внимание, что данные действия могут избавить нас от проблемы лишь временно. Если через некоторое время ошибка появится вновь, то, к сожалению, придется переустановить Windows. Можно, конечно, совсем отключить брандмауэр, но это значительно снизит безопасность системы.

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

Настройка службы

    Открываем строку «Выполнить» клавишами Win+R и в поле «Открыть» вводим команду


Ищем в списке службу «Брандмауэр Windows» и смотрим на тип запуска. Если он отличается от «Автоматически», потребуется настройка.


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


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

Отключение правил

    Идем в «Панель управления» и открываем раздел настроек брандмауэра.


Кликаем по ссылке «Дополнительные параметры».


Переключаемся на вкладку с настройками входящих подключений, выбираем первое правило, затем прокручиваем список вниз, зажимаем SHIFT и кликаем по последнему. Этим действием мы выделили все позиции, далее нажимаем кнопку «Отключить правило».

  • Закрываем окно параметров и перезагружаем машину.
  • Причина 3: Работа «Контроля учетных записей»

    С «Контролем учетных записей» (UAC) ситуация такая же, что и с брандмауэром – некорректная работа в некоторых случаях. Правда, здесь все несколько проще: достаточно снизить уровень защиты до минимума.


    Переходим к настройке параметров UAC.


    Опускаем ползунок в самый низ, к значению «Никогда не уведомлять» и нажимаем ОК.

  • Закрываем окно настроек и перезагружаемся.
  • Причина 4: Отсутствие администраторских прав

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

    Мы не будем подробно описывать переключение между пользователями в Windows, так как это процесс предельно прост: достаточно выйти из системы через меню «Пуск», а затем войти снова, но уже под другой «учеткой». Также можно сделать это без закрытия программ.

    Процесс создания новой учетной записи также не отличается сложностью. Сделать это можно как из «Панели управления», так и из стартового меню.

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

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


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

    Причина 5: Конфликт обновлений

    Далее речь пойдет о сбоях при обновлении ОС. Некоторые уже установленные пакеты могут препятствовать установке новых. В нашем случае это KB2592687 и KB2574819. Их необходимо удалить из системы.

    Проблемы при установке пакета SP1

    Данная ошибка также может возникать при обновлении Windows 7 до SP1. Решается проблема изменением параметра системного реестра, отвечающего за максимальное количество подключенных сторонних сетевых драйверов.

      Открываем редактор реестра с помощью меню «Выполнить» (Win+R) командой


    Переходим к ветке


    В правом блоке кликаем ПКМ по параметру

    Выбираем пункт «Изменить».


    Задаем значение 14 (оно является максимальным) и жмем ОК.

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

      Переходим в «Центр управления сетями» из «Панели управления».


    Жмем по ссылке «Изменение параметров адаптера».


    Далее заходим в свойства каждого подключения (ПКМ – Свойства).


    Переключаемся на вкладку «Сеть» и отключаем все сторонние компоненты. К ним относятся все позиции, которые не имеют в названиях слова «Microsoft» и не являются протоколами TCP/IP. Также нет необходимости отключать планировщик пакетов QoS и стандартные драйвера, имена которых переведены на русский (или ваш родной) язык. Примеры сторонних компонентов можно увидеть на скриншоте. Отключение производится снятием соответствующих флажков и нажатием кнопки ОК.

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

    Заключение

    Мы сегодня разобрали самые распространенные причины возникновения ошибки 0x80004005 в Windows 7. Как видите, их достаточно много и для каждой следует применять конкретные методы. В том же случае, если точно неизвестно, что вызвало сбой, придется попробовать все способы, придерживаясь той очередности, в которой они приведены в статье.

    Источник

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

    Сегодня не смог подключиться ни к одному из двух своих серверов по RDP с ноутбука с Windows 7 x64, хотя пару дней назад все работало, при попытке подключения, приложение удаленный рабочий стол выдавало ошибку «Ошибка при проверке подлинности (код: 0x80004005)», в соответствующем окошке:

    Если ошибка возникает при попытке зайти на сетевую шару см. пункт 4.

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

    KB 2574819
    KB 2857650
    KB 2830477
    KB 2913751

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

    В интернете предлагают еще несколько решений этой ошибки, если удаление обновления не помогает, попробуйте проделать следующее:

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

    2. Так же виновниками может быть пара обновлений KB2592687 и KB2574819, их удаление решит проблему.

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

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

    Панель управления — Администрирование — Брандмауэр Windows в режиме повышенной безопасности — Правила для входящих подключений — Общий доступ к файлам и принтерам (входящий трафик SMB) — Действие разрешить.

    Тем самым вы откроете порт TCP 445, необходимый для корректной работы сетевых шар по протоколу SMB.

    5. Ошибку может вызывать программа КриптоПро CSP версии 4.0, возможно и других версий тоже, так же потенциально эту ошибку могут вызвать и другие «криптопровайдеры» — программы для подписи или шифрования файлов и документов.

    6. Так же эту ошибку могут вызывать сторонние программы, например Adobe Flash Player для Edge и Internet Explorer, в некоторых версиях Windows 10, 8 и Windows Server 2012, в этом случае необходимо просто установить обновления на систему.

    Источник

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

    После установки обновления KB4103718 на моем компьютере с Windows 7 я не могу удаленно подключится к серверу c Windows Server 2012 R2 через удаленный рабочий стол RDP. После того, как я указываю адрес RDP сервера в окне клиента mstsc.exe и нажимаю «Подключить», появляется ошибка:

    Произошла ошибка проверки подлинности.

    Указанная функция не поддерживается.
    Удаленный компьютер: computername

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

    Ответ

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

    В своей проблеме вы не одиноки. Данная ошибка может появится в любой операционной системе Windows или Windows Server (не только Windows 7). У пользователей английской версии Windows 10 при попытке подключится к RDP/RDS серверу аналогичная ошибка выглядит так:

    The function requested is not supported.

    Remote computer: computername

    Ошибка RDP “An authentication error has occurred” может появляться и при попытке запуска RemoteApp приложений.

    Почему это происходит? Дело в том, что на вашем компьютере установлены актуальные обновления безопасности (выпущенные после мая 2018 года), в которых исправляется серьёзная уязвимость в протоколе CredSSP (Credential Security Support Provider), использующегося для аутентификации на RDP серверах (CVE-2018-0886) (рекомендую познакомится со статьей Ошибка RDP подключения: CredSSP encryption oracle remediation). При этом на стороне RDP / RDS сервера, к которому вы подключаетесь со своего компьютера, эти обновления не установлены и при этом для RDP доступа включен протокол NLA (Network Level Authentication / Проверку подлинности на уровне сети). Протокол NLA использует механизмы CredSSP для пре-аутентификация пользователей через TLS/SSL или Kerberos. Ваш компьютер из-за новых настроек безопасности, которые выставило установленное у вас обновление, просто блокирует подключение к удаленному компьютеру, который использует уязвимую версию CredSSP.

    Что можно сделать для исправления эту ошибки и подключиться к вашему RDP серверу?

    1. Самый правильный способ решения проблемы – установка последних кумулятивных обновлений безопасности Windows на компьютере / сервере, к которому вы подключаетесь по RDP;
    2. Временный способ 1 . Можно отключить проверку подлинности на уровне сети (NLA) на стороне RDP сервера (описано ниже);
    3. Временный способ 2 . Вы можете на стороне клиента разрешить подключение к RDP серверам с небезопасной версией CredSSP, как описано в статье по ссылке выше. Для этого нужно изменить ключ реестра AllowEncryptionOracle (команда REG ADD
      HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystemCredSSPParameters /v AllowEncryptionOracle /t REG_DWORD /d 2 ) или изменить настройки локальной политики Encryption Oracle Remediation / Исправление уязвимости шифрующего оракула), установив ее значение = Vulnerable / Оставить уязвимость).

    Отключение NLA для протокола RDP в Windows

    Если на стороне RDP сервера, которому вы подключаетесь, включен NLA, это означает что для преаутентификации RDP пользователя используется CredSPP. Отключить Network Level Authentication можно в свойствах системы на вкладке Удаленный доступ (Remote), сняв галку «Разрешить подключения только с компьютеров, на которых работает удаленный рабочий стол с проверкой подлинности на уровне сети / Allow connection only from computers running Remote Desktop with Network Level Authentication (recommended)» (Windows 10 / Windows 8).

    В Windows 7 эта опция называется по-другому. На вкладке Удаленный доступ нужно выбрать опцию «Разрешить подключения от компьютеров с любой версией удаленного рабочего стола (опасный) / Allow connections from computers running any version of Remote Desktop (less secure)».

    Также можно отключить проверку подлинности на уровне сети (NLA) с помощью редактора локальной групповой политики — gpedit.msc (в Windows 10 Home редактор политик gpedit.msc можно запустить так) или с помощью консоли управления доменными политиками – GPMC.msc. Для этого перейдите в разделе Конфигурация компьютера –> Административные шаблоны –> Компоненты Windows –> Службы удаленных рабочих столов – Узел сеансов удаленных рабочих столов –> Безопасность (Computer Configuration –> Administrative Templates –> Windows Components –> Remote Desktop Services – Remote Desktop Session Host –> Security), отключите политику Требовать проверку подлинности пользователя для удаленных подключений путем проверки подлинности на уровне сети (Require user authentication for remote connections by using Network Level Authentication).

    Также нужно в политике «Требовать использования специального уровня безопасности для удаленных подключений по протоколу RDP» (Require use of specific security layer for remote (RDP) connections) выбрать уровень безопасности (Security Layer) — RDP.

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

    Источник

    Понравилась статья? Поделить с друзьями:
  • Mstsc ошибка при запуске приложения 0xc0000142
  • Mstsc exe ошибка приложения
  • Mstsc exe код ошибки 1000
  • Msteams exe bad image windows 11 ошибка
  • Mssql ошибка 5123