Клиент не может аутентифицироваться на сайте IIS с использованием Kerberos

У нас есть несколько сайтов, размещенных на IIS, использующих проверку подлинности Windows. Некоторые из наших пользователей могут войти в систему на одном из сайтов, но постоянно сталкивается с проблемой аутентификации на другом (второй используется в iframe первого). Мы обнаружили, что пользователи, которые не могут войти в систему, используют аутентификацию Kerberos (другие NTLM). Все сайты используют одни и те же настройки авторизации (для параметра useAppPoolCredentials установлено значение true). Таким образом, пользователи могут получить доступ к одному сайту, но не могут получить доступ ко второму с теми же настройками. Пользователь, удостоверяющий личность пула приложений, находится в группе администраторов и группе IIS_IUSRS. Я также пытался использовать учетную запись пользователя домена для входа на сайт с виртуальной машины и получить такое же бесконечное приглашение аутентификации из-за Kerberos. Я читал статью Чиранта Рамасвами об аутентификации IIS, но, к сожалению, не смог найти решения проблемы.Есть ли способ решить проблему?

РЕДАКТИРОВАТЬ: У нас также есть 2-й сервер с такими же сайтами и настройками.

РЕДАКТИРОВАТЬ2: Я обнаружил, что могу войти в систему, если использую ту же учетную запись пользователя домена, если я не записывать домен в логине. Таким образом, «UserName» работает, а «DomainName \ UserName» - нет

0
задан 24 July 2019 в 12:32
2 ответа

После перезагрузки сервера я узнал, что useApplicationCredentials возвратился назад ко лжи. Я изменил его на истинный и перезапущенный IIS. После того, как та проблема не происходит. Но я не уверен, не является ли это совпадение. У нас есть та же проблема на другом сервере. 4 машины с теми же настройками IIS. 2 не работает правильно через Kerberos, два делает. SPN не был настроен ни для одного из них. Кроме того, два, которые работы имеют ложь в useApplicationCredentials.

я попробую тот же метод установленный на перезагрузку useApplicationCredentials к истинному, если это не будет и затем iisreset. Но я вполне уверен, что это не проблема. Я не могу понять, почему Kerberos работает, если SPN не установлен

0
ответ дан 23 November 2019 в 22:42

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

Вкратце: я думаю, что Kerb сломан. И чтобы это работало, вы потенциально можете использовать IP-адрес вместо имени. (Curb работает только в том случае, если вы используете имя, а не IP-адрес.)

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

Это могло произойти из-за повторяющегося SPN,или какой-либо другой аспект нарушения Curb.

Также возможно, что это настройка браузера на стороне клиента, такая как «Включить встроенную аутентификацию Windows», а не сценарий PAC и / или настройки зоны.

Итак! Список покупок:

  • Проверьте зоны, в которые загружается сайт при использовании IE.

  • Установите флажок Включить интегрированную Windows при использовании IE.

  • Перезагрузите сломанный клиент (или, по крайней мере, klist purge ), а затем получить трассировку netmon или wirehark неудачного соединения со стороны клиента. Это может выявить некоторые проблемы с ответом KDC, например, возвращаемые ошибки Kerberos, которые указывают на то, что может нарушать работу Curb

  • . Если вы используете useAppPoolCredentials, скорее всего, вы использовали SetSPN. Проверьте наличие дубликатов всех SPN, связанных с именем (именами) сайта.

  • Наконец, если вы не используете делегирование, в любом случае рассмотрите возможность удаления useAppPoolCredentials, так как по умолчанию учетная запись System будет декодировать билеты для всех пулов приложений, если нет Переопределение SPN на месте.

0
ответ дан 23 November 2019 в 22:42

Теги

Похожие вопросы