第一步:检查是否有pam_tally2.so模块。
root@kali:/etc/pam.d# find /lib* -iname "pam_tally2.so"
/lib/x86_64-linux-gnu/security/pam_tally2.so
如果find到了模块则会如上图所示,如果没有就配置软连接过去。
方法如下:
cd /lib64/security/
ln -s pam_tally2.so pam_tally.so
第二步:配置pam.d下的sshd认证模块
/etc/pam.d/sshd
配置如下:
auth required pam_tally2.so onerr=fail deny=2 unlock_time=300
注意!!!写下面没用,本人测试,必须写在最上面。
image.png
第三步:验证测试。
用win10ssh进虚拟机后,故意输入多次错误密码。
C:\Users\lenovo>
C:\Users\lenovo>ssh gcj@192.168.217.131
gcj@192.168.217.131's password:
Permission denied, please try again.
gcj@192.168.217.131's password:
Permission denied, please try again.
gcj@192.168.217.131's password:
gcj@192.168.217.131: Permission denied (publickey,password).
之后尝试输入正确的密码,发现无法登录,成功。
再查看登录失败记录
root@kali:/etc/pam.d# pam_tally2
Login Failures Latest failure From
gcj 20 02/18/19 20:15:58 192.168.217.1
OK成功了。pam_tally2.so其他参数如下:
pam_tally2.so [file=/path/to/counter] [onerr=[fail|succeed]] [magic_root] [even_deny_root] [deny=n] [lock_time=n] [unlock_time=n]
[root_unlock_time=n] [serialize] [audit] [silent] [no_log_info]
file:指定统计次数用的文件,默认是/var/log/tallylog
magic_root:如果用户uid=0,在帐户认证时调用该模块发现失败时,不计入统计
even_deny_root:root用户一样被锁定
deny:普通用户锁定次数
lock_time:普通用户锁定后等待的时间
unlock_time:普通用户锁定后解锁要等待的时间 (这是tally2.so增加的功能,tally.so没有该功能)
命令行下输入:pam_tally2 -r -u root
清零计数器。