Linux使用pam_tally2.so模块限制登录失败锁定时间
关于PAM
Linux-PAM (Pluggable Authentication Modules for Linux)可插拔认证模块。
https://www.cnblogs.com/klb561/p/9236360.html
#vi /etc/pam.d/system-auth
增加auth required pam_tally2.so deny=6 onerr=fail
no_magic_root unlock_time=120
pam_tally/pam_tally2模块参数:
全局选项 onerr=[succeed|fail] file=/path/to/log 失败登录日志文件,默认为/var/log/tallylog audit 如果登录的用户没有找到,则将用户名信息记录到系统日志中 silent 不打印相关的信息 no_log_info 不通过syslog记录日志信息
AUTH选项 deny=n 失败登录次数超过n次后拒绝访问 lock_time=n 失败登录后锁定的时间(秒数) unlock_time=n 超出失败登录次数限制后,解锁的时间 no_lock_time 不在日志文件/var/log/faillog 中记录.fail_locktime字段 magic_root root用户(uid=0)调用该模块时,计数器不会递增 even_deny_root root用户失败登录次数超过deny=n次后拒绝访问 root_unlock_time=n 与even_deny_root相对应的选项,如果配置该选项,则root用户在登录失败次数超出限制后被锁定指定时间 |
由于实际使用中用户被锁定很麻烦,影响ftp业务,需要设置自动解锁时间,参数中有两个选项与锁定时间有关:
lock_time=n 失败登录后锁定的时间(秒数)
unlock_time=n 超出失败登录次数限制后,解锁的时间
不知道这俩参数有啥区别,百度到一个帖子:
lock_time参数是只要1次失败就会锁60秒,就算我用了deny = 3也是算1失败就锁了(测试时用pam_tally2指令看统计就会知道了,失败几次它还是呈现1次)
所以要unlock_time = 60搭配deny = 2
http://bbs.51cto.com/thread-1469884-1.html
另外,网上例子中没有加magic_root选项,所以,最终加固配置为:
# vi /etc/pam.d/system-auth
auth required pam_tally2.so deny=6 onerr=fail unlock_time=1
参数说明:
deny = n代表拒绝存取,如果超过n次
lock_time = n代表1次失败后就锁n秒
unlock_time = n代表几次失败就锁n秒,搭配deny = 2就是两次失败就锁n秒
even_deny_root代表也限制root帐号
root_unlock_time = n这个跟unlcok_time一样,只是这给给root帐号用,如果要区别一般帐号的话,就可以额外作这个限制
参考:
http://www.361way.com/pam-tally2/4277.html