首页/安全/安全加固速查/本地密码策略(net accounts / secedit)
口令与认证策略55 条

本地密码策略(net accounts / secedit)

工作组或单机 Windows 的密码与锁定策略通过 net accounts 或安全模板设置;这是域外机器的第一站基线核查。

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

本地密码策略从哪里来

工作组环境或未纳入域的 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 适合单机场景与快速核查,手工设置的结果容易被后续策略覆盖,需要在变更记录里写清来源。
锁定策略本身会被滥用:阈值设得过低、窗口又设得很大时,攻击者只要对已知账号反复试错,就能把运维人员或服务账号持续锁死,形成拒绝服务。阈值、持续时间与窗口必须成套评估,并给特权账号准备应急解锁与例外流程。

易错点

  • 在加入域的机器上用 net accounts 改本地策略,以为生效实际被域 GPO 覆盖,核查前先看 gpresult 与策略来源
  • lockoutwindow 设得过小而阈值又低,攻击者可以“打几枪歇一会”绕过锁定
  • 把 maxpwage 设为 0(永不过期)以便省事,等于放弃口令泄露后的时间窗口
  • 只设口令长度不启用复杂度要求,用户用简单数字串就能满足长度限制

数据来源与参考

  • Microsoft Learn:net accounts
  • CIS Windows Benchmark:密码策略条目

相关工具

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