本地密码策略从哪里来
工作组环境或未纳入域的 Windows 主机,密码复杂度、长度、有效期与锁定策略都来自本地安全策略,可以用 net accounts 直接查看和设置,也可以用 secedit 导出成文本逐项比对基线。需要注意策略的层级:加入域之后,域 GPO 的密码策略会覆盖本地设置,所以改之前先确认这台机器到底听谁的,否则改完看起来生效、实际被域策略顶回去。
基本信息
| 加固项 | 本地密码与账户锁定策略 |
|---|---|
| 适用平台 | Windows 10/11、Windows Server(非域或本地策略生效场景) |
| 权限要求 | 本地管理员 |
| 常见基线 | 最小长度 14、最长使用期 90 天、历史记录 24 次、锁定阈值 5 次 |
| 配套工具 | net accounts、secedit、secpol.msc、GPO |
典型使用场景
- 等保测评前核查单机口令强度与锁定策略
- 新交付的工作组服务器做基线初始化
- 域外测试机、生产隔离区的独立主机加固
- 排查反复登录失败但未被锁定的异常现象
- 把本地策略与域策略做差异对比,确认实际生效值
查看与设置
查看与设置
net accounts # 当前策略汇总:长度、有效期、历史记录、锁定阈值与窗口
net accounts /minpwlen:14 /maxpwage:90 /minpwage:1 /uniquepw:24 # 口令强度相关
net accounts /lockoutthreshold:5 /lockoutduration:15 /lockoutwindow:15 # 锁定相关
secedit /export /cfg C:\temp\secpol.inf /quiet
Select-String -Path C:\temp\secpol.inf -Pattern 'MinimumPasswordLength|PasswordHistorySize|LockoutBadCount|MaximumPasswordAge'关键参数对照
| 参数 | 含义 | 取值建议 |
|---|---|---|
| /minpwlen | 口令最小长度 | 14 位以上,配合复杂度检查 |
| /maxpwage | 口令最长可用天数 | 90 天;0 表示永不过期,属风险项 |
| /minpwage | 两次改密最小间隔 | 1 天,防止连续改密绕过历史记录 |
| /uniquepw | 记住的历史口令数量 | 24 次 |
| /lockoutthreshold | 失败多少次锁定 | 5 次以内;0 表示不锁定,属风险项 |
| /lockoutduration、/lockoutwindow | 锁定持续时间与计数窗口 | 两个值一起看,窗口过小会削弱锁定效果 |
secedit 导出的 inf 是纯文本,可以直接与 CIS 或内部基线逐行对照,也便于留档作为整改证据。生产机器上更推荐用组策略统一配置,net accounts 适合单机场景与快速核查,手工设置的结果容易被后续策略覆盖,需要在变更记录里写清来源。
锁定策略本身会被滥用:阈值设得过低、窗口又设得很大时,攻击者只要对已知账号反复试错,就能把运维人员或服务账号持续锁死,形成拒绝服务。阈值、持续时间与窗口必须成套评估,并给特权账号准备应急解锁与例外流程。