使用Pam_Tally2模块锁定和解锁用户SSH登录权限

pam_tally2模块用于在特定数量的SSH登录失败请求后,锁定账户。这个模块会不断记录失败的访问尝试。

pa_tally2模块配置包含两部分,一部分是pam_tally2.so另一个是pam_tally2,它基于PAM模块,用来检查和操作计数文件,它也可以用来显示用户登录失败次数,并为每个用户单独设定计数。

默认情况下,pam_tally2模块已经随着PAM包安装到了大多数Linux发行版中。本文演示如何锁定和解锁超过一定数量的而失败尝试次数的SSH用户。

如何锁定和解锁用户账户

修改/etc/pam.d/password-auth文件用来配置使用pam_tally2模块。在该文件开头添加如下内容:

auth        required      pam_tally2.so deny=3 even_deny_root root_unlock_time=1200

参数说明:

  • file=/var/log/tallylog – 默认日志文件,用来记录登录次数。
  • deny=3 – 三次失败尝试后 ,锁定用户。
  • even_deny_root – 对root用户同样适用。慎用!!
  • unlock_time=1200 – 用户会被锁定20分钟(如果不添加这个参数,用户将被永久锁定,直到手动解锁)

现在来测试一下:

密码输入错误次数超过3次后,即便输入正确密码,也无法登录。

使用命令查看用户登录失败次数:

解锁用户,并验证一下:

再次登录就发现可以登录了。

上一篇
下一篇