Меню Рубрики

Windows xp проверка подлинности на уровне сети rdp

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

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

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

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

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

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

Ответ

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

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

An authentication error has occurred.

The function requested is not supported.

Почему это происходит? В первую очередь рекомендую познакомится со статьей Ошибка RDP подключения: CredSSP encryption oracle remediation . В ней я подробно описывал, почему после установки последних (май 2018 года) обновлений безопасности на Windows клиентах, у пользователей могут появится проблемы с подключением к удаленным компьютерам / серверам по RDP. Дело в том, что в майских обновлениях безопасности Microsoft исправила серьезную уязвимость в протоколе CredSSP, использующегося для аутентификации на RDP серверах(CVE-2018-0886). В том случае, если на RDP сервере не установлены последние обновления и на нем используется устаревшая версия протокола CredSSP, такое подключение блокируется клиентом.

Что можно сделать для исправления данной проблемы

  • Самый правильный способ решения проблемы – установка актуальных кумулятивных обновлений безопасности на компьютере / сервере, к которому вы подключаетесь по RDP.
  • Временный способ 1 . Можно отключить NLA (Network Level Authentication / Проверку подлинности на уровне сети) на стороне RDP сервера (описано ниже).
  • Временный способ 2 . Вы можете разрешить на стороне клиентов подключаться к RDP с небезопасной версией CredSSP, как описано в статье по ссылке выше (ключ реестра AllowEncryptionOracle или локальная политика Encryption Oracle Remediation / Исправление уязвимости шифрующего оракула) = Vulnerable / Оставить уязвимость).

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

В том случае, если на стороне RDP сервера включен NLA, то это означает что для преаутентификации используется CredSPP. Отключить Network Level Authentication можно в свойствах системы на вкладке Удаленный доступ , сняв галку « Разрешить подключения только с компьютеров, на которых работает удаленный рабочий стол с проверкой подлинности на уровне сети / 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 –> Службы удаленных рабочих столов – Узел сеансов удаленных рабочих столов –> Безопасность (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) или перезагрузить компьютер. После этого вы должны успешно подключиться к удаленному рабочему столу.

Источник

Windows xp проверка подлинности на уровне сети rdp

Вопрос

Имеется 3 подопытных сервера: Server 2008R2 (проверка подлинности на уровне сети включена), Server 2012 (проверка включена) и Server 2008R2 (проверка выключена).

Имеется несколько подопытных клиентов, в т.ч. XP Pro SP3 (RDP 7.0)

Проблема следующая: 2 машины XP не могут подключиться к серверам на которых включена проверка подлинности на уровне сети. Вернее иногда подключаются, а в остальных случаях зацикливается на введении логина/пароля. C семерками проблем нет. В логах ничего нет.

Все ответы

Имеется 3 подопытных сервера: Server 2008R2 (проверка подлинности на уровне сети включена), Server 2012 (проверка включена) и Server 2008R2 (проверка выключена).

Имеется несколько подопытных клиентов, в т.ч. XP Pro SP3 (RDP 7.0) и Windows 7 home basic.

Проблема следующая: 2 машины XP не могут подключиться к серверам на которых включена проверка подлинности на уровне сети. Вернее иногда подключаются, а в остальных случаях зацикливается на введении логина/пароля. C семерками проблем нет. В логах ничего нет.

Попутно вопрос по 7 хоум бейсик: как заставить её соединиться через шлюз терминалов? Вернее, заставить доверять сертификатам, выданным домееным PKI (нет хранилища сертификатов компьютера)?

У Карманова есть хорошая статья на данную тему: http://kb.atraining.ru/windows-rdp-tuning/ .

Я в своё время делал всё по ней и не имею проблем при подключении к серверам с включенным NLA с машин Windows XP. На первый взгляд и у вас проблем быть не должно. Пройдитесь на всякий случай по значениям реестра приведенным в статье. Возможно стоит попробовать перенакатить SP3, а затем заново включить поддержку CredSSP.

Интересное наблюдение: включаем (или перезагружаем) комп с ХР — запускаем RDP файл. 2 раза вводим учетные данные (хотя в RDP файле есть строчка promptcredentialonce:i:1) — работает.

Закрываем сеанс RemoteApp, пытаемся снова открыть — вводим учётные данные 2 раза, на третий получаем «предоставленные учетные данные не работают».

Спасает только перезагрузка компа. Таких компов 2.

SP3 переставить проблеммно т.к. это удаленное рабочее место, переустановка RDP 7.0 и повторное включение CredSSP не помогают. Проблема на двух аналогичных компах.

  • Помечено в качестве ответа Petko Krushev Microsoft contingent staff, Moderator 12 марта 2013 г. 15:53
  • Снята пометка об ответе Peter Koreshkov 19 апреля 2013 г. 8:25

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

Более того, есть подозрение, что проблема именно в связке Windows XP — RPC over HTTPS — Windows Server 2012 т.к. точно такое поведение (постоянный запрос на авторизацию) при настройке на машине с XP Outlook 2007/2010 на Exchange 2013 CU1 (тоже на Windows Server 2012) тема тут.

С Exchnage’ом помогло:

«There’s a difference in the HTTP/RPC protocol stacks between Windows XP and Windows 7/Vista, and how they handle the RPC_HTTP_TRANSPORT_CREDENTIALS information and matching certificate subjects. When the CertPrincipalName is missing from the AutoDiscover information, Outlook defaults to msstd:
On the Windows XP (or at least Windows 2003), the client will reject the server certificate, while Windows 7/Vista will accept. It looks like Windows XP doesn’t handle wildcards certificate or “Subject” field properly. Windows 7/Vista matches mail.domainname.ee to *.domainname.ee, but XP doesn’t
Your method will match the CertPrincipalName to the subject field, and then solve the password prompt.»

Мне помогло не рекомендованное решение: Set-OutlookProvider -CertPrincipalName none.

Проблема в том, что сертификат в правиле публикации TMG для 443 порта содержит имена вида *.domain.ru.

Как заставить XP работать с шлюзом терминалов? Или как отключить «match the CertPrincipalName to the subject field»?

Источник

Ошибка CredSSP, исправляем за минуту

Ошибка CredSSP, исправляем за минуту

Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org, в прошлый раз мы с вами чинили HDD с поврежденной файловой системой и состоянием RAW уверен, что вам удалось это сделать. Сегодня я в очередной раз переведу наш вектор траблшутера в сторону терминальных столов, а именно мы рассмотрим ситуацию, что когда вы пытаетесь подключиться к удаленному серверу по RDP протоколу, а у вас после ввода логина и пароля, выскакивает ошибка, что вы не прошли проверку подлинности и причиной ошибки может быть исправление шифрования CredSSP. Давайте разбираться, что за зверь, этот CredSSP и как вам получить доступ к вашему серверу.

Как выглядит ошибка credssp

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

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

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

Назначение CredSSP

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

C redSSP позволяет приложению делегировать учетные данные пользователя от клиента целевому серверу для удаленной аутентификации. CredSSP предоставляет зашифрованный канал протокола безопасности транспортного уровня . Клиент проходит проверку подлинности по зашифрованному каналу с использованием протокола SPNEGO (Simple and Protected Negotiate) с Microsoft Kerberos или Microsoft NTLM.

После проверки подлинности клиента и сервера клиент передает учетные данные пользователя на сервер. Учетные данные дважды шифруются с использованием ключей сеанса SPNEGO и TLS. CredSSP поддерживает вход в систему на основе пароля, а также вход в систему с использованием смарт-карт на основе X.509 и PKINIT.

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

Причины ошибки шифрования 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 7, Windows 8.1, Windows 10 с которых были попытки подключиться к RDS ферме или RemoteApp приложениям работающим на Windows Server 2008 R2 и выше. Если бы вы читали ветки обсуждений в эти дни, то вы бы поняли все негодование людей, особенно с запада.

Варианты исправления ошибки CredSSP

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

  • Вы можете удалить новое обновление безопасности, самый плохой вариант, но в ответственные моменты, иногда используется, чтобы перенести работы на вечер или ночь
  • Если нужно быстро получить доступ к серверу и избежать проверку подлинности credssp, то я вам советую отключить на принимающем подключении сервере галку NLA (Network Level Authentication) в русском варианте «Разрешить подключение только с компьютеров, на которых работает удаленный рабочий стол с проверкой подлинности на уровне сети»
  • То же быстрый метод и на массовое применение, это использование групповой политики, которая изменит шифрование Oracle Remediation
  • Ну и самый правильный метод , это установка обновлений на все ваши системы

Отключаем credssp в Windows через NLA

Данный метод выхода из ситуации я бы рассматривал, как быстрое, временное решение, до того, как вы установите обновления безопасности. Чтобы разрешить удаленное подключение к серверу и избегать ситуации, что произошла ошибка при проверке подлинности credssp, сделайте вот что. Откройте свойства моего компьютера, попав в систему, так же можно нажать одновременно WIN+Pause Breake или как вариант в командной строке ввести control /name Microsoft.System. В окне «Система» находим пункт меню «Настройка удаленного доступа»

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

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

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

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

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

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

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

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

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

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

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

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

Аналогично можно сделать и для отключения Network Level Authentication, команда будет такой:

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

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

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

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

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

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

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

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

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

На просторах интернета ходит скрипт PowerShell, который поможет включить данную политику на всех компьютерах в Active Directory

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
>
>

Самый правильный метод, это установка обновлений

Когда вам удалось везде подключиться и подошло время обслуживания ваших серверов, быстренько производим установку обновлений закрывающих брешь (CVE-2018-0886 | CredSSP Remote Code Execution Vulnerability).

Раньше были вот такие 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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Windows xp проверка диска при каждой загрузке
  • Windows xp проблема с сертификатами безопасности
  • Windows xp при запуске браузера выдает синий экран
  • Windows xp посмотреть пароль беспроводной сети
  • Windows xp после экрана загрузки черный экран