Windows SMB共享启用流量加密的核心是强制启用SMB签名与SMB加密,二者缺一不可;需服务端执行Set-SmbServerConfiguration -EncryptData $true,客户端为Windows 8+/Server 2012+等支持SMB 3.0+的系统,并禁用SMBv1以堵住漏洞。
windows smb共享开启流量加密传输,核心是启用smb签名与smb加密两项机制。这两项不是可选项,而是现代安全基线的强制要求——尤其在无线网络、跨公网访问或高敏感环境中,未加密的smb流量极易被中间人截获凭据或篡改文件内容。
确认并启用SMB服务器端加密
Windows Server 或 Windows 10/11 专业版及以上系统默认支持SMB 3.0+,但加密需手动启用:
- 以管理员身份运行PowerShell,执行命令检查当前配置:
Get-SmbServerConfiguration | Select-Object EncryptData, RequireSecuritySignature, EnableSecuritySignature - 若EncryptData为False,运行:
Set-SmbServerConfiguration -EncryptData $true -Force - 该设置会强制所有入站SMB连接(如客户端访问共享)必须使用加密;不支持加密的旧客户端(如仅支持SMBv1的设备)将被拒绝连接
确保客户端也支持并协商加密
仅服务端开启不够,客户端必须能识别并接受SMB 3.x加密能力:
- Windows 8 / Server 2012 及更新系统原生支持SMB加密,无需额外安装
- macOS 10.14+、Linux Samba 4.11+ 也支持SMB 3.1.1加密,但需确认客户端配置未显式禁用
- 验证方式:在客户端访问共享后,运行Get-SmbConnection(Windows)或smbstatus(Linux Samba),查看字段Encrypted是否为True
禁用老旧协议,堵住加密绕过漏洞
SMB加密只在SMBv2或更高版本中生效。SMBv1不仅不支持加密,还存在EternalBlue等远程代码执行漏洞,必须彻底移除:
- 在服务器上执行:
Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol -NoRestart - 重启后确认已卸载:
Get-WindowsOptionalFeature -Online -FeatureName smb1protocol 应显示State : Disabled - 同时关闭主机防火墙中针对SMBv1的NetBIOS相关端口(UDP 137–139),避免协议降级尝试
进阶:用SMB over QUIC实现端到端TLS加密
适用于远程办公或不可信网络(如员工家庭宽带接入企业文件服务器):
- 需Windows Server 2022 Datacenter Azure Edition 或 Windows 11 22H2+,且部署在Azure环境或支持QUIC的边缘网关后
- 启用后,SMB流量改走UDP 443端口,并由TLS 1.3全程加密,天然规避NAT、防火墙拦截和传统SMB中间人攻击
- 配置命令示例:
Enable-SmbServerQuic(需先安装QUIC功能并绑定有效证书)


















