无法在 Windows 10 和 Windows Server 2019 之间禁用 SMB 2/3 签名

无法在 Windows 10 和 Windows Server 2019 之间禁用 SMB 2/3 签名

我在 Windows 10 客户端和 Windows Server 2019 系统(DC/Fileserver)之间遇到了一些奇怪的文件复制问题。

我不想在这里详细解释这个问题,只想说它似乎是由 SMB 签名(文件副本上的随机无效签名)引起的。我已经验证了使用 SMB 加密时问题会消失(通过在 Hardened UNC 路径设置中启用 RequirePrivacy=1 来实现)。我的 Wireshark 捕获显示在协商协议响应中(使用 SMB 3.1.1 方言):

Security mode: 0x03, Signing enabled, Signing required
.... ...1 = Signing enabled: True
.... ..1. = Signing required: True

然而根据微软

当需要 SMB 加密时,无论设置如何,都不会使用 SMB 签名。SMB 加密隐式提供与 SMB 签名相同的完整性保证

因此,实际上我已经禁用了签名,而是使用加密。启用此功能后,我的“问题”就不存在了。

我想尝试不使用加密,而是禁用签名。不幸的是,我无法让 Windows 关闭此功能。我已完成以下操作:

1)配置我本地Windows 10客户端的安全策略:

Microsoft 网络客户端:数字签名通信(始终)= 已禁用

Microsoft 网络客户端:数字签名通信(如果服务器同意)= 已禁用

(第二种设置根据微软甚至不需要 SMB2 通信)

2)通过域控制器 GPO 配置我的 Windows Server 2019 DC:

Microsoft 网络服务器:数字签名通信(始终)= 已禁用

Microsoft 网络服务器:数字签名通信(如果客户端同意)= 已禁用

(第二种设置根据微软甚至不需要 SMB2 通信)

根据我的理解,这应该是禁用 SMB2 签名所需的全部操作。但是我还尝试了以下操作:

在 DC 的 SMB 上禁用安全签名:

- 设置 SmbServerConfiguration -EnableSecuritySignature $false

- 设置 SmbServerConfiguration -RequireSecuritySignature $false

我不确定上述内容是否实际处理 SMB2 签名或仅处理 SMB1,但除了在客户端上禁用它们之外,我还设置了它们(Set-SmbClientConfiguration 设置)

我还尝试将 Windows 10 系统上的 UNC 强化键设置为RequireIntegrity=0

这些设置均无法禁用 SMB 签名。我在 Wireshark 捕获协商协议响应中得到的最佳结果是:

Security mode: 0x01, Signing enabled
.... ...1 = Signing enabled: True
.... ..0. = Signing required: False

因此,我成功禁用了签名要求,但实际上无法关闭签名。

我找不到任何表明无法禁用签名的内容,因此要么存在错误 - 要么我遗漏了某些东西。

帮助?

相关内容