Oamc

口令策略(Linux + Windows)

本页目录

场景

等保或安全基线要求:口令长度、复杂度、有效期、登录失败锁定。

前置条件

  • 知道现有策略(先查再改)
  • 改动会影响所有用户,先小范围试
  • 有应急账号或带外,防止全员被锁

配置

Linux(pwquality + faillock)

cat >/etc/security/pwquality.conf <<'EOF'
minlen = 10
minclass = 3
maxrepeat = 3
dictcheck = 1
EOF

# 三次失败锁定 300 秒
cat >>/etc/pam.d/system-auth <<'EOF'
auth required pam_faillock.so preauth silent audit deny=3 unlock_time=300
auth [default=die] pam_faillock.so authfail audit deny=3 unlock_time=300
EOF

# 口令有效期 90 天
sed -i 's/^PASS_MAX_DAYS.*/PASS_MAX_DAYS   90/' /etc/login.defs
chage -M 90 用户名

Windows(域策略)

# 查看
Get-ADDefaultDomainPasswordPolicy

# 修改(域级别,影响所有人)
Set-ADDefaultDomainPasswordPolicy -Identity corp.example.com `
  -MinPasswordLength 10 -ComplexityEnabled $true `
  -MaxPasswordAge (New-TimeSpan -Days 90) `
  -LockoutThreshold 5 -LockoutDuration (New-TimeSpan -Minutes 30)

验证

chage -l 用户名
faillock --user 用户名
Get-ADDefaultDomainPasswordPolicy | Format-List
Get-ADUser 用户名 -Properties PasswordLastSet, PasswordNeverExpires

回滚

cp /etc/pam.d/system-auth.bak /etc/pam.d/system-auth

域策略改回去:

Set-ADDefaultDomainPasswordPolicy -Identity corp.example.com -LockoutThreshold 0

坑

  • 改 PAM 前不备份,配错后普通用户全登不上。
  • 服务账号设了「密码永不过期」,等于绕过策略,需要单独说明。
  • 锁定阈值设太小,用户输错两次就被锁,运维电话被打爆。
  • 域策略改完要等复制和客户端刷新(gpupdate /force)。
  • 复杂度要求太高,用户会把密码写在便签上,反而更不安全。
  • 改有效期后,快过期的老账号会被强制改密,提前通知。