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


Устранение неполадок AD FS — встроенная проверка подлинности Windows

Интегрированная проверка подлинности Windows позволяет пользователям входить с помощью учетных данных Windows и использовать единый вход с помощью Kerberos или NTLM.

Причина сбоя встроенной проверки подлинности Windows

Существует три основных причины сбоя встроенной проверки подлинности Windows. Они: неправильное настройка имени субъекта-службы — токен привязки канала — конфигурация Обозреватель Интернета

Неправильное настройка имени участника-службы

Имя субъекта-службы (SPN) — это уникальный идентификатор экземпляра службы. Имена субъектов-служб используются проверкой подлинности Kerberos для связывания экземпляра службы с учетной записью входа в службу. Это позволяет клиентскому приложению запрашивать проверку подлинности учетной записи, даже если у клиента нет имени учетной записи.

Пример использования имени субъекта-службы с AD FS выглядит следующим образом:

  1. Веб-браузер запрашивает Active Directory, чтобы определить, какая учетная запись службы выполняется sts.contoso.com
  2. Active Directory сообщает браузеру, что это учетная запись службы AD FS.
  3. Браузер получит билет Kerberos для учетной записи службы AD FS.

Если учетная запись службы AD FS неправильно настроена или неправильная имя субъекта-службы, это может вызвать проблемы. При просмотре сетевых трассировок могут отображаться такие ошибки, как ошибка KRB: KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN.

С помощью сетевых трассировок (например, Wireshark) вы можете определить, какое имя субъекта-службы пытается разрешить браузер, а затем с помощью средства командной строки, setpn - Q <spn>, вы можете выполнить поиск в этом имени участника-службы. Он не найден или может быть назначен другой учетной записи, отличной от учетной записи службы AD FS.

Screenshot of the Command Prompt window.

Чтобы проверить имя субъекта-службы, проверьте свойства учетной записи службы AD FS.

Screenshot of the Attribute Editor tab of the A D F S Service Account Properties dialog box showing the Service Principal Name value called out.

Токен привязки канала

В текущей версии, если клиентское приложение проходит проверку подлинности на сервере с использованием протокола Kerberos, дайджест-проверку подлинности или проверку NTLM с использованием HTTPS, то сначала устанавливается канал безопасности транспортного уровня (TLS), а проверка подлинности выполняется по этому каналу.

Маркер привязки канала является свойством защищенного TLS внешнего канала и используется для привязки внешнего канала к беседе через внутренний канал, прошедший проверку подлинности клиента.

Если происходит атака "man-in-in-middle", и они расшифровывают и повторно шифруют SSL-трафик, то ключ не будет соответствовать. AD FS определяет, что между веб-браузером и самим собой есть что-то сидящее. Это приведет к сбою проверки подлинности Kerberos, и пользователю будет предложено использовать диалоговое окно 401 вместо единого входа.

Для этого могут быть следующие причины:

  • Все, сидящие между браузером и AD FS
  • Fiddler
  • Обратные прокси-серверы, выполняющие мост SSL

По умолчанию AD FS имеет значение "Разрешить". Этот параметр можно изменить с помощью командлета PowerShell Set-ADFSProperties -ExtendedProtectionTokenCheck None

Дополнительные сведения об этом см. в рекомендациях по безопасному планированию и развертыванию AD FS.

Настройка Internet Explorer

Примечание.

Если вы используете Chrome, добавьте его в список поддерживаемых агентов пользователей WIA.

По умолчанию Internet Explorer будет вести себя следующим образом:

  1. Internet Explorer получит ответ 401 от AD FS с словом NEGOTIATE в заголовке.
  2. Это сообщает веб-браузеру, чтобы получить билет Kerberos или NTLM, чтобы отправить обратно в AD FS.
  3. По умолчанию IE попытается сделать это (SPNEGO) без взаимодействия с пользователем, если слово NEGOTIATE находится в заголовке. Он будет работать только для сайтов интрасети.

Существует две основные вещи, которые могут предотвратить это.

  • Включение встроенной проверки подлинности Windows не проверка в свойствах IE. Это находится в разделе "Параметры браузера" — "Дополнительно" —>> безопасность.

    Screenshot of the Advanced tab of the Internet Options dialog box with the Enable Integrated Windows Authentication option called out.

  • Зоны безопасности настроены неправильно

    • Полные доменные имена не в зоне интрасети

    • URL-адрес AD FS не в зоне интрасети.

      Screenshot of the Local intranet window in front of the Internet Options dialog box.

Next Steps