2009-10-21 3 views
2

Фон (только соответствующие фрагменты): У нас есть большое приложение asp.net 2.0/3.5 для интрасети.
Веб-серверы - это Windows Server 2003 в домене AD.
Клиенты находятся в Windows, IE 6-8. Аутентификация Windows с помощью специального принципала, созданного с помощью Windows Identity. Веб-серверы расположены за F5 NLB, который пересылает пользователя на определенный веб-сервер. (Причина этого - ограничение с F5 нашей компании, связанное с kerberos). Нет системных проблем, таких как отключение сеансов или тайм-аутов или перегруженных серверов, все работает нормально.ASP.NET kerberos падает до NTLM спорадически

Одна часть функциональности требует делегирования - мы подключаемся к сетевому файловому ресурсу в качестве аутентифицированного пользователя, используя токен Kerberos, предоставленный нам доменом/веб-сервером.

SPN, ACL и т. Д., Кажется, настроены правильно.

99.% в процентах от времени, все работает. Проблема, которую мы видим, время от времени обновляется, токены от кебероса до ntlm. Я могу увидеть вход на журнал событий веб-сервера, показывающий один вызов при получении этого:

Процесс входа: Kerberos Пакет проверки подлинности: Kerberos

и последующего вызова (обычно после 10 или 20 страниц нагрузок), получая это:

Процесс входа в систему: NtLmSsp Пакет проверки подлинности: NTLM

Кто-нибудь есть какие-либо представление о том, что можно было бы сделать последующее постбэк иногда идут NTLM?

Спасибо!

ответ

2

Все инструменты и методы, необходимые для идентификации проблемы, находятся в Troubleshooting Kerberos Errors. Этот документ мне никогда не подводил.

NTLM Запасной
Вы можете обнаружить, что журнал безопасности записывается событие в , который произошел вход с использованием NTLM, когда должно произойти с использованием Kerberos аутентификации.

Проблема
Есть две ситуации, в которых это может произойти:
- Первая ситуация, когда аутентификация системы попытки использования протокола Kerberos но он терпит неудачу. Как результат , система пытается аутентифицироваться с использованием NTLM. Windows В сервере 2003, Windows XP и Windows 2000 используется алгоритм под названием Negotiate (SPNEGO) для согласования того, какой протокол аутентификации используется. Несмотря на то, что протокол Kerberos является значением по умолчанию, если по умолчанию не выполнено, Negotiate попробует NTLM.
- Вторым является ситуация, в которой звонок Согласование возвращает NTLM в качестве единственного протокола .

Подтверждение
первой ситуация приведет к не удался аутентификация Kerberos, что можно исследовать путем изучения ошибок в журнале событий или данных пакетов, захваченный Network Monitor. Оба метода исследования: , рассмотренные ниже в этом документе ...

+0

Ничего особенного, не видел этого раньше. Благодаря! –

Смежные вопросы