首页/安全/安全加固速查/Samba/SMB 服务加固
服务与端口收敛50 条

Samba/SMB 服务加固

Samba 面向 Linux/Windows 互通,配置错误会造成匿名共享与弱协议:最小共享、禁 guest、强协议与审计一起上。

安全加固速查安全更新于 2026-10-13

Samba 加固三条线

Samba 提供 Linux 与 Windows 之间的 SMB 文件共享,配置不当会直接带来匿名共享与弱协议风险。加固方向是三条并行:最小化共享(只暴露必要目录)、禁用 guest 与匿名枚举、把协议下限抬到 SMB2 及以上,同时开启必要的共享审计。

基本信息

适用平台Linux(Samba)
风险等级高
基线要求无匿名共享,协议不低于 SMB2
配置文件/etc/samba/smb.conf
核查工具testparm 与 smbstatus

典型使用场景

  • 迁移或新建文件共享服务前的配置评审
  • 排查可以被匿名访问的共享目录
  • 关闭已不使用的 SMB1 协议
  • 共享访问异常时确认实际生效的配置项
  • 核对共享目录权限与账号归属

核查与关键配置

核查与关键配置
testparm -s 2>/dev/null | head -40   # 查看生效配置(含默认值展开)
# smb.conf 关键项:
# server min protocol = SMB2      # 协议下限抬到 SMB2
# map to guest = never            # 未认证用户不映射为来宾
# restrict anonymous = 2          # 禁止匿名枚举
# ntlm auth = ntlmv2-only         # 只允许 NTLMv2
smbstatus 2>/dev/null               # 查看当前连接与共享使用情况
smbclient -L localhost -N 2>/dev/null | head   # 匿名尝试列共享,验证是否可枚举

配置项读法

配置项含义注意点
server min protocol服务端允许的最低协议至少 SMB2,禁用 SMB1
map to guest未认证用户的映射方式应为 never
restrict anonymous匿名枚举限制设为 2 禁止枚举
ntlm auth允许的 NTLM 认证级别尽量只保留 ntlmv2
共享段 guest ok该共享是否允许来宾访问逐个 section 核查
SMB1 存在经典的远程利用漏洞(永恒之蓝一类),服务端与客户端两端都要禁用,只改一端仍然可能被利用。
只看全局段不够:guest ok 常常出现在某个具体共享段里,必须逐个 section 核查,同时确认 restrict anonymous 已经设置。共享目录的文件系统权限与会话权限是两层控制,排查访问被拒时要同时看两侧。
禁用 SMB1 的同时要确认客户端与挂载方式不依赖旧协议:老设备或老 NAS 断连是常见后果,收敛前先在测试环境完整验证一轮再推到生产。
加固后建议做一次实测:用匿名会话尝试列出共享、用低权限账号尝试访问受限目录,确认策略真的生效,而不是只看了配置文件。

易错点

  • 只看全局段不看具体共享段,漏掉某个共享里的 guest ok = yes,匿名访问照旧
  • 只关来宾映射不关匿名枚举,共享列表与用户信息仍可被匿名拉取
  • 只在服务端禁用 SMB1,客户端仍在协商旧协议,两端都要关才有效果
  • 改完配置不用 testparm 校验就重启服务,配置写错会导致共享服务起不来

数据来源与参考

  • Samba 官方文档:smb.conf
  • CIS Benchmark:SMB 条目

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌