我使用 squid 设置了代理,并使用 kerberos/ldap 作为身份验证。我参考了这篇文章:http://www.howtoforge.com/debian-squeeze-squid-kerberos-ldap-authentication-active-directory-integration-and-cyfin-reporter
我尝试在 IE 上使用代理,它能正常工作。但它在 Chrome 和 Firefox 上不起作用。(我不确定它在 Chrome 上是否不起作用,因为实际上 Chrome 在 IE 上的网络设置相同)。在 IE 上输入我的帐户详细信息后,它可以正常工作,但在 Chrome 和 Firefox 上它不接受我的用户名和密码。
在 Firefox 上,自动代理配置 URL 是 http://wpad.example.com/wpad.dat(我只是使用了空格,这样它就不会被识别为链接)
network.negotiate-auth.trusted-uris 指向 http://example.com
这是 cache.log 上的日志
2011/08/16 00:45:41| squid_kerb_auth: DEBUG: Decode 'TlRMTVNTUAABAAAAB4IIogAAAAAAAAAAAAAAAAAAAAAFASgKAAAADw==' (decoded length: 40).
2011/08/16 00:45:41| squid_kerb_auth: WARNING: received type 1 NTLM token
2011/08/16 00:45:41| authenticateNegotiateHandleReply: Error validating user via Negotiate. Error returned 'BH received type 1 NTLM token'
访问日志
1313469925.993 0 10.101.204.82 TCP_DENIED/407 4163 GET (I removed the site)- NONE/- text/html
1313469941.280 0 10.101.204.82 TCP_DENIED/407 4163 GET (I removed the site) - NONE/- text/html
答案1
您是否对排除故障不感兴趣?是否以及为什么没有使用 Kerberos?我不是 Squid 的专家,但看起来客户端未能获得访问 Squid 的 Kerberos 票证。
您可以在客户端上使用 klist.exe 来查看它是否确实获得了代理票证。也许 IE 确实获得了 kerberos 票证,但 firefox/chrome 没有?
在尝试使用 IE(启用代理)之前,请在客户端上执行“klist purge”(或注销/登录)。之后检查“klist tickets”以查看您是否有代理的票证。如果您同时进行网络跟踪,您可以查看它是否成功使用该票证对代理进行身份验证,因为我们想确保 squid 对其进行了解码。否则,您可以检查 squid 日志以查看它是否揭示了客户端使用的身份验证。
对 Firefox/Chrome 重复上述操作。
我还会提高 DC 上的 netlogon.log(nltest /dbflag:2080ffff)以查看它们是否报告收到来自 squid 的 NTLM 质询/响应。使用 IE(带代理)时是否会出现密码提示?因为如果没有,则意味着使用了 Kerberos。根据http://blog.rafelo.com/2008/06/firefox-and-integrated-authentication.html看起来浏览器中可能还有其他设置您可能未能执行与 Firefox/Chrome 相关的设置?免责声明:我从未配置 Firefox/Chrome 来执行 Windows 集成身份验证。