CentOS/RHEL 7:在 N 次错误登录尝试后锁定用户帐户

安全环境中的要求通常是在用户输入错误密码达到指定次数后锁定用户。
这使得系统再次保护 该帖子描述了如何使用 pam.d 文件在 N 次错误登录尝试后锁定帐户。
pam_faillock 模块支持在多次身份验证尝试失败的情况下临时锁定用户帐户。
这个新模块改进了现有 pam_tally2 模块的功能,因为当通过屏幕保护程序完成身份验证尝试时,它还允许临时锁定。

N次错误登录后锁定用户

  1. 首先,备份文件 /etc/pam.d/password-auth 和 /etc/pam.d/system-auth 。
    然后将第二行添加到这两个文件中。
auth        required      pam_env.so
auth        required      pam_faillock.so preauth silent audit deny=3 unlock_time=600  添加这行
auth        sufficient    pam_unix.so nullok try_first_pass
auth        [default=die] pam_faillock.so authfail audit deny=3

上述配置文件会在 3 次登录失败后锁定用户,并在 10 分钟后解锁。

其中:
deny 允许我们设置值 N(尝试次数),在此之后用户帐户应该被锁定。

unlock_time 是帐户应保持锁定的时间 [可选]
even_deny_root - 确保相同的规则也适用于 root 用户。
要从该策略中排除 root 用户,只需从 [Optional] 行中删除参数。

注意:文件中的行顺序很重要,当我们使用 even_deny_root 选项时,任何顺序更改最终都会锁定所有用户,包括 root 用户。

  1. 要锁定 root 用户,需要在 /etc/pam.d/system-auth 和 /etc/pam.d/password-auth 中添加 auth required pam_faillock.so 行,如下所示:
auth    required    pam_faillock.so preauth silent audit deny=3 even_deny_root unlock_time=1200 root_unlock_time=600
  1. 要禁止用户在多次登录失败后锁定,在 /etc/pam.d/system-auth 和 /etc/pam.d/password-auth 中的 pam_faillock 正上方添加以下行并替换 user1、user2使用实际用户名。
auth [success=1 default=ignore] pam_succeed_if.so user in user1:user2:user3
  1. 重启sshd服务。
# systemctl restart sshd
欢迎 on it road

重置锁定的用户密码

  1. 用于显示认证失败记录:
# faillock --user [username]
  1. 重置认证失败记录:
# faillock --user [username] --reset
日期:2020-09-17 00:12:06 来源:oir作者:oir