服务器安全之用户登录失败次数限制以及用户登录日志查看

通过限制用户登录次数,在一定程度上可以减少登录口令被爆破的风险。

使用PAM模块限定用户登陆失败的次数

Linux有一个pam_tally2.so的PAM模块,来限定用户的登录失败次数,如果次数达到设置的阈值,则锁定用户。

1
vim /etc/pam.d/login

在最上方(即\#%PAM-1.0的下一行)添加规则

1
auth      required  pam_tally2.so   deny=3  lock_time=300 even_deny_root root_unlock_time=10

各参数解释

even_deny_root 指也限制root用户;

deny 设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户;

unlock_time 设定普通用户锁定后,多少时间后解锁,单位是秒;

root_unlock_time 设定root用户锁定后,多少时间后解锁,单位是秒。

此处使用的是 pam_tally2 模块,如果不支持 pam_tally2 可以使用 pam_tally 模块。另外,不同的pam版本,设置可能有所不同,具体使用方法,可以参照相关模块的使用规则。

限制远程登录

以上的修改只是限制了用户从tty登录,而没有限制远程登录,如果想限制远程登录,需要改SSHD文件

1
vim /etc/pam.d/sshd

修改位置同上

1
auth      required  pam_tally2.so   deny=3  lock_time=300 even_deny_root root_unlock_time=10

查看用户登录失败的次数

1
cd /etc/pam.d/
1
pam_tally2 --user root

解锁指定用户

1
cd /etc/pam.d/
1
pam_tally2 -r -u root

查看用户登录日志

/var/run/utmp – database of currently logged-in users

/var/log/wtmp – database of past user logins

以上两个文件都是二进制文件,需要使用who、w、users、last和ac来使用这两个文件包含的信息。

常用的查询登录日志的命令

1
who       #Who的缺省输出包括用户名、终端类型、登录日期及远程主机

SpxImage

1
who /var/log/wtmp    #查看所有登陆记录
1
last                 #搜索显示自wtmp文件第一次创建以来登录过的用户

本文标题:服务器安全之用户登录失败次数限制以及用户登录日志查看

文章作者:Pwner

发布时间:2020年09月18日 - 13:09

最后更新:2020年09月18日 - 13:09

原始链接:https://pwner.cn/posts/bced1f80.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

Buy me a cup of coffee.