ASP.net kerberos 偶尔下降到 NTLM

发布于 2024-08-08 16:38:21 字数 638 浏览 4 评论 0原文

背景(仅相关部分): 我们有一个大型 Intranet asp.net 2.0/3.5 应用程序。
Web 服务器是 AD 域上的 Windows Server 2003。
客户端使用 Windows、IE 6-8。 Windows 身份验证,具有从 Windows 身份创建的自定义主体。 Web 服务器位于 F5 NLB 后面,F5 NLB 将用户转发到特定的 Web 服务器。 (其原因是我们公司的 F5 与 kerberos 交易的限制)。 不存在系统范围的问题,例如会话丢失、超时或服务器超载,一切都运行良好。

其中一项功能需要委派 - 我们使用域/Web 服务器提供给我们的 Kerberos 令牌作为经过身份验证的用户连接到网络文件共享。

SPN、ACL 等似乎已正确设置。

99.x% 的情况下,一切正常。我们经常看到的问题是,在刷新时,令牌会从 kerberos 下降到 ntlm。我可以在 Web 服务器的事件日志上看到登录信息,显示一个调用收到此信息:

登录过程:Kerberos 身份验证包:Kerberos

以及后续调用(通常在 10 或 20 个页面加载后)获取:

登录过程:NtLmSsp 身份验证包:NTLM

任何人都知道什么可能导致后续回发有时会进入 NTLM?

谢谢!

Background (just the relevant pieces):
We have a large intranet asp.net 2.0/3.5 app.
Web servers are Windows Server 2003 on an AD domain.
Clients are on Windows, IE 6-8.
Windows Authentication, with a custom principal created from the Windows Identity.
Web servers sit behind an F5 NLB which forwards the user to a specific web server. (The reason for this is a limitation w/ our company's F5 dealing w/ kerberos).
There are no system wide problems like dropping sessions, or timeouts, or overloaded servers, everything's running fine in general.

One piece of functionality requires delegation - we are connecting to a network file share as the authenticated user, using the Kerberos token given to us by the domain/web server.

SPNs, ACLs, etc, seem to be set up properly.

99.x percent of the time, it all works. The problem we're seeing is every now and again, on a refresh, the token drops from kerberos down to ntlm. I can see the login on the web server's event log showing one call getting this:

Logon Process: Kerberos
Authentication Package: Kerberos

And a subsequent call (usually after 10 or 20 page loads) getting this:

Logon Process: NtLmSsp
Authentication Package: NTLM

Anyone have any insight as to what might be making a subsequent postback sometimes go NTLM?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

寄意 2024-08-15 16:38:21

识别问题所需的所有工具和技术都位于 Kerberos 错误故障排除。那份文件从来没有让我失望过。

NTLM 后备
您可能会发现
安全日志记录了一个事件
使用 NTLM 进行登录时
它应该是使用 Kerberos 发生的
验证。

问题
有两个
可能发生这种情况的情况:
- 第一种情况是
系统尝试使用身份验证
Kerberos 协议,但失败了。作为
结果,系统尝试
使用 NTLM 进行身份验证。视窗
Server 2003、Windows XP 和 Windows
2000 使用一种称为 Negotiate 的算法
(SPNEGO)协商哪个
使用身份验证协议。
虽然 Kerberos 协议是
默认,如果默认失败,
协商会尝试NTLM。
- 第二个
情况是这样一种情况:
协商返回 NTLM 作为唯一
协议可用。

确认

第一种情况将导致
Kerberos 身份验证失败
你可以通过检查来调查
事件日志或数据中的错误
网络监视器捕获的数据包。
两种调查方法都是
本文档稍后讨论...

All the tools and techniques you need to identify the issue are in Troubleshooting Kerberos Errors. That document never failed me.

NTLM Fallback
You might find that the
security log recorded an event in
which logon occurred using NTLM when
it should have occurred using Kerberos
authentication.

Problem
There are two
situations in which this might happen:
- The first situation is where the
system attempts authentication using
the Kerberos protocol but it fails. As
a result, the system attempts to
authenticate using NTLM. Windows
Server 2003, Windows XP, and Windows
2000 use an algorithm called Negotiate
(SPNEGO) to negotiate which
authentication protocol is used.
Although the Kerberos protocol is the
default, if the default fails,
Negotiate will try NTLM.
- The second
situation is one in which a call to
Negotiate returns NTLM as the only
protocol available.

Confirmation
The
first situation will result in a
failed Kerberos authentication that
you can investigate by examining
errors in the event log or data
packets captured by Network Monitor.
Both investigation methods are
discussed later in this document...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文