如何在 SMB2 和 SMB3 中启用不安全的来宾登录
本文介绍服务器消息块 (SMB) 不安全的来宾登录默认行为、启用来宾访问的原因,以及如何使用组策略和 PowerShell 为 SMB 客户端启用该功能。
自 Windows 2000 以来,Windows 禁用了入站来宾访问;自 Windows 10 以来,阻止了 SMB2 和 SMB3 客户端来宾身份验证。 但是,连接到不支持用户名和密码的第三方设备时,可能仍然需要来宾凭据。 建议升级或更换仅支持来宾身份验证的任何第三方软件或设备。
默认行为
从 Windows 10 版本 1709 和 Windows Server 2019 开始,默认情况下,SMB2 和 SMB3 客户端不再允许以下操作:
- 来宾帐户访问远程服务器。
- 提供无效凭据后,回退到来宾帐户。
对于不同版本的 Windows,SMB2 和 SMB3 的行为如下:
默认情况下,即使远程服务器请求,来宾凭据也不能用于连接到 Windows 10 企业版、Windows 10 专业工作站版和 Windows 10 教育版中的远程共享。
在 Windows Server 2019 Datacenter 和 Standard 版本中,默认情况下不再允许使用来宾凭据连接到远程共享,即使远程服务器请求也是如此。
默认情况下,Windows 10 家庭版和专业版仍然允许使用来宾身份验证,就像以前一样。
在 Windows 11 专业版 Insider Preview 内部版本 25267 和所有后续版本中,默认情况下,来宾凭据不能用于连接到远程共享,即使远程服务器请求也是如此。
默认情况下,Windows 11 版本 24H2、Windows Server 2025 及更高版本需要 SMB 签名,这会导致签名失败时与来宾身份验证的兼容性问题。
注意
只要安装了 KB5003173,这种行为就会出现在各种版本的 Windows 10 中,包括 1709、1803、1903、1909、2004、20H2 和 21H1。
启用来宾登录的原因
如果用户需要访问服务器上的资源,但服务器不提供用户帐户,只提供来宾访问,则可能需要启用来宾登录。
注意
请务必注意,启用来宾登录可能会构成安全威胁,因为它允许:
- 攻击者欺骗用户连接到欺骗性的恶意服务器,而不会产生凭证错误或提示。
- 通过来宾登录执行恶意代码(例如勒索软件)。
- 来宾登录容易受到中间敌手攻击,这些攻击可能会暴露网络上的敏感数据。
因此,建议仅在需要来宾登录的特定情况下才启用来宾登录。 默认情况下,Windows 禁用不安全的来宾登录。 建议不要启用不安全的来宾登录。
先决条件
在开始修改 SMB 客户端不安全的来宾登录之前,需要满足以下条件。
作为管理员组成员的帐户,或等效帐户。
在以下某一操作系统上运行的 SMB 客户端:
Windows 10 或更高版本。
Windows Server 2019 或更高版本。
如果计划为不安全的来宾登录启用审核,则必须在以下操作系统之一上运行 SMB 客户端。
- Windows 11 版本 24H2 或更高版本。
- Windows Server 2025。
启用不安全的来宾登录
启用不安全的来宾登录可以通过组策略或 PowerShell 执行。
注意
如果需要修改基于 Active Directory 域的组策略,请使用组策略管理 (gpmc.msc)。
- 选择开始,键入 gpedit.msc,然后选择编辑组策略。
- 在本地计算机策略下的左窗格中,导航到 Computer Configuration\Administrative Templates\Network\Lanman Workstation。
- 打开启用不安全的来宾登录,选择已启用,然后选择确定。
必须在组策略中同时禁用 SMB 签名和 SMB 加密策略才能使用来宾登录。 这样做可能会危及客户端的安全,并使用户容易受到凭据被盗和中继攻击。
注意
来宾登录不支持标准安全功能,例如 SMB 签名和 SMB 加密,即使 SMB 客户端设置为允许来宾登录也不例外。
审核不安全的来宾登录
启用不安全的来宾登录策略后,这些事件会在事件查看器中捕获。 若要查看这些日志,请执行以下步骤:
- 右键单击开始,并选择事件查看器。
- 在左窗格中,导航到 Applications and Service Logs\Microsoft\Windows\SMBClient\Security。
在中间窗格中,可以查看有关这些事件的以下信息:
事件 ID | 输出 |
---|---|
3023 | 日志名称:Microsoft-Windows-SmbServer/Security 来源:Microsoft-Windows-SMBServer 记录:日期/时间 任务类别:InsecureGuestLogon 级别:信息 关键字:身份验证 用户:系统 计算机: 说明:SMB 客户端以来宾帐户身份登录。 |
31017 | 日志名称:Microsoft-Windows-SmbClient/Security 来源:Microsoft-Windows-SMBClient 记录:日期/时间 任务类别:RejectedInsecureGuestAuth 级别:错误 关键字:身份验证 用户:网络服务 计算机: 说明:拒绝了不安全的来宾登录。 计算机尝试使用不安全的来宾登录连接到服务器。 服务器拒绝了连接。 确保在服务器上启用来宾帐户,并将其配置为允许从网络进行访问。 |
31018 | 日志名称:Microsoft-Windows-SmbClient/Security 来源:Microsoft-Windows-SMBClient 记录:日期/时间 任务类别:InsecureGuestAuthEnabled 级别:警告 关键字:身份验证 用户:网络服务 计算机: 说明:管理员已启用 AllowInsecureGuestAuth。 使用不安全来宾登录的客户端更容易受到中间人攻击、网络钓鱼和恶意软件攻击。 |
31022 | 日志名称:Microsoft-Windows-SmbClient/Security 来源:Microsoft-Windows-SMBClient 记录:日期/时间 任务类别:AllowedInsecureGuestAuth 级别:警告 关键字:身份验证 用户:系统 计算机: 说明:允许不安全的来宾登录。 此事件表示服务器尝试让用户以未经身份验证的访客身份登录,并且得到了客户端的允许。 用户名:nonexistantaccount 服务器名称: |