JMe*_*erX 7 windows-server-2008 group-policy ntlm windows-server-2000
环境:
问题:
我们有一个位于 NAS 上的共享文件夹,使用 Windows 2008 AD 进行身份验证并设置适当的权限。当 Windows 2000 计算机尝试打开驻留在 Win2008 计算机上的共享时,系统会提示输入用户名和密码。输入凭据后,它会不断重新请求凭据。
重要细节:
Windows 2000 机器可以 ping 通 XP 机器和 Windows 2008 Server
Windows 2008 机器只能使用 NTLMv2
Windows 2000 计算机最初设置为 NTLM,但最近NTLMv2 if negotiated
为了尝试连接到共享而切换到 NTLM 。
我确信它会出现,因为合同义务,我们正在使用 Windows 2000
问题:
为什么在这种情况下密码验证失败?
在为 Win2000 机器设置 GPO 使其使用 NTLMv2 后,我们使用 SECEDIT 更新 GPO,而无需重新启动。 有谁知道这是否足够或者是否需要重新启动?
更新
我们检查了两个 2008 域控制器以找到错误代码。我们收到了:
Microsoft_Auth_Package_V1_0
0xc000006a
Event ID: 4776
Run Code Online (Sandbox Code Playgroud)
我通过这篇文章知道这是一个身份验证错误
“作为当前密码提供的值不正确”
我们知道这个密码是正确的,但是由于这两个域(Win2000 和 Win2008)没有信任设置,需要使用什么身份验证帐户?一个驻留在 Win2000 托管域上?
更新 2
我对 NTLMv2 以及整个过程所需的设置进行了一些研究if negotiated
。我偶然发现了以下信息:来自以下来源:
所以我的问题仍然是处理 NTLMv2 时if negotiated
的真正含义是session security
什么?我的想法是会话安全是这里的关键词。
我们的 2008 服务器设置为级别 5 我们的 2000 服务器设置为级别 1
2000 服务器在任何情况下都不能从级别 1 更改,因为不幸的是它会破坏对许多旧设备的身份验证。所以对我来说,问题是在级别 3,会话通过 NTLM。
我觉得我快到了,但我很难处理它。
这里的关键是理解 Microsoft 所说的“NTLMv2 会话安全(如果协商)”的含义。
浏览一下设置,它看起来像“如果可以的话,请使用 NTLMv2”,但事实上,它根本不是这个意思。
本质上它的意思是“使用 NTLMv1,如果可以的话,使用这个 NTLMv2 组件 - 称为“会话安全””会话安全是 NTLMv2 引入的一项功能,如您链接到的那篇文章中所述 - http://technet .microsoft.com/en-us/magazine/2006.08.securitywatch.aspx
因此,虽然通过使用会话安全性使您的连接更加安全,但归根结底,您发送的哈希值是 NTLMv1 哈希值。并且,正如您发布的表格所示 - NTLMv2 未发送。
那么这意味着什么呢?嗯,这意味着您在 2000 服务器上设置的 GPO 设置为“发送 NTLMv1”,而 Windows 2008 服务器上的 GPO 设置为“仅接受 NTLMv2”。您的解决方案在于修改任一机器上的 GPO,首选方法可能是升级 2k 服务器的安全级别以支持 NTLMv2。不幸的是,如果如上所述会中断连接,唯一的选择是更改 2008 服务器的 GPO 以允许 NTLMv1