在Linux服务器上重复的失败登录尝试可能表明有人企图闯入帐户,或者仅仅意味着有人忘了密码或输错密码。本文介绍了如何检查失败的登录尝试并检查系统的设置,查看何时锁住帐户以处理问题。
您要了解的第一件事是如何检查登录是否失败。以下命令在Ubuntu和相关系统上使用的/var/log/auth.log文件中查找登录失败的迹象。有人尝试使用错误或拼错的密码登录时,失败的登录将显示以下行:
$ sudo grep "Failed password" /var/log/auth.log | head -3
Nov 17 15:08:39 localhost sshd[621893]: Failed password for nemo from 192.168.0.7 port 8132 ssh2
Nov 17 15:09:13 localhost sshd[621893]: Failed password for nemo from 192.168.0.7 port 8132 ssh2
您可以使用这样的命令按帐户汇总失败登录的情况:
$ sudo grep "Failed password" /var/log/auth.log | grep -v COMMAND | awk '{print $9}' | sort | uniq -c
22 nemo
1 shs
2 times:
该命令按用户名(grep输出的第9列)汇总失败的登录。它避免了查看含有“COMMAND”一词的行,跳过含有“Failed passwords”短语的查询(比如运行上面运行的命令的人)。“times:”字符串表明重复尝试的次数比报告的次数还多。这些来自含有“消息重复5次:”的行,快速连续多次输错密码后,这些行可能被添加到日志文件中。
您可能要检查的另一个方面是失败的登录尝试来自何处。为此,如本例所示,将您关注的字段从第九个更改为第十一个:
$ sudo grep "Failed password" /var/log/auth.log | grep -v COMMAND | awk '{print $11}' | sort | uniq -c
23 192.168.0.7
比如说,如果您发现多个用户的失败登录来自单单一个系统,这可能特别可疑。
在RHEL、Centos和相关系统中,您可以在/var/log/secure文件中找到与失败登录有关的消息。您可以使用与上述基本相同的查询来计数。只需更改文件名,如下所示:
$ sudo grep "Failed password" /var/log/secure | awk '{print $9}' | sort | uniq -c
6 nemo
核查/etc/pam.d/password-auth和/etc/pam.d/system-auth文件中的设置。添加这样的行将强制执行您的设置。
检查faillog
您可能关注过faillog命令,但是该命令查看的/var/log/faillog文件如今似乎在许多系统上并没有使用。如果您使用faillog -a命令,会得到类似如下所示的在时间列中列出12/31/69的输出,很明显该文件并未使用。
$ faillog -a
Login Failures Maximum Latest On
root 0 0 12/31/69 19:00:00 -0500
daemon 0 0 12/31/69 19:00:00 -0500
bin 0 0 12/31/69 19:00:00 -0500
sys 0 0 12/31/69 19:00:00 -0500
显示的日期和时间可以追溯到Unix的开始(01/01/70)――可能针对本地时区进行了更正。如果您运行下面显示的命令,可以证实文件不是空的,但不包含实际数据:
$ ls -l /var/log/faillog
-rw-r--r-- 1 root root 32576 Nov 12 12:12 /var/log/faillog
$ od -bc /var/log/faillog
0000000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000
\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
*
0077500
如果faillog文件确实在使用中,您应该会看到最近的活动,并不提及1969错误提示。
如何回应?
失败登录的原因有很多。可能是您的一个用户在大写锁定键开启的情况下试图登录,却没有注意到。也许用户最近更改了密码,却忘了更改密码这回事,尝试使用旧密码。也许用户在尝试在其他系统上使用的密码。如果您在运行查询时经常出现某个特定的帐户,应调查一下。然而,偶尔失败的登录尝试很常见。
检查设置
要查看系统如何经过设置来处理失败的登录,请检查/etc/pam.d/common-auth文件。它用于带有Linux可插拔身份验证模块(PAM)的系统。该文件中的两个设置控制着暂时锁定帐户之前允许多少次失败的登录尝试以及锁住该帐户多长时间。
六次失败的登录尝试后,这样一行将使PAM锁住帐户。锁住时间将持续五分钟(300秒)。
auth required pam_tally2.so deny=6 unlock_time=300
原文标题:Monitoring failed login attempts on Linux
作者:Sandra Henry-Stocker
51CTO:https://os.51cto.com/art/202012/633259.htm
Linux查看最近登录成功/失败的用户信息
https://www.jianshu.com/p/da0f0086ecae
最近登录失败的2个用户记录 并显示完整主机名
# lastb -a
最近登录成功的2个用户记录
用户、终端、时间、在线时长** still logged in代表当前在线
[root@server06 ~]# last -2
chen pts/1 ip-10-0-7-27.ap- Tue May 19 16:45 still logged in
case pts/2 ip-10-0-7-27.ap- Tue May 19 10:22 - 10:24 (00:01)
Linux w命令用于显示目前登入系统的用户信息
-f 开启或关闭显示用户从何处登入系统。
-h 不显示各栏位的标题信息列。
-i 显示实例IP地址
-s 使用简洁格式列表,不显示用户登入时间,终端机阶段作业和程序所耗费的CPU时间。
显示当前用户,不显示登录位置
用户 终端 登陆主机名 登陆时间 限制时间 tty进程CPU使用率 当前进程CPU使用率 运行命令
[root@server06 ~]# w
18:02:14 up 1 day, 11:02, 5 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 ip-10-0-7-27.ap- 16:47 1.00s 0.07s 0.00s w
root pts/1 ip-10-0-7-27.ap- 16:53 49:57 0.00s 0.00s -bash
case pts/2 ip-10-0-5-16.ap- 16:49 1:08m 0.00s 0.00s ping www.baidu.com
root pts/3 ip-10-0-5-16.ap- 16:50 1:11m 0.00s 0.00s -bash
centos pts/4 ip-10-0-7-27.ap- 16:54 1:08m 0.00s 0.00s -bash
显示IP地址
[root@server06 ~]# w -i
18:05:01 up 1 day, 11:04, 5 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 10.0.7.27 16:47 5.00s 0.07s 0.00s w -i
root pts/1 10.0.7.27 16:53 52:44 0.00s 0.00s -bash
case pts/2 10.0.5.16 16:49 1:10m 0.00s 0.00s ping www.baidu.com
root pts/3 10.0.7.27 16:50 1:14m 0.00s 0.00s -bash
centos pts/4 10.0.5.16 16:54 1:10m 0.00s 0.00s -bash
显示centos登陆信息
[root@server06 ~]# last centos -5
centos pts/4 ip-10-0-7-27.ap- Wed May 20 16:54 still logged in
centos pts/4 ip-10-0-6-211.ap Fri May 8 12:34 - 13:20 (00:45)
centos pts/1 ip-10-0-6-211.ap Wed May 6 11:46 - 13:20 (2+01:33)
centos pts/1 ip-10-0-7-27.ap- Wed May 6 11:12 - 11:13 (00:01)
centos pts/1 ip-10-0-7-27.ap- Wed May 6 09:39 - 09:41 (00:01)
参考链接 :
监测 Linux 上失败的登录尝试方法分享 :https://mp.weixin.qq.com/s/c3qG0W9lW__rnypjGzui0Q
Linux查看最近登录成功/失败的用户信息 : https://www.jianshu.com/p/da0f0086ecae