这项整改解决什么
Linux 的口令复杂度由 PAM 的口令质量模块控制,配置文件是 /etc/security/pwquality.conf,通过 PAM 在修改口令时生效。它对应身份鉴别要求中「鉴别信息应具有复杂度要求并定期更换」。需要提醒的是:更改配置文件不会自动生效,必须确认 PAM 的服务配置中确实引用了该模块,否则看起来什么都配了,实际口令策略毫无约束。
pwquality 配置
pwquality 配置
# /etc/security/pwquality.conf
minlen = 12
# 四类字符各至少一个:大写、小写、数字、符号
dcredit = -1
ucredit = -1
lcredit = -1
ocredit = -1
# 同一字符最多重复 3 次,拒绝包含用户名或字典词
maxrepeat = 3
usercheck = 1
# 允许用户重试次数
retry = 3启用与验证
启用与验证
# 1 确认 PAM 已引用口令质量模块(不同发行版文件名不同)
grep -r pwquality /etc/pam.d/
# 2 设置账号口令有效期,满足定期更换要求
chage -M 90 -W 7 ops01
chage -l ops01
# 3 用测试账号验证:弱口令应被拒绝
passwd testuser基本信息
| 适用平台 | Linux 各发行版(需要 pwquality 模块支持) |
|---|---|
| 配置路径 | /etc/security/pwquality.conf 与 /etc/pam.d/ 下的服务配置 |
| 权限要求 | root |
| 生效范围 | 通过 PAM 修改口令的本地账号,root 修改普通用户口令时也可能受约束 |
| 有效期控制 | 由 chage 设置,最长使用期、最短使用期与到期前提醒分开配置 |
常见发行版差异
- RHEL 系:系统默认提供口令质量模块,由认证配置框架统一管理 PAM 文件
- Debian 系:需要安装对应软件包,并确认 PAM 配置中已引用模块
- 容器与镜像:加固要在基础镜像里做,否则新扩节点会回到默认策略
- 云主机与自动化:用初始化脚本或配置管理工具统一下发,避免逐台配置遗漏
典型使用场景
- 测评整改:身份鉴别条款中口令策略项的常规落地动作
- 主机基线:把口令策略写进加固基线,随镜像或配置管理下发
- 等保三级整改:口令策略要与登录失败锁定、会话超时一起配置
- 统一身份认证建设:集中认证源下发策略,减少逐台配置工作
策略验证要用测试账号实际改一次口令:只看配置文件无法确认 PAM 引用是否正确,也无法确认策略对特权账号是否生效。
复杂度配置过严会带来反效果(写便签、共用口令),条件允许时优先推行密钥认证或统一身份认证加多因素,减少口令本身的攻击面。