我正在运行 Squid 2.7-stable4、Samba 3 和带有 IE8 的 Windows 7 RC。
我在我的 squid 代理服务器上设置了 NTLM 身份验证,它对于每种浏览器和 Windows 组合(包括 XP 上的 IE8 和 Win7 上的 Firefox)都运行良好,但它对于 Windows 7 上的 IE8 不起作用(一直要求身份验证)。
我可以使用 LmCompatibilityLevel 注册表黑客来使其工作,但我真的更希望让它在服务器上工作。
有人有这方面的经验吗?或者知道从哪里开始查找?Samba 日志没有透露太多信息。
编辑:这是我尝试进行身份验证时 wb-MYDOMAIN 日志显示的内容:
[2009/08/20 15:13:36, 4] nsswitch/winbindd_dual.c:fork_domain_child(1080)
child daemon request 13
[2009/08/20 15:13:36, 10] nsswitch/winbindd_dual.c:child_process_request(478)
process_request: request fn AUTH_CRAP
[2009/08/20 15:13:36, 3] nsswitch/winbindd_pam.c:winbindd_dual_pam_auth_crap(1755)
[ 4127]: pam auth crap domain: MYDOMAIN user: MYUSER
[2009/08/20 15:13:36, 0] nsswitch/winbindd_pam.c:winbindd_dual_pam_auth_crap(1767)
winbindd_pam_auth_crap: invalid password length 24/282
[2009/08/20 15:13:36, 2] nsswitch/winbindd_pam.c:winbindd_dual_pam_auth_crap(1931)
NTLM CRAP authentication for user [MYDOMAIN]\[MYUSER] returned NT_STATUS_INVALID_PARAMETER (PAM: 4)
[2009/08/20 15:13:36, 10] nsswitch/winbindd_cache.c:cache_store_response(2267)
Storing response for pid 4547, len 3240
答案1
在 W7 上运行本地 GP(不记得了,但在 2000 和 2003 中是 gpedit.msc)。查找本地计算机策略->计算机配置->windows 设置->本地策略->安全选项->网络安全:LAN 管理器身份验证级别
设置 LM 和 NTLM - 如果协商,则使用 NTLMv2 会话
答案2
正确的解决方案是使用较新的 samba 发行版中的 ntlm_auth 程序:samba 3.4 和 samba 3.5 似乎可以使用 NTLMv2 验证 Win7,没有任何问题。Samba 3.0 无法做到这一点。
答案3
您实际上无法在 NTLM 中执行此操作。您必须使用 Kerberos,如所述让 Squid 使用 Kerberos 和 Windows 2008/2003/7/XP 进行身份验证。