windows smb共享安全配置核心是禁用smbv1、强制启用签名、严控来宾访问、最小化服务暴露;60%企业仍存smbv1残留,ms17-010等15+个cve漏洞使其成内网渗透高危入口。
windows smb 共享若配置不当,极易成为内网渗透的入口。安全审计不是走流程,而是聚焦真实风险点:协议版本是否过时、签名是否启用、认证是否强制、共享权限是否宽松。修复要精准,不能只打补丁不调配置,也不能只关功能不验证效果。
SMB 协议版本与SMBv1清理
超过60%的企业内网仍存在SMBv1残留,而该协议已有15+个CVE漏洞,MS17-010(EternalBlue)就是典型代表。它允许未认证远程代码执行,WannaCry正是借此爆发。
- 检查当前启用状态:Get-SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol, EnableSMB3Protocol
- 禁用SMBv1(所有环境都应执行):Set-SmbServerConfiguration -EnableSMB1Protocol $false -Force
- 确认客户端也禁用(尤其家庭版无组策略):在注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters 下新建 DWORD 值 SMB1,设为 0
- 如需兼容老旧设备(如Windows XP或部分NAS),仅临时启用SMBv1客户端,且必须配合防火墙限制445端口访问范围
SMB 签名强制启用(防中间人攻击)
“SMB Signing not required”是中危漏洞(CVSS 5.3),Nessus插件#57608常报此问题。未启用签名时,攻击者可在局域网内篡改SMB流量、劫持会话、中继NTLM凭据。
- Windows服务器端:组策略路径为 计算机配置 → 安全设置 → 本地策略 → 安全选项,启用 Microsoft网络服务器:对通信进行数字签名(始终)
- Windows客户端(影响连接行为):同步启用 Microsoft网络客户端:对通信进行数字签名(始终)
- Samba服务器(Linux):在 /etc/samba/smb.conf 的 [global] 段添加 server signing = required,重启 smbd 和 nmbd
- 验证:用 gpresult /r 查看策略是否生效;Samba可用 testparm -v | grep signing 确认
来宾访问与空密码共享控制
Windows 11 24H2家庭版默认阻止无密码访问,提示“你组织的安全策略阻止未经身份验证的来宾访问”。这虽提升安全性,但对纯家庭网络反而造成使用障碍。关键在于区分场景:可信内网可适度放开,DMZ或混合网络必须关闭。
- 如需启用来宾访问(仅限隔离的家庭网络):gpedit.msc → 计算机配置 → Windows设置 → 安全设置 → 本地策略 → 安全选项,将 网络访问:不允许SAM账户的匿名枚举 设为“已禁用”,并确保 账户:使用空密码的本地账户只允许进行控制台登录 不被误启
- 更推荐方式:停用Guest账户,为共享创建专用低权限账户(如shareuser),并关闭“密码保护的共享”——既免输密码,又避免空口令暴露
- 务必检查共享文件夹的NTFS权限和共享权限双重设置,避免出现Everyone/完全控制这类高危组合
服务与端口最小化收敛
SMB服务监听TCP 445端口,只要该端口开放且SMB服务运行,就存在被探测和利用的风险,即使未显式开启文件共享。
- 非必要不启SMB服务器组件:家庭版用户若仅需访问NAS,可只启用SMB 1.0/CIFS 客户端,禁用服务器端
- 通过防火墙限制445端口:仅允许可信IP段(如192.168.1.0/24)入站,拒绝其他所有来源
- 禁用NetBIOS over TCP/IP(若不用打印机共享等旧服务):在网络适配器属性 → IPv4属性 → 高级 → WINS选项卡中取消勾选
- 对域环境,建议启用SMB加密:Set-SmbServerConfiguration -EncryptData $true -RejectUnencryptedAccess $true -Force











