应启用“网络访问:不允许 sam 帐户的匿名枚举”并禁用不安全的来宾登录,同时收紧“从网络访问此计算机”权限、关闭非必要共享及 smbv1,以阻断空会话枚举用户、组和共享列表等敏感信息。
windows 系统要严格限制匿名枚举,核心是禁用 sam 账户和共享资源的匿名访问能力。这能防止未授权用户通过网络探测获取用户名、组名、共享列表等敏感信息,是基础但关键的安全加固项。
启用“不允许 SAM 账户的匿名枚举”
这是最直接有效的设置,阻止攻击者通过空会话(null session)列举本地用户和组:
- 以管理员身份打开本地安全策略(
secpol.msc)或组策略编辑器(gpedit.msc) - 路径:计算机配置 → Windows 设置 → 安全设置 → 本地策略 → 安全选项
- 找到并双击:网络访问:不允许 SAM 帐户的匿名枚举
- 选择已启用,点击确定
同步禁用“不安全的来宾登录”(Win10/Win11 必做)
新版 Windows 默认禁用不安全来宾登录,但若为兼容老旧设备而开启过,会绕过匿名枚举限制:
- 打开注册表编辑器(
regedit),定位到:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa - 新建或修改 DWORD(32位)值:DisableGuestBranchCache,设为 1
(更稳妥做法是直接删掉或设为 0 的 AllowInsecureGuestAuth,若存在) - 或者通过组策略:
计算机配置 → 管理模板 → 网络 → Lanman 工作站 → 启用不安全的来宾登录 → 设为已禁用
收紧“从网络访问此计算机”用户权限
仅允许明确授权的账户远程连接,避免匿名或低权限账户获得基本访问入口:
- 在本地安全策略中,进入:本地策略 → 用户权限分配
- 双击:从网络访问此计算机
- 移除 Everyone、Users 等宽泛组
- 只保留必要账户或组,例如:Administrators、Domain Admins 或专用业务账号
检查并关闭不必要的共享与 SMB 旧协议
匿名枚举常依赖 SMB 协议暴露的共享信息,减少攻击面可提升整体效果:
- 运行
net share查看当前共享,删除非必要共享(如ADMIN$、C$若非管理必需) - 禁用 SMBv1(高危且过时):
PowerShell 中以管理员运行:Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol -NoRestart - 确保共享权限中绝不使用 Everyone,只授予最小必要账户读/写权限











