如何在 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 Insiders、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 Insider Preview 内部版本 25267 或更高版本。
  • Windows Server 2025。

启用不安全的来宾登录

启用不安全的来宾登录可以通过组策略或 PowerShell 执行。

注意

如果需要修改基于 Active Directory 域的组策略,请使用组策略管理 (gpmc.msc)。

  1. 选择开始,键入 gpedit.msc,然后选择编辑组策略
  2. 本地计算机策略下的左窗格中,导航到 Computer Configuration\Administrative Templates\Network\Lanman Workstation
  3. 打开启用不安全的来宾登录,选择已启用,然后选择确定

必须在组策略中同时禁用 SMB 签名和 SMB 加密策略才能使用来宾登录。 这样做可能会危及客户端的安全,并使用户容易受到凭据被盗和中继攻击。

注意

来宾登录不支持标准安全功能,例如 SMB 签名和 SMB 加密,即使 SMB 客户端设置为允许来宾登录也不例外。

审核不安全的来宾登录

启用不安全的来宾登录策略后,这些事件会在事件查看器中捕获。 若要查看这些日志,请执行以下步骤:

  1. 右键单击开始,并选择事件查看器
  2. 在左窗格中,导航到 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
服务器名称: