Chris Driver Asked: 2020-03-15 03:12:52 +0800 CST2020-03-15 03:12:52 +0800 CST 2020-03-15 03:12:52 +0800 CST NTLM 身份验证和未加入域的计算机访问域上的共享 772 我有一台未加入域的 Win 10 计算机,它访问已加入域的 Win 2016 服务器上的共享。第一次连接其中一个共享时,Win 10 客户端受到挑战,我提供域凭据。一切都按预期工作。 如果我理解正确的话,这种情况下的连接将使用 NTLM,而不是更安全的协议,例如 Kerberos。这个假设正确吗?我有一个有效的用例让这台计算机不加入域,但由于 Mimikatz 等黑客工具,我想避免使用 NTLM。是否有任何最佳实践来确保未加入域的计算机可以安全地访问域上的共享? windows security ntlm 1 个回答 Voted Best Answer Adambean 2020-03-15T04:05:52+08:002020-03-15T04:05:52+08:00 是的,情况确实如此,尽管您可以采取一些合理的步骤来降低 NTLM 身份验证的风险...... (但并非没有风险。) 使用长密码 NTLM 密码仍然使用相对较弱的散列方案进行消化,8 个字符的密码可以在大约 2-3 小时内合理破解。(来源 1 来源 2)传统的建议是使用至少 14 个字符长的密码,尽管这不再适用,因为由于 Windows 2000 密码不再按每 7 个字符序列进行消化,因此基本上密码长度现在具有线性优势。(来源) 14 不是一个不合理的长度开始。 强制使用 NTLM 版本 2 您可以使用域中的组策略对象在域成员中强制执行此操作(如果您还没有的话),尽管在您的非域计算机上您可以使用本地安全策略来设置相同的设置。您需要“仅发送 NTLMv2 响应,拒绝 LM 和 NTLM”选项。话虽如此,当两台计算机交谈时,如果只有其中一台(例如您的非域计算机)完全拒绝 LM 和 NTLMv1,另一台计算机无论如何都将被迫使用 NTLMv2,因此您可以安全地将此更改应用于您的非域计算机。仅当域计算机配置为不支持 NTLMv2 时,这才会失败,但这完全是愚蠢的。 在您的非域计算机上,您可以执行以下操作: 通过开始菜单或控制面板打开管理工具 打开本地安全策略 导航到本地策略,然后是安全选项 向下滚动到网络安全:LAN Manager 身份验证级别 将此设置的值更改为“仅发送 NTLMv2 响应,拒绝 LM & NTLM ” 当然,您可以围绕这个选项配置许多其他安全选项,以强制仅使用最严格的连接,尽管据我所知,Windows 10 已经为其中的大多数定义了良好的值。
是的,情况确实如此,尽管您可以采取一些合理的步骤来降低 NTLM 身份验证的风险...... (但并非没有风险。)
使用长密码
NTLM 密码仍然使用相对较弱的散列方案进行消化,8 个字符的密码可以在大约 2-3 小时内合理破解。(来源 1 来源 2)传统的建议是使用至少 14 个字符长的密码,尽管这不再适用,因为由于 Windows 2000 密码不再按每 7 个字符序列进行消化,因此基本上密码长度现在具有线性优势。(来源) 14 不是一个不合理的长度开始。
强制使用 NTLM 版本 2
您可以使用域中的组策略对象在域成员中强制执行此操作(如果您还没有的话),尽管在您的非域计算机上您可以使用本地安全策略来设置相同的设置。您需要“仅发送 NTLMv2 响应,拒绝 LM 和 NTLM”选项。话虽如此,当两台计算机交谈时,如果只有其中一台(例如您的非域计算机)完全拒绝 LM 和 NTLMv1,另一台计算机无论如何都将被迫使用 NTLMv2,因此您可以安全地将此更改应用于您的非域计算机。仅当域计算机配置为不支持 NTLMv2 时,这才会失败,但这完全是愚蠢的。
在您的非域计算机上,您可以执行以下操作:
当然,您可以围绕这个选项配置许多其他安全选项,以强制仅使用最严格的连接,尽管据我所知,Windows 10 已经为其中的大多数定义了良好的值。