Pwner's Blog

能全力以赴不尽力而为

0%

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

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

使用 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
  • 本文链接: https://pwner.cn/posts/bced1f80.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!