Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Встроенная проверка подлинности Windows позволяет пользователям входить с помощью учетных данных Windows и использовать единый вход с помощью Kerberos или NTLM.
Почему встроенная проверка подлинности Windows завершается ошибкой
Существует три основных причины сбоя встроенной проверки подлинности Windows:
- Неправильная настройка имени основного субъекта службы
- Маркер привязки канала
- Конфигурация Internet Explorer
Неправильное настройка имени участника-службы
SPN — уникальный идентификатор экземпляра службы. Проверка подлинности Kerberos использует служебные имена источников (SPN) для связывания экземпляра службы с учетной записью входа службы. Эта конфигурация позволяет клиентскому приложению запрашивать службу для проверки подлинности учетной записи, даже если у клиента нет имени учетной записи.
Вот пример того, как используется имя службы с AD FS:
- Веб-браузер запрашивает Microsoft Entra, чтобы определить, какая служебная учетная запись выполняется
sts.contoso.com. - Microsoft Entra сообщает браузеру, что это учетная запись службы AD FS.
- Браузер получает токен Kerberos для учетной записи службы AD FS.
Учетная запись службы AD FS с неправильно настроенным или неверным именем субъекта-службы может столкнуться с проблемами. При просмотре трассировок сети могут появиться ошибки, такие как KRB Error: KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN.
Используя трассировки сети (например, Wireshark), вы можете определить, какой SPN пытается установить браузер. Затем можно использовать средство командной строки, setspn - Q \<spn>, и выполнить запрос по этому имени субъекта-службы. Вы можете не найти его или он может быть назначен другой учетной записи, отличной от учетной записи службы AD FS.
Чтобы проверить SPN, просмотрите свойства учетной записи службы AD FS.
Маркер привязки канала
В настоящее время, когда клиентское приложение проходит проверку подлинности на сервере с помощью Kerberos, Digest или NTLM с помощью HTTPS, сначала устанавливается канал TLS. Проверка подлинности выполняется с помощью этого канала.
Маркер привязки канала — это свойство защищенного TLS внешнего канала. Он используется для привязки внешнего канала к беседе через внутренний канал, прошедший проверку подлинности клиента.
Если происходит атака типа "человек посередине", а SSL-трафик расшифровывается и повторно шифруется, ключ не соответствует. AD FS определяет, что что-то сидит в середине между веб-браузером и самим собой. Проверка подлинности Kerberos завершается ошибкой, и пользователю предлагается диалоговое окно 401 вместо единого входа.
Эта проблема может возникнуть из-за:
- Все, что находится между браузером и AD FS
- Fiddler
- Обратные прокси-серверы, выполняющие связывание SSL
По умолчанию параметр AD FS равен Allow. Чтобы изменить этот параметр, используйте командлет PowerShell Set-ADFSProperties -ExtendedProtectionTokenCheck None.
Дополнительные сведения см. в лучшие практики безопасного планирования и развертывания AD FS.
Конфигурация Internet Explorer
Note
Если вы используете Chrome, добавьте его в список агентов пользователей, поддерживаемых интегрированной проверкой подлинности Windows.
По умолчанию Internet Explorer ведет себя следующим образом:
- Internet Explorer получает ответ 401 от AD FS с словом NEGOTIATE в заголовке. Эта команда сообщает веб-браузеру получить токен Kerberos или NTLM для отправки обратно в AD FS.
- По умолчанию Internet Explorer пытается выполнить эту задачу (SPNEGO) без взаимодействия пользователя, если слово NEGOTIATE находится в заголовке. Он работает только для сайтов интрасети.
Две основные вещи могут предотвратить эту ситуацию:
В свойствах Internet Explorer флажок Включить встроенную проверку подлинности Windows не выбран. Этот параметр расположен в разделе"Дополнительные>параметры браузерабезопасности>".
Зоны безопасности настроены неправильно:
Полностью квалифицированные доменные имена не находятся в зоне внутренней сети.
URL-адрес AD FS не в зоне интрасети.