核心是禁用TCP/IP上的NetBIOS、禁止不安全来宾认证、双重锁死共享与NTFS权限、限制445端口网络可达性,并禁用高风险共享模式。

要防止网络文件共享协议被匿名读写,核心是切断“无身份、无凭证、无限制”的访问路径。这不是单纯关掉某个开关就能解决的问题,而是需要在网络层、协议层、系统权限层和共享配置层同步收紧。
关闭匿名访问入口(SMB/NetBIOS)
Windows Server 默认可能允许 Guest 或空会话连接,这是匿名读写的常见突破口。
- 在【服务器管理器】→【本地服务器】→【服务】中,将 TCP/IP NetBIOS Helper 服务设为“禁用”
- 进入网卡属性 → IPv4 → 高级 → WINS 选项卡 → 勾选“禁用 TCP/IP 上的 NetBIOS”
- 注册表加固(可选):定位到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters,新建 DWORD 值 AllowInsecureGuestAuth,设为 0(彻底禁止不安全的来宾认证)
共享与NTFS权限双重锁死
仅靠共享权限或仅靠NTFS权限都不保险,必须两者协同生效,且默认拒绝一切未明确授权的访问。
- 共享权限设置中,删除 Everyone、Guest、Authenticated Users 等宽泛组,只添加具体域用户或安全组(如 Domain_Finance_RW)
- NTFS 权限中,右键文件夹 → 安全 → 高级 → 取消“继承权限”,清除所有默认项;再手动添加内部组,并明确勾选“读取”“写入”等最小必要权限
- 对根共享目录(如 D:\Shares),建议设置 拒绝 Domain Users 的“创建文件/写入数据”权限,避免用户在不该写的地方乱建文件
限制网络可达性(防火墙+作用域)
即使权限配得再严,如果445端口对公网或访客网络开放,攻击者仍可能尝试暴力探测或利用漏洞绕过认证。
- 使用 PowerShell 创建精准入站规则:
New-NetFirewallRule -DisplayName "SMB_LAN_Only" -Direction Inbound -Protocol TCP -LocalPort 445 -RemoteAddress 192.168.10.0/24 -Action Allow - 同时禁用系统自带的“文件和打印机共享(SMB-In)”规则,防止其覆盖自定义策略
- 若部署在虚拟化环境或云平台,额外在宿主机或安全组层面限制源IP段,形成双重网络过滤
禁用高风险共享模式(SAMBA/FTP类场景)
非Windows环境(如Linux Samba服务器)需特别注意配置陷阱。
- 检查 /etc/samba/smb.conf 中所有共享段,确保不含 guest ok = yes 和 writable = yes 同时出现的情况
- 若必须提供只读公共区,应单独挂载一个隔离目录(如 /srv/public),并设置 create mask = 0644、directory mask = 0755,且该目录不得包含任何敏感路径的符号链接
- 文件系统挂载时启用 nosuid, noexec, nodev 参数,防止上传脚本被意外执行

















