本文内容
本文介绍有关 Windows 在默认情况下禁用 SMB2 和 SMB3 中的来宾访问的信息,并提供设置以在组策略中启用不安全的来宾登录。 但是,通常不建议这样做。
适用于:Windows 10 - 所有版本,Windows Server 2019
原始 KB 编号: 4046019
症状
从 Windows 10 版本 1709 和 Windows Server 2019 开始,SMB2 和 SMB3 客户端默认情况下不再允许执行以下操作:
SMB2 和 SMB3 在这些版本的 Windows 中具有以下行为:
注意
这种Windows 10行为发生在 1709 Windows 10、Windows 10 1803、Windows 10 1903、Windows 10 1909 以及 Windows 10 2004、Windows 10 20H2、 & Windows 10 21H1安装了 KB5003173。 此默认行为以前在 Windows 10 1709 实现,但后来在 Windows 10 2004、Windows 10 20H2 和 Windows 10 21H1 中回归,其中来宾身份验证默认未禁用,但仍可能被管理员禁用。 有关确保禁用来宾身份验证的详细信息,请参阅以下内容。
如果尝试连接到请求来宾凭据而不是经过适当身份验证的主体的设备,可能会收到以下错误消息:
无法访问此共享文件夹,因为组织的安全策略阻止未经身份验证的来宾访问。 这些策略有助于保护 PC 免受网络上不安全或恶意设备的侵害。
此外,如果远程服务器尝试强制使用来宾访问,或者管理员启用来宾访问,则 SMB 客户端事件日志中将记录以下条目:
日志项 1
Log Name: Microsoft-Windows-SmbClient/Security
Source: Microsoft-Windows-SMBClient
Date: Date/Time
Event ID: 31017
Task Category: None
Level: Error
Keywords: (128)
User: NETWORK SERVICE
Computer: ServerName.contoso.com
Description: Rejected an insecure guest logon.
User name: Ned
Server name: ServerName
指南
此事件指示服务器尝试以未经身份验证的来宾身份登录用户,但被客户端拒绝。 来宾登录不支持标准安全功能,例如签名和加密。 因此,来宾登录容易受到可能在网络上公开敏感数据的中间人攻击。 默认情况下,Windows 禁用不安全的(非安全)来宾登录。 建议不要启用不安全的来宾登录。
日志项 2
Log Name: Microsoft-Windows-SmbClient/Security
Source: Microsoft-Windows-SMBClient
Date: Date/Time
Event ID: 31018
Task Category: None
Level: Warning
Keywords: (128)
User: NETWORK SERVICE
Computer: ServerName.contoso.com
Description: The AllowInsecureGuestAuth registry value is not configured with default settings.
默认注册表值:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters] "AllowInsecureGuestAuth"=dword:0
配置的注册表值:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters] "AllowInsecureGuestAuth"=dword:1
指南
此事件指示管理员已启用不安全的来宾登录。 当服务器以未经身份验证的来宾身份登录用户时,会出现不安全的来宾登录。 它的发生通常是为了响应身份验证失败。 来宾登录不支持标准安全功能,例如签名和加密。 因此,允许来宾登录使客户端容易受到可能在网络上公开敏感数据的中间人攻击。 默认情况下,Windows 禁用不安全的来宾登录。 建议不要启用不安全的来宾登录。
原因
默认行为的这种更改是设计使然,Microsoft 出于安全考虑建议这样做。
冒充合法文件服务器的恶意计算机可能允许用户在不知情的情况下以来宾身份进行连接。 建议不要更改此默认设置。 如果远程设备配置为使用来宾凭据,则管理员应禁用对该远程设备的来宾访问,并配置正确的身份验证和授权。
自 Windows 2000 以来,Windows 和 Windows Server 尚未启用来宾访问或允许远程用户作为来宾或匿名用户进行连接。 默认情况下,只有第三方远程设备可能需要来宾访问。 Microsoft 提供的操作系统不需要。
解决方案
如果要启用不安全的来宾访问,可以配置以下组策略设置:
打开本地组策略编辑器 (gpedit.msc)。在控制台树中,依次选择“计算机配置”>“管理模板”>“网络”>“Lanman 工作站”。对于设置,右键单击“启用不安全的来宾登录”,然后选择“编辑”。选择“启用”,然后选择“确定”。
注意
如要修改 Active Directory 基于域的组策略,请使用组策略管理 (gpmc.msc)。
出于监视和清点目的:此组策略将以下 DWORD 注册表值设置为 1(启用不安全的来宾身份验证)或 0(禁用不安全的来宾身份验证):
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\LanmanWorkstation\
AllowInsecureGuestAuth
若要在不使用组策略的情况下设置值,请将以下 DWORD 注册表值设置为 1(启用不安全的来宾身份验证)或 0(禁用不安全的来宾身份验证):
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters
AllowInsecureGuestAuth
注意
与往常一样,组策略中的值设置将替代非组策略注册表值中的值设置。
在 Windows 10 1709、Windows 10 1803、Windows 10 1903、Windows 10 1909 和 Windows Server 2019 上,如果 AllowInsecureGuestAuth 在 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters] AllowInsecureGuestAuth 中的值为 0,则禁用来宾身份验证。
在安装了 KB5003173 的 Windows 10 2004、Windows 10 20H2 和 Windows 10 21H1 企业版和教育版上,如果 AllowInsecureGuestAuth 不存在,或者它在 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters] AllowInsecureGuestAuth 中的值为 0,则禁用来宾身份验证。 家庭版和专业版默认允许来宾身份验证,除非使用组策略或注册表设置禁用它。
注意
通过启用不安全的来宾登录,此设置会降低 Windows 客户端的安全性。