Linux如何加固系统密码登录机制_Linux密码强度配置

21次阅读

通过配置 PAM 模块、/etc/login.defs 策略及登录限制,可有效增强 Linux 密码安全:1. 使用 pam_pwquality 强制密码长度、复杂度及与旧密码差异;2. 设置 PASS_MAX_DAYS、PASS_MIN_DAYS 等参数规范密码有效期和最小长度;3. 启用 pam_faillock 限制登录失败次数,防止暴力破解;4. 禁用空密码登录,关闭不安全 TTY 访问,确保 SSH 安全配置;5. 定期审计用户策略与日志。

Linux 如何加固系统密码登录机制_Linux 密码强度配置

Linux 系统中,密码是保障用户账户安全的第一道防线。通过合理配置密码强度和登录机制,能有效防止弱口令攻击、暴力破解等安全威胁。以下从 PAM 模块、系统 配置文件 和策略设置等方面,介绍如何加固 Linux 系统的密码登录机制。

启用 PAM 模块增强密码强度

Linux 使用 PAM(Pluggable Authentication Modules)来管理认证流程。通过配置pam_pwquality(旧版本为pam_passwdqc),可强制用户设置高强度密码。

配置方法:

  • 编辑配置文件:/etc/pam.d/common-password/etc/pam.d/system-auth(根据发行版不同路径可能有差异)
  • 找到包含 pam_pwquality.so 的行,确保启用并添加策略参数,例如:

password requisite pam_pwquality.so retry=3 minlen=10 difok=3 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1

  • retry=3:输错密码最多重试 3 次
  • minlen=10:最小长度为 10 位
  • difok=3:新密码至少与旧密码有 3 个字符不同
  • dcredit=-1:必须至少包含一个数字
  • ucredit=-1:必须至少包含一个大写字母
  • lcredit=-1:必须至少包含一个小写字母
  • ocredit=-1:必须至少包含一个特殊符号

修改后,所有通过 PAM 进行密码修改的操作都将受此规则限制。

配置全局密码策略(/etc/login.defs)

该文件定义了用户创建时的默认密码策略,适用于使用 useradd 命令新增的用户。

关键参数设置:

  • PASS_MAX_DAYS 90:密码最长有效期 90 天,到期需更换
  • PASS_MIN_DAYS 7:密码最短使用 7 天后才能修改,防止频繁更换绕过历史记录
  • PASS_MIN_LEN 10:密码最小长度(注意:实际强度仍由 PAM 控制)
  • PASS_WARN_AGE 7:密码过期前 7 天开始提示用户

这些设置不会影响已有用户,但新用户会继承该策略。已有用户的密码策略可通过 chage 命令单独调整。

Linux 如何加固系统密码登录机制_Linux 密码强度配置

Logomaster.ai

Logo 在线生成工具

Linux 如何加固系统密码登录机制_Linux 密码强度配置 99

查看详情 Linux 如何加固系统密码登录机制_Linux 密码强度配置

限制登录失败尝试(防暴力破解)

通过 PAM 的 pam_tally2pam_faillock模块,可锁定多次输错密码的账户。

使用 pam_faillock 配置示例:

  • /etc/pam.d/sshd/etc/pam.d/login中添加:

auth required pam_faillock.so preauth silent deny=5 unlock_time=600
auth required pam_faillock.so authfail deny=5 unlock_time=600
account required pam_faillock.so

  • 连续输错 5 次密码后,账户将被锁定 10 分钟(600 秒)

管理员可通过 faillock –user <username> 查看失败记录,或用 –reset 手动解锁。

禁用空密码与不安全登录方式

确保系统不允许空密码登录,并关闭不必要的 TTY 远程访问。

  • 检查 /etc/ssh/sshd_config 中设置:

PermitEmptyPasswords no
PasswordAuthentication yes(如使用密钥登录,可设为 no 以强制密钥认证)

  • 重启 SSH 服务使配置生效:systemctl restart sshd
  • 检查 /etc/shadow 中是否存在空密码账户(第二字段为空):

awk -F: ‘($2 == “”) {print $1}’ /etc/shadow

如有输出,应立即为这些账户设置强密码或禁用。

基本上就这些。通过组合使用 PAM 模块、密码策略和登录控制,可以显著提升 Linux 系统的身份认证安全性。定期审计用户密码策略和登录日志,也是维持系统安全的重要环节。

星耀云
版权声明:本站原创文章,由 星耀云 2025-11-30发表,共计785字。
转载说明:转载本网站任何内容,请按照转载方式正确书写本站原文地址。本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。