我们在大约5%的Windows (7pro和XP Pro, 32位和64位)客户端计算机上面临奇怪的行为。这些计算机从IIS服务器获得随机错误- 400错误请求。我们正在使用Windows域,这些客户端正在尝试通过Kerberos向IIS授权。
Symtomps:
- 客户端试图通过Internet Explorer连接IIS服务器到需要身份验证(Kerberos)的站点。
- IIS server返回错误400 Bad Request. 错误将不会消失,直到客户端计算机"愉快地重新启动"。我们没有找到其他方法来"修复"这种状态。愉快重启意味着您可以多次重启。有时有效,有时无效。如果它工作,它将安全工作,直到下次重启。如果它不安全,它不工作,直到下次重启。:)
我们知道的
-
我们正在使用更多的组。所以我们的用户通常有更大的Kerberos TGT。MaxTokenSize增加到48000.
-
我们在受影响的客户端上嗅探网络流量,发现客户端发送损坏的授权头。kerberos授权报头部分被切断——没有正确结束。所以IIS服务器的响应是正确的和合乎逻辑的。所以问题在客户端
-
我们试图在受影响的计算机上找到工作状态和错误状态之间的差异,但没有成功。
-
我们的网络中有更多的IIS服务器。
-
希望我们的想法是正确的,Internet Explorer正在使用。net框架进行HTTP请求和授权。所以原因可能在。net的某个地方?所有客户端都在使用版本4
解决。Eset NOD32防病毒版本4正在修改某些计算机上的HTML授权头。禁用Web访问保护后一切都像魅力一样。