Проверка подлинности windows не поддерживается в режиме directquery для этого источника данных

Обновлено: 06.07.2024

Я настроил IE и FF для включения проверки подлинности Windows следующим образом:

Тоесть

  1. Добавить URL-адрес для группы интрасети
  2. Обеспечения проверки подлинности Windows включена в дополнительные настройки

ФФ

Вы должны белый домен, указанный в hosts-файл для проверки подлинности Windows для работы.

Скопировано по ссылке выше для быстрого доступа:

Вы попробуйте положить домена перед именем пользователя?

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

1. Включить ведение журнала протокола Kerberos

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

система реестра HKEY_LOCAL_MACHINE\CurrentControlSet на\контроль\ЛСА\Керберос\параметры

добавить значения реестра уровень с велоэтапе REG_DWORD С и значением 0х1.

2. KDC_ERR_C_PRINCIPAL_UNKNOWN

На геймпаде объявление, выполните эту команду - вам понадобятся привилегии администратора домена:

3. Использовать пользовательские удостоверения пула приложений

И, наконец, сделать вас пул приложений использовать пользовательскую учетную запись, которая принадлежит к активной Директории, не используя записи. Это можно сделать в расширенных настройках пула приложений.

Причина 1 веб-приложение настроено на использование встроенной в Windows проверки подлинности. Тем не менее, функция проверки подлинности Windows не включен. Или встроенная проверка подлинности Windows собственный модуль В раздел файл applicationhost.файл config или веб.файл config не является допустимым. Чтобы устранить эту проблему, см. Решение 1.

В IIS 6 и 7 можно легко изменить учетную запись пользователя, ваш пул приложений работает под управлением. Попробуйте изменить удостоверение пула приложений к учетной записи с более доступа специально для этого. Или если вы хотите придерживаться существующей учетной записи (iusr_? Сетевая Служба?) вы можете предоставить этой учетной записи больше разрешений на каталог, где ваш сайт хранится.

date

12.07.2019

directory

Windows 10, Windows 7, Windows Server 2012 R2, Вопросы и ответы

comments

комментариев 14

После установки обновления 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 серверу аналогичная ошибка выглядит так:

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 приложений.

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

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

Это единственный способ доступа к удаленному серверу по RDP, если у вас отсусвует возможность локального входа на сервер (через консоль ILO, виртуальной машины, облачный интерфейс и т.д.). В этом режиме вы сможете подключиться к удаленному серверу и установить обновления безопасности, таким образом перейдете к рекомендуемому 1 способу. После обновления сервера не забудьте отключить политику или вернуть значение ключа AllowEncryptionOracle = 0 : REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /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) или перезагрузить компьютер. После этого вы должны успешно подключиться к удаленному рабочему столу сервера.

Web.config

Ошибка после обновления IIS Express

Applicationhost.config

Я смог заставить его работать, удалив поставщика переговоров.

  1. Откройте IIS (Windows + R 'inetmgr')
  2. Выберите сервер IIS (корневой узел)
  3. Двойной щелчок - «Аутентификация»
  4. Проверка подлинности Windows - щелкните правой кнопкой мыши и выберите «Включить».
  5. Проверка подлинности с помощью форм - щелкните правой кнопкой мыши и выберите «Отключить».
  6. Перезагрузите сервер IIS.

При отладке моего веб-приложения в VS 2017 я обнаружил, что мне нужно обновить [путь решения] \. Vs \ config \ applicationhost.config. Я заменил раздел аутентификации на:

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

В IE это зависит от конфигурации браузера. Я думаю, что есть также способы настроить Chrome и Firefox для автоматической отправки входа в Windows. Я думаю, что Chrome будет следовать интернет-настройкам Windows (на клиенте), как IE. Попробуйте установить для параметров аутентификации пользователя значение «Автоматический вход с текущим именем пользователя и паролем».

См. Снимок экрана ниже, где это показано.

enter image description here

Также обратите внимание, что при этом браузер пользователя отправляет в приложение токен Windows. Приложение должно понимать источник этого токена и доверять ему, и это будет работать при поддержке «домена», в котором находятся и пользователь, и приложение. Я думаю, что это будет работать на одной машине (пока вы отлаживаете), но если вы хотите, чтобы это работало на нескольких компьютерах в сети, вам нужно подумать о создании домена. Типичный способ создания домена - Active Directory.

Дайте мне знать.

Аутентификация Windows с помощью IISExpress

Обновите свой web.config

Ошибка 401.2 Неавторизованный Иногда вы можете получить ошибку 401.2 Unauthorized: Logon failed due to server configuration error . Если да, убедитесь, что у вас есть разрешение на просмотр этого каталога или страницы на основе предоставленных вами учетных данных. Также убедитесь, что на веб-сервере включены методы аутентификации.

Обновление applicationhost.config

Вы также можете обнаружить, что вам нужно обновить файл IISExpress applicationhost.config (не волнуйтесь - я этого тоже не знал). По сути, это файловая версия инструмента настройки IIS, в которой вы можете настроить сам веб-сервер. Найти файл applicationhost.config может быть непросто. Это может быть:

Найдя его, обновите следующие строки (обращая особое внимание на enabled=true ):

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

  • Отключить Анонимную Проверку Подлинности
  • Включить Проверку Подлинности Windows

Это сделало хорошую работу по включению проверки подлинности Windows, но каждая попытка входа в систему была отклонена и в конечном итоге возвращается ошибка 401.1. С этого и началась проблема. Кажется, есть много причин для этого, которые хорошо документированы в интернете, включая здесь переполнение стека.

Я бы попробовал:

но все безрезультатно, ужасный 401.1 остался.

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

проблема здесь в том, что современные версии Windows (Windows XP SP2, Windows Server 2003 SP1 и выше) включают функцию безопасности обратной проверки, которая предназначена для предотвращения атак отражения на вашем компьютере. Таким образом проверка подлинности завершается ошибкой, если FQDN или пользовательский заголовок узла, который используется не соответствует имени локального компьютера.

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

  1. установите для параметра реестра DisableStrictNameChecking значение 1. См.: 281308(Примечание: это должно быть ненужным для Windows Server 2008 и Vista и позднее)
  2. в Редакторе реестра найдите и выберите следующий раздел реестра : Раздел HKEY_LOCAL_MACHINE\система\CurrentControlSet на\контроль\ЛСА\мыши раздел msv1_0
  3. щелкните правой кнопкой мыши MSV1_0, выберите Создать, а затем щелкните многострочное значение.
  4. тип BackConnectionHostNames, а затем нажмите клавишу Ввод.
  5. щелкните правой кнопкой мыши BackConnectionHostNames и выберите команду Изменить.
  6. в поле Значение введите имя узла или имена узлов для узлов на локальном компьютере и нажмите кнопку ОК.
  7. закройте редактор реестра и перезапустите службу IISAdmin.

полную информацию о том, как это сделать, можно найти на MSDN: 896861

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

Я хочу добавить комментарий Майкла Дарка в качестве ответа, потому что у меня нет разрешений на изменение моего реестра, поэтому ответ Пита не работает для меня, но я смог решить проблему.

переустановите функции IIS еще раз и убедитесь, что установлен флажок проверки подлинности WINDOWS.

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

Читайте также: