Windows 客户端损坏授权 header (Kerberos) => IIS 400(错误请求)
Windows client damage authorization header (Kerberos) => IIS 400 (Bad Request)
我们在大约 5% 的 Windows(7 Pro 和 XP Pro,32 位和 64 位)客户端计算机上遇到了奇怪的行为。这些计算机从 IIS 服务器随机获取错误 - 400 错误请求。我们正在使用 Windows 域,这些客户端正在尝试通过 Kerberos 向 IIS 授权。
症状:
- 客户端尝试通过 Internet Explorer 连接到需要身份验证 (Kerberos) 的站点的 IIS 服务器。
- IIS 服务器returns 错误 400 错误请求。
- 直到客户端计算机 "happily restarted",错误才会消失。我们没有找到 "repair" 这个状态的其他方法。愉快地重新启动意味着您可以重新启动不止一次。有时它有时不工作。如果它能工作,它将安全地工作直到下次重启。如果它不能安全地工作,直到下次重新启动。 :)
我们所知道的
我们正在使用更多组。所以我们的用户通常有更大的 Kerberos TGT。 MaxTokenSize 提高到 48000.
我们嗅探受影响客户端的网络流量,发现客户端发送了损坏的授权header。带有 kerberos 授权 header 的部分被剪切 - 未正确结束。因此 IIS 服务器的响应是正确且合乎逻辑的。所以问题出在客户端。
我们试图在受影响的计算机上找到工作状态和错误状态之间的一些差异,但没有成功。
我们的网络中有更多的 IIS 服务器。受影响的计算机在 "error state".
中的所有计算机都存在相同的问题
希望我们的想法是正确的,Internet Explorer 正在使用 .NET Framework 进行 HTTP 请求和授权。所以可能是因为 .NET 的某个地方?所有客户端都使用版本 4.
哪位好心人可以帮我们解开这个谜团? :)
已解决。 Eset NOD32 Antivirus 版本 4 正在修改某些计算机上的 HTML 授权 headers。禁用 Web 访问保护 后一切正常。
我们在大约 5% 的 Windows(7 Pro 和 XP Pro,32 位和 64 位)客户端计算机上遇到了奇怪的行为。这些计算机从 IIS 服务器随机获取错误 - 400 错误请求。我们正在使用 Windows 域,这些客户端正在尝试通过 Kerberos 向 IIS 授权。
症状:
- 客户端尝试通过 Internet Explorer 连接到需要身份验证 (Kerberos) 的站点的 IIS 服务器。
- IIS 服务器returns 错误 400 错误请求。
- 直到客户端计算机 "happily restarted",错误才会消失。我们没有找到 "repair" 这个状态的其他方法。愉快地重新启动意味着您可以重新启动不止一次。有时它有时不工作。如果它能工作,它将安全地工作直到下次重启。如果它不能安全地工作,直到下次重新启动。 :)
我们所知道的
我们正在使用更多组。所以我们的用户通常有更大的 Kerberos TGT。 MaxTokenSize 提高到 48000.
我们嗅探受影响客户端的网络流量,发现客户端发送了损坏的授权header。带有 kerberos 授权 header 的部分被剪切 - 未正确结束。因此 IIS 服务器的响应是正确且合乎逻辑的。所以问题出在客户端。
我们试图在受影响的计算机上找到工作状态和错误状态之间的一些差异,但没有成功。
我们的网络中有更多的 IIS 服务器。受影响的计算机在 "error state".
中的所有计算机都存在相同的问题
希望我们的想法是正确的,Internet Explorer 正在使用 .NET Framework 进行 HTTP 请求和授权。所以可能是因为 .NET 的某个地方?所有客户端都使用版本 4.
哪位好心人可以帮我们解开这个谜团? :)
已解决。 Eset NOD32 Antivirus 版本 4 正在修改某些计算机上的 HTML 授权 headers。禁用 Web 访问保护 后一切正常。