linux登录尝试失败后锁定用户账户

pam_tally2模块(方法一)

用于对系统进行失败的ssh登录尝试后锁定用户帐户。此模块保留已尝试访问的计数和过多的失败尝试。

配置

使用/etc/pam.d/system-authetc/pam.d/password-auth配置文件来配置的登录尝试的访问

1
2
auth required pam_tally2.so deny=3 unlock_time=600
account required pam_tally2.so

注意:

auth要放到第二行,不然会导致用户超过3次后也可登录。
如果对root也适用在auth后添加even_deny_root.

1
auth required pam_tally2.so deny=3 even_deny_root unlock_time=600

pam_tally2命令

查看用户登录失败的信息

1
2
3
pam_tally2 -u test
Login Failures Latest failure From
test 1 06/20/17 14:18:19 192.168.56.1

解锁用户

1
pam_tally2 -u test -r

pam_faillock 模块(方法二)

在红帽企业版 Linux 6 中, pam_faillock PAM 模块允许系统管理员锁定在指定次数内登录尝试失败的用户账户。限制用户登录尝试的次数主要是作为一个安全措施,旨在防止可能针对获取用户的账户密码的暴力破解
通过 pam_faillock 模块,将登录尝试失败的数据储存在 /var/run/faillock 目录下每位用户的独立文件中

配置

添加以下命令行到 /etc/pam.d/system-auth 文件和/etc/pam.d/password-auth 文件中的对应区段:

1
2
3
4
5
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
account required pam_faillock.so

注意:

auth required pam_faillock.so preauth silent audit deny=3 必须在最前面。
适用于rootpam_faillock 条目里添加 even_deny_root 选项

faillock命令

查看每个用户的尝试失败次数

1
2
3
4
5
6
$ faillock
test:
When Type Source Valid
2017-06-20 14:29:05 RHOST 192.168.56.1 V
2017-06-20 14:29:14 RHOST 192.168.56.1 V
2017-06-20 14:29:17 RHOST 192.168.56.1 V

解锁一个用户的账户

1
faillock --user <username> --reset

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器