阻止 SMB 上的 NTLM 连接
SMB 客户端现在支持阻止远程出站连接的 NTLM 身份验证。 阻止 NTLM 身份验证可以防止不良行为者诱骗客户端向恶意服务器发送 NTLM 请求,从而对抗暴力攻击、破解和哈希传递攻击。 将组织的身份验证协议切换到 Kerberos 时也需要 NTLM 阻止,Kerberos 比 NTLM 更安全,因为它可以通过其票证系统验证服务器身份。 但是,组织也可以启用此保护层,而不必完全禁用 NTLM。
先决条件
SMB 客户端的 NTLM 阻止需要满足以下先决条件:
- 在以下某一操作系统上运行的 SMB 客户端。
- Windows Server 2025 或更高版本。
- Windows 11 版本 24H2 或更高版本。
- 允许使用 Kerberos 的 SMB 服务器。
提示
NTLM 阻止只是 SMB 客户端功能。 SMB 客户端内置于 Windows Server 和 Windows 客户端操作系统中。 目标 SMB 服务器可以是任何可以使用 PKU2U 或 kerberos 的操作系统。
配置 SMB 客户端 NTLM 阻止
从 Windows Server 2025 和 Windows 11 版本 24H2 开始,可以选择将 SMB 配置为阻止 NTLM。 若要提高运行早期版本的 Windows 的部署的安全性,必须通过编辑相关的组策略或在 PowerShell 中运行特定命令来手动禁用 NTLM。
配置 NTLM 阻止:
打开“组策略管理控制台”。
在控制台树中,转到计算机配置>管理模板>网络>Lanman 工作站。
右键单击阻止 NTLM(LM、NTLM、NTLMv2)并选择编辑。
选择“启用”。
启用 NTLM 阻止的异常
在某些情况下,可能需要允许某些计算机使用 NTLM,而不是全局阻止。 例如,当尝试连接的 SMB 服务器未加入 Active Directory 域时。
若要启用 NTLM 阻止的异常列表,请:
在组策略编辑器控制台树中,转到计算机配置>管理模板>网络>Lanman 工作站。
右键单击阻止 NTLM 服务器异常列表,然后选择编辑。
选择“启用”。
输入要允许 NTLM 身份验证的远程计算机的 IP 地址、NetBIOS 名称和完全限定的域名 (FQDN)。
映射 SMB 驱动器时阻止 NTLM
还可以通过运行以下命令在映射新 SMB 驱动器时阻止 NTLM。
使用 NET USE 映射驱动器时,运行此命令可指定 NTLM 阻止:
NET USE \\server\share /BLOCKNTLM
运行此命令可在映射 SMB 驱动器时指定 NTLM 阻止:
New-SmbMapping -RemotePath \\server\share -BlockNTLM $true