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次后,即便输入正确密码,也无法登录。
使用命令查看用户登录失败次数:
解锁用户,并验证一下:
再次登录就发现可以登录了。