在Linux系统中设置安全性强的密码策略是系统安全的重要基础。以下是分步骤的详细配置方案:
sudo vi /etc/pam.d/common-password
password requisite pam_pwquality.so
行添加参数(示例):password requisite pam_pwquality.so retry=3 minlen=12 difok=3 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1 enforce_for_root
参数说明:
- minlen=12
:最小长度12字符
- difok=3
:新密码至少3个字符与旧密码不同
- ucredit=-1
:至少1个大写字母
- lcredit=-1
:至少1个小写字母
- dcredit=-1
:至少1个数字
- ocredit=-1
:至少1个特殊字符
- enforce_for_root
:root用户同样受限
编辑/etc/login.defs
文件:
sudo vi /etc/login.defs
修改以下参数:
PASS_MAX_DAYS 90 # 密码最长有效期
PASS_MIN_DAYS 7 # 密码修改间隔
PASS_WARN_AGE 14 # 密码过期前警告天数
sudo vi /etc/pam.d/common-auth
添加以下行:
auth required pam_tally2.so deny=5 unlock_time=900 onerr=fail audit silent
参数说明:
- deny=5
:5次失败后锁定
- unlock_time=900
:锁定15分钟(900秒)
sudo pam_tally2 --user=username
sudo pam_tally2 --user=username --reset
# RHEL/CentOS:
sudo yum install libpwquality
# Debian/Ubuntu:
sudo apt install libpam-pwquality
编辑/etc/pam.d/common-password
添加:
password required pam_pwhistory.so remember=5 use_authtok
remember=5
表示禁止使用最近用过的5个密码
/etc/ssh/sshd_config
:MaxAuthTries 3 # 最大尝试次数
LoginGraceTime 1m # 登录超时时间
PermitRootLogin no # 禁止root直接登录
sudo systemctl restart sshd
chage -l username
grep "^password" /etc/pam.d/common-password
john-the-ripper
等工具审计密码强度测试密码修改:
passwd testuser
尝试设置弱密码观察系统反应
注意事项:
1. 修改策略前确保有可用特权账户
2. 生产环境建议先在测试环境验证
3. 对现有用户需执行chage
命令立即生效
通过以上配置,可显著提升Linux系统的密码安全性,符合大多数安全合规要求(如等保2.0、PCI DSS等)。实际实施时应根据具体安全需求调整参数。