首页/安全/等保与合规速查/整改实操:Linux 口令复杂度策略
测评与整改57 条

整改实操:Linux 口令复杂度策略

用 pam_pwquality 落实口令复杂度要求:长度、四类字符、重复限制,配合 chage 设置有效期,对应身份鉴别条款。

等保与合规速查安全更新于 2026-10-13

这项整改解决什么

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 引用是否正确,也无法确认策略对特权账号是否生效。
复杂度配置过严会带来反效果(写便签、共用口令),条件允许时优先推行密钥认证或统一身份认证加多因素,减少口令本身的攻击面。

易错点

  • 只改 pwquality.conf 但 PAM 未引用模块:策略实际无效,检查时容易被现场验证识破
  • 复杂度只对普通用户生效:特权账号要单独抽查,必要时用同一套模块约束
  • 加固只做在单台机器上:新扩节点或重建镜像后策略丢失
  • 口令有效期与运维习惯冲突:多个账号同时到期导致运维中断,应错开到期时间

数据来源与参考

  • pam_pwquality 手册(man 8 pam_pwquality、man 5 pwquality.conf)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌