网络与域名解析

服务器消息块签名概述 - Windows Server

· 52CE 我爱测

本文介绍服务器消息块 (SMB) 2.x 和 3.x 签名,以及如何确定是否需要 SMB 签名。 简介 SMB 签名(也称为安全签名)是 SMB 协议中的安全机制。 SMB 签名意味着每个 SMB 消息都包含使用会话密钥生成的签名。 客户端将整个消息的哈希放入 SMB 标头的签名字段中。 SMB 签名首先出现在 windows 2000 Microsoft、Microsoft Windows NT 4.0 和 Microsoft Windows 98 中。

本文介绍服务器消息块 (SMB) 2.x 和 3.x 签名,以及如何确定是否需要 SMB 签名。

简介

SMB 签名(也称为安全签名)是 SMB 协议中的安全机制。 SMB 签名意味着每个 SMB 消息都包含使用会话密钥生成的签名。 客户端将整个消息的哈希放入 SMB 标头的签名字段中。

SMB 签名首先出现在 windows 2000 Microsoft、Microsoft Windows NT 4.0 和 Microsoft Windows 98 中。 签名算法随着时间的推移而演变。 通过引入基于哈希的消息身份验证代码 (HMAC) SHA-256 改进了 SMB 2.02 签名,取代了 SMB1 中使用的旧 MD5 方法。 SMB 3.0 添加了 AES-CMAC 算法。 在 Windows Server 2022 和 Windows 11 中,我们添加了 AES-128-GMAC 签名加速。 如果需要最佳性能和保护组合,请考虑升级到最新的 Windows 版本。

SMB 签名如何保护连接

如果有人在传输过程中更改消息,哈希将不匹配,SMB 将知道有人篡改了数据。 签名还确认发件人和接收方的标识。 这可以防止中继攻击。 理想情况下,使用 Kerberos 而不是 NTLMv2,以便会话密钥启动强。 不要使用 IP 地址连接到共享,也不会使用 CNAME 记录,或者使用 NTLM 而不是 Kerberos。 请改用 Kerberos。 有关详细信息,请参阅 使用计算机名称别名代替 DNS CNAME 记录 。

SMB 签名的策略位置

SMB 签名的策略位于计算机配置>Windows 设置>安全设置>本地策略>安全选项中。

  • Microsoft 网络客户端:对通信进行数字签名(始终) 注册表项:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManWorkstation\Parameters 注册表值:RequireSecuritySignature 数据类型:REG_DWORD 数据:0(禁用),1(启用)
  • Microsoft网络客户端:数字签名通信(如果服务器同意) 注册表项:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManWorkstation\Parameters 注册表值: EnableSecuritySignature 数据类型:REG_DWORD 数据:0(禁用),1(启用)
  • Microsoft 网络服务器:对通信进行数字签名(始终) 注册表项:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters 注册表值:RequireSecuritySignature 数据类型:REG_DWORD 数据:0(禁用),1(启用)
  • Microsoft网络服务器:数字签名通信(如果客户端同意) 注册表项:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters 注册表值: EnableSecuritySignature 数据类型:REG_DWORD 数据:0(禁用),1(启用)

请注意 ,在这些策略中,“始终”表示需要 SMB 签名,“如果服务器同意”或“如果客户端同意”表示已启用 SMB 签名。

了解“RequireSecuritySignature”和“EnableSecuritySignature”

忽略 SMB2+ 客户端和 SMB2+ 服务器的 EnableSecuritySignature 注册表设置。 因此,除非使用 SMB1,否则此设置不会起任何作用。 SMB 2.02 及更高版本的签名仅由是否需要来控制。 当服务器或客户端需要 SMB 签名时,使用此设置。 仅当两者都已将签名设置为 0 时,才会进行签名。

- 服务器 – RequireSecuritySignature=1 服务器 – RequireSecuritySignature=0
客户端 – RequireSecuritySignature=1 Signed Signed
客户端 – RequireSecuritySignature=0 Signed 未签名

参考

以置信度配置 SMB 签名

如何通过 SMB 客户端防御保护用户免受拦截攻击

Windows 10 中的 SMB 2 和 SMB 3 安全性:签名和加密密钥剖析

默认情况下,WINDOWS 10 版本 1709、Windows Server 版本 1709 及更高版本中未安装 SMBv1

Netdom computername

资料来源与适用范围

资料来源
微软官方中文故障文档
适用范围
按正文的 Windows / Windows Server 适用版本;保留原文兼容性要求
内容语言
中文;命令、路径和错误标识保留技术原文
本地收录日期
2026-10-26
授权说明
CC BY 4.0

正文与所需资源由本站本地存储。查看来源及更新记录 ↗

请按适用版本和实际日志确认原因;本站没有对每一种系统或设备逐项执行文中的操作。