当前位置:首页 > Ubuntu > 正文

Ubuntu账户锁定策略详解(手把手教你配置Linux登录失败自动锁定账户)

在企业或个人服务器环境中,保障系统安全至关重要。其中,Ubuntu账户锁定策略是一种有效防止暴力破解攻击的安全机制。当用户多次输入错误密码后,系统会自动锁定该账户一段时间,从而大幅降低被破解的风险。

Ubuntu账户锁定策略详解(手把手教你配置Linux登录失败自动锁定账户) Ubuntu账户锁定策略  Linux安全设置 pam_faillock配置 Ubuntu登录失败锁定 第1张

什么是账户锁定策略?

账户锁定策略是指:当用户连续多次登录失败(例如输错密码),系统将暂时禁止该用户再次尝试登录。这种机制是Linux安全设置中的基础防线之一,能有效抵御自动化脚本的暴力破解。

Ubuntu如何实现账户锁定?

Ubuntu 使用 pam_faillock 模块来实现账户锁定功能。PAM(Pluggable Authentication Modules)是 Linux 的可插拔认证模块系统,而 pam_faillock 正是用来记录失败登录尝试并执行锁定逻辑的核心组件。

配置步骤(适用于 Ubuntu 20.04 及以上版本)

下面我们将一步步教你如何配置 pam_faillock配置,实现账户锁定。

第1步:备份原始 PAM 配置文件

在修改任何系统配置前,请先备份:

sudo cp /etc/pam.d/common-auth /etc/pam.d/common-auth.baksudo cp /etc/pam.d/common-account /etc/pam.d/common-account.bak

第2步:编辑 common-auth 文件

使用你喜欢的编辑器(如 nano)打开 /etc/pam.d/common-auth

sudo nano /etc/pam.d/common-auth

在文件顶部添加以下两行(注意顺序很重要):

# 在 auth required pam_unix.so 之前添加auth required pam_faillock.so preauth silent deny=5 unlock_time=900auth [default=die] pam_faillock.so authfail deny=5 unlock_time=900

参数说明:

  • deny=5:允许最多5次失败尝试
  • unlock_time=900:锁定时间为900秒(即15分钟)
  • preauth:在正式认证前检查是否已被锁定
  • authfail:认证失败时记录失败次数

第3步:编辑 common-account 文件

接着编辑 /etc/pam.d/common-account

sudo nano /etc/pam.d/common-account

在文件顶部添加一行:

account required pam_faillock.so

第4步:测试配置

现在你可以用一个普通用户账户故意输错5次密码,第6次登录时应提示“Authentication failure”且无法登录。等待15分钟后(或手动解锁),即可恢复正常。

手动查看和解锁账户

失败记录保存在 /var/run/faillock/ 目录下,每个用户名对应一个文件。

查看某用户失败次数:

sudo faillock --user username

手动解锁账户:

sudo faillock --user username --reset

常见问题与注意事项

  • 不要对 root 用户启用过于严格的锁定策略,以免锁死系统管理员账户。
  • 如果使用 SSH 密钥登录,此策略仅影响密码认证方式。
  • 确保 pam_faillock.so 模块已安装(Ubuntu 默认包含)。
  • 修改 PAM 配置有风险,建议在测试环境先验证。

总结

通过合理配置 Ubuntu登录失败锁定 策略,你可以显著提升服务器的安全性。本文详细介绍了从备份、编辑配置到测试验证的完整流程,即使是 Linux 新手也能轻松上手。记住,安全不是一次性的任务,而是需要持续维护的过程。

提示:生产环境中建议结合 Fail2ban、防火墙等多重防护手段,构建纵深防御体系。