Проблема двойного перехода IIS – но только с одного компьютера

Вопрос или проблема

Я разработчик для малого бизнеса. Одно из приложений, которое я написал, — это веб-приложение на asp.NET, размещенное на внутреннем сервере IIS. Это приложение использует аутентификацию Windows и удостоверение для доступа к внутреннему серверу SQL. Все пользователи работают на Windows-машинах и входят в систему, используя учетные записи Active Directory в одном домене.

Приложение работало нормально до нескольких недель назад, когда один из пользователей сообщил, что он получает следующее сообщение об ошибке:

Не удалось выполнить вход для пользователя ‘NT AUTHORITY\ANONYMOUS LOGON’

Все остальные пользователи по-прежнему могут получить доступ к приложению без проблем. Я попытался войти в учетную запись AD проблемного пользователя на другом компьютере, и я не получил ошибку. Точно так же я попытался войти в компьютер проблемного пользователя, используя другую учетную запись AD, и я ПОЛУЧАЮ ошибку. Я пытался получить доступ к странице WhoAmI.aspx, и у нее есть NEGOTIATE (KERBEROS) в качестве AUTH_TYPE и отображается учетная запись пользователя AD, поэтому действительно передаются учетные данные Windows (по крайней мере, на первом этапе). Очевидно, проблема ограничивается только этим компьютером, а не учетной записью AD или какими-либо серверами.

Этот пользователь не получил новый компьютер, но я заметил, что он недавно обновился до новой Windows 11 24H2, которая только что вышла. Я не знаю о никаких изменениях в коде, в AD или в политиках группы для этого пользователя. В прошлом у меня были проблемы с Защитой учетных данных Windows, вызывающими проблемы с двойными переходами; я проверил, и Защита учетных данных НЕ включена на проблемном компьютере.

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

Ответ или решение

Проблема двойного перехода в IIS – решение для одной конкретной машины

Введение

Ваша ситуация с приложением ASP.NET, размещенным на сервере IIS, и использованием Windows аутентификации с импersonацией для доступа к SQL серверу, представляет собой общую, но важную конфигурацию. Однако возникновение ошибки "Login failed for user ‘NT AUTHORITY\ANONYMOUS LOGON’" только на одной машине указывает на специфичную проблему, скорее всего связанную с аутентификацией Windows.

Причины возникновения проблемы

  1. Двойной переход (Double Hop) в рамках Kerberos: Основная проблема заключается в том, что Kerberos требует, чтобы имеющая право учетная запись при первом запросе могла быть передана на второй сервер. При этом, если Kerberos не настроен должным образом, или есть ошибки конфигурации, это может привести к анонимному логину на второй переадресации из-за отсутствия тикетов.

  2. Изменения в системной среде: Обновление до Windows 11 24H2, вероятно, привнесло изменения в сетевые настройки и конфигурации безопасности. Эти изменения могут затрагивать параметры, связанные с Kerberos, например, этажи доверия или параметры DNS.

  3. Настройки безопасности компьютера: Проверьте локальные настройки безопасности на проблемном компьютере. Возможно, они отличаются от конфигурации других компьютеров, на которых пользователь не сталкивается с проблемами.

Решение проблемы

  1. Проверка доверительных отношений: Убедитесь, что все необходимые доверительные отношения Kerberos настроены правильно. Это включает проверку SPN (Service Principal Name) и того, что они правильно связаны с вашим IIS сервером и SQL сервером.

  2. Анализ сетевых настроек: Проверьте настройки TCP/IP на проблемном компьютере, включая DNS-серверы. Убедитесь, что он может правильно разрешать имена серверов и что настройки, которые могут влиять на аутентификацию Kerberos, такие как "Banned Credentials" или "Network Isolation."

  3. Использование утилиты Kerberos: Запустите на проблемном компьютере команду klist в командной строке для просмотра текущих тикетов Kerberos. Это может помочь вам понять, получены ли тикеты корректно.

  4. Обновление политик безопасности: Иногда изменение параметров политики группы может влиять на аутентификацию. Убедитесь, что политики безопасности не отключают функциональность Kerberos, например, через локальные параметры безопасности.

  5. Проверка настроек IIS: Удостоверьтесь, что настройки аутентификации в IIS приложения корректны. Параметры аутентификации Windows и импersonation должны быть включены и правильно настроены в конфигурации вашего приложения.

  6. Логи событий и диагностика: Просматривайте события Windows на проблемной машине. Обратитесь к журналам событий безопасности и системным журналам для поиска ошибок, связанных с Kerberos. Это может предоставить полезную информацию о том, где происходит сбой.

Заключение

Таким образом, данное решение акцентируется на проблемах, вызванных "двойным переходом" при аутентификации Kerberos на одной конкретной машине. Пошаговое устранение неполадок, основанное на проверке сетевых настроек, политик безопасности и диагностики Kerberos, поможет вам определить, в чем именно заключается проблема, и успешно ее устранить. Если проблема будет продолжаться, возможно, стоит рассмотреть возможность обращения к специалисту по безопасности или системному администратору для более глубокой диагностики и анализа.

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

Оцените материал
Добавить комментарий

Капча загружается...