ISA 2006 切换到 Kerberos 导致某些用户出现身份验证问题

ISA 2006 切换到 Kerberos 导致某些用户出现身份验证问题

在我们的大型企业环境中,我们设置了 4 台 ISA 2006 服务器。用户 (WinXP IE8) 使用自动代理配置脚本进行配置。最近,PAC 被修改为返回 FQDN 而不是 ISA 服务器的 IP 地址。这样做是为了强制使用 Kerberos 身份验证而不是 NTLM。

这一变化给一些用户带来了间歇性的问题。当通过 SSL 访问网站时,他们会收到来自代理服务器的多个身份验证提示。并非所有用户都受到影响。不同的网站都会受到影响。有一次,其中一个代理服务器开始发出“502 代理错误。不支持缓冲区空间”。它重新启动后又恢复了工作。

我们所能想到的最好的情况是,这与较大的 Kerberos 令牌大小有关(我们是一个拥有数百/数千个 AD 安全组的大型机构)。

有些用户为 Kerberos 配置了 MaxPacketSize 和 MaxTokenSize。有些则没有。我查看的两个问题用户都使用了这些设置。

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters]
"MaxPacketSize"=dword:00000001
"MaxTokenSize"=dword:0000ffff

将 PAC 回滚为使用 IP 地址(和 NTLM)可以为用户解决问题。但代理管理员仍然希望使用 Kerberos,原因如下:为什么在 IIS 中使用 Kerberos 而不是 NTLM?

将这些注册表设置推送给所有用户是否会解决问题,或者这些设置是问题的根源?

ISA 服务器上是否存在需要调整的设置,以匹配桌面上的令牌大小设置?

谢谢。

答案1

可能是令牌大小问题。无论如何,所有计算机都应该将这些设置设为这些值。

另一种可能性是,如果有任何策略过滤器指定了最大 http 标头长度。
由于 kerberos 将组成员身份存储在 pac 中,因此在使用集成身份验证时,该身份验证会被编码并插入到每个 http 请求标头中。任何涉及使用 kerberos 进行集成身份验证的 http 都需要非常慷慨地设置最大请求标头大小。

针对该描述所对应的症状还有一个修补程序。

当用户尝试访问某些网站时,ISA Server 2006 Web 代理客户端收到错误代码 502
http://support.microsoft.com/kb/935693

http://www.isaserver.org/tutorials/configuring-isa-server-2006-http-filter.html

http://technet.microsoft.com/en-us/library/bb838827.aspx

相关内容