锁定策略三个参数
账户锁定策略由三个参数共同决定抗爆破强度:锁定阈值、锁定时长、计数器重置窗口。阈值太低容易被故意锁账号造成拒绝服务,窗口太短又会被攻击者用慢速脉冲绕过——每个窗口试几次,等计数归零再继续。三项要组合评估,并配套自助解锁渠道。
基本信息
| 适用平台 | Windows(本地策略与 AD 域策略) |
|---|---|
| 风险等级 | 中 |
| 基线要求 | 阈值不超过 10 次,锁定时长不少于 15 分钟 |
| 关键事件 | 4740 账户被锁定 |
| 核查命令 | net accounts |
典型使用场景
- 域内安全基线核查中的账户锁定项
- 遭遇口令爆破后评估现有策略强度
- 排查某个账号频繁被锁的根因(多半是服务账号)
- 为被锁用户提供自助解锁,减少工单积压
- 服务账号被锁导致业务中断后的整改
配置与核查
配置与核查
net accounts /lockoutthreshold:5 /lockoutduration:15 /lockoutwindow:15 # 阈值 5 次、锁定 15 分钟、窗口 15 分钟
net accounts | Select-String 'Lockout' # 复核当前策略
Search-ADAccount -LockedOut | Select-Object Name, LockedOut # 列出当前被锁定的账号
Get-ADUser -Filter {LockedOut -eq $true} | Select-Object Name, SamAccountName # 域内被锁账号清单事件佐证
事件佐证
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4740} -MaxEvents 20 | Select-Object TimeCreated, Message # 需要先开启审核策略参数读法
| 参数 | 含义 | 注意点 |
|---|---|---|
| 锁定阈值 | 连续失败多少次锁定账号 | 与窗口共同决定抗爆破强度 |
| 锁定时长 | 锁定的持续时间 | 需管理员解锁时该值不生效 |
| 计数器重置窗口 | 失败计数归零的时间窗口 | 窗口过短会被慢速尝试绕过 |
| 4740 事件 | 账户被锁定的记录 | 用于定位被锁账号与来源 |
| 自助解锁 | 用户自行恢复的渠道 | 避免客服工单被淹没 |
生产域普遍配置为锁定后需管理员解锁,因此必须提供自助解锁渠道,否则客服工单会被锁定请求淹没,运维最后往往被迫放宽策略。
服务账号被锁会直接导致依赖它的业务中断:这类账号改用组托管服务账号或证书认证,可以从根本上避免。锁定阈值本身也关系到拒绝服务风险,攻击者能故意把已知账号锁死,阈值设置要结合可用性要求衡量。