插件窝 干货文章 如何在Linux上设置安全性强的密码策略

如何在Linux上设置安全性强的密码策略

密码 策略 password PAM 638    来源:    2025-04-16

在Linux系统中设置安全性强的密码策略是系统安全的重要基础。以下是分步骤的详细配置方案:

一、修改PAM密码策略模块

  1. 编辑PAM配置文件:
sudo vi /etc/pam.d/common-password
  1. 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    # 密码过期前警告天数

三、设置账户锁定策略

  1. 编辑PAM认证配置文件:
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秒)

  1. 查看锁定状态:
sudo pam_tally2 --user=username
  1. 手动解锁账户:
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个密码

六、SSH额外安全配置

  1. 修改/etc/ssh/sshd_config
MaxAuthTries 3      # 最大尝试次数
LoginGraceTime 1m   # 登录超时时间
PermitRootLogin no  # 禁止root直接登录
  1. 重启SSH服务:
sudo systemctl restart sshd

七、定期检查密码策略

  1. 查看用户密码过期信息:
chage -l username
  1. 检查密码强度设置:
grep "^password" /etc/pam.d/common-password

八、高级安全建议

  1. 启用双因素认证(如Google Authenticator)
  2. 定期使用john-the-ripper等工具审计密码强度
  3. 对特权账户设置更严格的策略(如最小长度16位)

验证配置效果

测试密码修改:

passwd testuser

尝试设置弱密码观察系统反应

注意事项: 1. 修改策略前确保有可用特权账户 2. 生产环境建议先在测试环境验证 3. 对现有用户需执行chage命令立即生效

通过以上配置,可显著提升Linux系统的密码安全性,符合大多数安全合规要求(如等保2.0、PCI DSS等)。实际实施时应根据具体安全需求调整参数。