在 Windows 10 版本 1709、Windows Server 版本 1709 及更高版本中默认不会安装 SMBv1
总结
由于 Windows 10 Fall Creators Update 和 Windows Server 版本 1709 (RS3),默认情况下不再安装服务器消息块版本 1 (SMBv1) 网络协议。 从 2007 年开始,它被 SMBv2 和后来的协议所取代。 Microsoft 在 2014 年公开弃用了 SMBv1 协议。
SMBv1 在 Windows 10 和 Windows Server 2019 及更高版本中具有以下行为:
- SMBv1 现在具有可单独卸载的客户端和服务器子功能。
- 全新安装后,Windows 10 企业版、Windows 10 教育版和 Windows 10 工作站专业版默认不再包含 SMBv1 客户端或服务器。
- 全新安装后,Windows Server 2019 及更高版本默认不再包含 SMBv1 客户端或服务器。
- 全新安装后,Windows 10 家庭版和 Windows 10 专业版默认不再包含 SMBv1 服务器。
- 全新安装后,Windows 11 默认不包含 SMBv1 服务器或客户端。
- 全新安装后,Windows 10 家庭版和 Windows 10 专业版默认仍包含 SMBv1 服务器。 如果 SMBv1 客户端总共 15 天未使用(不包括计算机关闭的时间),它会自动卸载自身。
- Windows 10 家庭版和 Windows 10 专业版的就地升级和预览体验成员外部测试版最初不会自动删除 SMBv1。 Windows 评估 SMBv1 客户端和服务器的使用情况,如果其中任何一个总共 15 天未使用(不包括计算机关闭的时间),Windows 将自动卸载它。
- Windows 10 企业版、Windows 10 教育版和 Windows 10 工作站专业版的就地升级和预览体验成员外部测试版不会自动删除 SMBv1。 管理员必须决定在这些托管环境中卸载 SMBv1。
- 15 天后自动删除 SMBv1 是一次性操作。 如果管理员重新安装 SMBv1,则不会进一步尝试卸载它。
- SMB 版本 2.02、2.1、3.0、3.02 和 3.1.1 功能仍完全受支持,并默认包含在 SMBv2 二进制文件中。
- 由于计算机浏览器服务依赖于 SMBv1,因此,如果卸载 SMBv1 客户端或服务器,则会卸载该服务。 这意味着资源管理器网络无法再通过旧版 NetBIOS 数据报浏览方法显示 Windows 计算机。
- SMBv1 仍然可以在所有版本的 Windows 10 和 Windows Server 2016 中重新安装。
- Microsoft 为 Azure 市场创建的 Windows Server 虚拟机不包含 SMB1 二进制文件,并且无法启用 SMB1。 第三方 Azure 市场 VM 可能包含 SMB1,请联系其供应商获取信息。
从 Windows 10 版本 1809 (RS5) 开始,全新安装后,Windows 10 专业版默认不再包含 SMBv1 客户端。 版本 1709 中的所有其他行为仍然适用。
注意
Windows 10 版本 1803 (RS4) 专业版处理 SMBv1 的方式与 Windows 10 版本 1703 (RS2) 和 Windows 10 版本 1607 (RS1) 相同。 此问题已在 Windows 10 版本 1809 (RS5) 中修复。 仍可手动卸载 SMBv1。 但是,在以下情况下,Windows 不会在 15 天后自动卸载 SMBv1:
- 执行 Windows 10 版本 1803 的全新安装。
- 无需先升级到 Windows 10 版本 1709,即可直接将 Windows 10 版本 1607 或 Windows 10 版本 1703 升级到 Windows 10 版本 1803。
如果尝试连接到仅支持 SMBv1 的设备,或者这些设备尝试连接到你,则可能会收到以下错误消息之一:
You can't connect to the file share because it's not secure. This share requires the obsolete SMB1 protocol, which is unsafe and could expose your system to attack.
Your system requires SMB2 or higher. For more info on resolving this issue, see: https://go.microsoft.com/fwlink/?linkid=852747
The specified network name is no longer available.
Unspecified error 0x80004005
System Error 64
The specified server cannot perform the requested operation.
Error 58
当远程服务器需要来自此客户端的 SMBv1 连接,并且安装了 SMBv1 客户端时,将记录以下事件。 此机制审核 SMBv1 的使用情况,自动卸载程序也使用它来设置由于不使用而删除 SMBv1 的 15 天计时器。
Log Name: Microsoft-Windows-SmbClient/Security
Source: Microsoft-Windows-SMBClient
Date: Date/Time
Event ID: 32002
Task Category: None
Level: Info
Keywords: (128)
User: NETWORK SERVICE
Computer: junkle.contoso.com
Description:
The local computer received an SMB1 negotiate response.
Dialect:
SecurityMode
Server name:
Guidance:
SMB1 is deprecated and should not be installed nor enabled. For more information, see https://go.microsoft.com/fwlink/?linkid=852747.
当远程服务器需要来自此客户端的 SMBv1 连接,并且未安装 SMBv1 客户端时,将记录以下事件。 此事件用于显示连接失败的原因。
Log Name: Microsoft-Windows-SmbClient/Security
Source: Microsoft-Windows-SMBClient
Date: Date/Time
Event ID: 32000
Task Category: None
Level: Info
Keywords: (128)
User: NETWORK SERVICE
Computer: junkle.contoso.com
Description:
SMB1 negotiate response received from remote device when SMB1 cannot be negotiated by the local computer.
Dialect:
Server name:
Guidance:
The client has SMB1 disabled or uninstalled. For more information: https://go.microsoft.com/fwlink/?linkid=852747.
这些设备不太可能运行 Windows。 他们更有可能运行旧版本的 Linux、Samba 或其他类型的第三方软件来提供 SMB 服务。 通常,这些版本的 Linux 和 Samba 本身不再受支持。
注意
Windows 10 版本 1709 也称为“Fall Creators Update”。
更多信息
若要变通解决此问题,请与仅支持 SMBv1 的产品的制造商联系,并请求支持 SMBv2.02 或更高版本的软件或固件更新。 有关已知供应商及其 SMBv1 要求的当前列表,请参阅以下 Windows 和 Windows Server 存储工程团队博客文章:
租赁模式
如果需要 SMBv1 来为旧版软件行为提供应用程序兼容性,例如要求禁用 oplock,则 Windows 会提供称为“租赁模式”的新 SMB 共享标志。 此标志指定共享是否禁用新式 SMB 语义,例如租赁和 oplock。
可以在不使用 oplock 或租赁的情况下指定共享,以允许旧版应用程序使用 SMBv2 或更高版本。 为此,请将 New-SmbShare 或 Set-SmbShare PowerShell cmdlet 与 -LeasingMode None 参数一起使用。
注意
如果供应商指出需要此选项,则只应对第三方应用程序要求以支持旧版的共享使用此选项。 不要在横向扩展文件服务器使用的用户数据共享或 CA 共享上指定租赁模式。 这是因为删除 oplock 和租赁会导致大多数应用程序中的不稳定和数据损坏。 租赁模式仅在共享模式下有效。 它可由任何客户端操作系统使用。
资源管理器网络浏览
计算机浏览器服务依赖于 SMBv1 协议来填充 Windows 资源管理器网络节点(也称为“网络邻居”)。 此旧协议早已弃用,不会路由,并且安全性有限。 由于该服务在没有 SMBv1 的情况下无法运行,因此会同时将其删除。
但是,如果仍必须在家庭和小型企业工作组环境中使用资源管理器网络来查找基于 Windows 的计算机,则可以在不再使用 SMBv1 的基于 Windows 的计算机上执行以下步骤:
启动“功能发现提供程序主机”和“功能发现资源发布”服务,然后将其设置为“自动(延迟启动)”。
打开资源管理器网络时,请在出现提示时启用网络发现。
该子网中具有这些设置的所有 Windows 设备现在将显示在“网络”中以供浏览。 这使用 WS-DISCOVERY 协议。 如果 Windows 设备出现后,其他供应商和制造商的设备仍未显示在此浏览列表中,请与这些供应商和制造商联系。 他们可能禁用了此协议,或者仅支持 SMBv1。
注意
建议你映射驱动器和打印机,而不是启用此功能,这仍然需要搜索和浏览其设备。 映射的资源更易于查找,需要的培训更少,并且使用起来更安全。 如果这些资源是通过组策略自动提供的,则尤其如此。 管理员可以使用 IP 地址、Active Directory 域服务 (AD DS)、Bonjour、mDNS、uPnP 等,通过旧版计算机浏览器服务以外的方法配置打印机的位置。
如果无法使用上述任何解决方法,或者应用程序制造商无法提供受支持的 SMB 版本,则可以按照 如何在 Windows 中检测、启用和禁用 SMBv1、SMBv2 和 SMBv3 中的步骤手动重新启用 SMBv1。
重要
强烈建议不要重新安装 SMBv1。 这是因为此较旧的协议存在有关勒索软件和其他恶意软件的已知安全问题。
Windows Server 最佳做法分析器消息传送
Windows Server 2012 及更高版本的服务器操作系统包含适用于文件服务器的最佳做法分析器 (BPA)。 如果已按照正确的联机指南卸载 SMB1,则运行此 BPA 将返回一条相互矛盾的警告消息:
Title: The SMB 1.0 file sharing protocol should be enabled
Severity: Warning
Date: 3/25/2020 12:38:47 PM
Category: Configuration
Problem: The Server Message Block 1.0 (SMB 1.0) file sharing protocol is disabled on this file server.
Impact: SMB not in a default configuration, which could lead to less than optimal behavior.
Resolution: Use Registry Editor to enable the SMB 1.0 protocol.
重要
应忽略此特定 BPA 规则的指南,它已弃用。 在 2022 年 4 月累积更新中首次更正了 Windows Server 2022 和 Windows Server 2019 中的 false 错误。 重申:请勿启用 SMB 1.0。