在 Windows 11 24H2 中,微软对安全策略进行了调整,现在要求所有连接都必须进行SMB签名。这一变化导致用户以往使用的修改方法失效。当无法访问共享文件夹时,因为组织的安全策略会阻止未经身份验证的来宾访问,这些策略有助于保护您的电脑免受网络上不安全或恶意设备的侵害,但是当您没有通过验证需要访问时会出现错误提示如,0x80070035、0x800704f8、找不到网络路径(The network path was not found)、发生系统错误3227320323(System error 3227320323 has occurred)。
微软官方及论坛链接:
https://learn.microsoft.com/zh-cn/windows-server/storage/file-server/smb-signing?tabs=powershell
解决方法:
所有的方法执行之前都需要转为本地账户,如果需要使用微软账户,可以正常取得共享文件夹访问权限的账户密码登陆后进行访问。
方法一:使用 PowerShell 命令
注意:SMB服务上不需要签名,未经身份验证的远程攻击者可以利用此攻击对SMB服务器进行中间人攻击。
已管理员身份运行系统自带的 PowerShell 窗口,依次输入以下命令:
Set-SmbClientConfiguration -RequireSecuritySignature $false
输入后按回车,并根据提示按 Y 确认。
Set-SmbClientConfiguration -EnableInsecureGuestLogons $true
同样,输入后按回车,并根据提示按 Y 确认。
方法二:通过修改注册表
新建一个文本文档,将以下内容复制粘贴进去:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters]
"AllowInsecureGuestAuth"=dword:00000001
"RequireSecuritySignature"=dword:00000000
保存文件后,将文件扩展名从.txt更改为.reg,然后双击运行。请注意,修改注册表后需要重启系统才能生效。
方法三:通过组策略进行设置(适用于除了家庭版支持组策略的系统)
按Windows+R键,打开运行,输入gpedit.msc,打开本地组策略编辑器,定位至“本地计算机策略 > 计算机配置 > 管理模板 > 网络 > Lanman 工作站”,在此处启用“允许不安全的来宾登录”策略。
继续在组策略编辑器中,定位至“本地计算机策略 > 计算机配置 > Windows 设置 > 安全设置 > 本地策略 > 安全选项”,然后禁用“Microsoft 网络客户端:对通信进行数字签名(始终)”策略。
Q&A
- 使用命令或注册表项的方式修改后再次尝试访问依旧需要“输入网络凭证”。
解决方案:如果是微软账户,建议为本地账户。
- 转换为本地账户后访问共享文件夹地址,提示“出现了扩展错误”。
解决方案:可以使用“Get-SmbClientConfiguration | FL RequireSecuritySignature”可以查看SMB 签名在 SMB 客户端的状态,
如果返回的信息为 True,则启用了 SMB 签名,需要执行命令将其禁用,如果返回的信息为 False,则表示禁用了 SMB 签名。
- 提示网络错误
解决方案:当前机器是否有正常连接网络,如果已经正常连接,可以再查看一下SMB签名是否已禁用。