我正在寻找一个日志文件或任何服务来报告由于用户名/密码错过匹配失败的最新login尝试。 CentOS有没有这样的工具? (内置是首选)
我的第二个问题,更一般地说,我需要一个渗透到我的服务器的日志文件。 理想情况下,这个日志应该包含所有的尝试,包括login,httpd活动和其他传统的开放端口。
问题在这里是不重要的,但是一个很简单的答案:也许你应该检查/ var / log / secure(例如grep for“failed”)。
在Linux中, last
命令显示成功的login尝试并显示会话信息(点,源,date和长度)。
lastb
命令logging所有不良login尝试。 两者共享相同的man
页,但不同之处在于last
读取二进制文件/var/log/wtmp
, lastb
默认读取/var/log/btmp
文件。
这些文件的范围取决于您的日志轮转计划,但它应该跨越几个星期。 大多数发行版将每月轮换/var/log/wtmp
,因此您可以读取以前的logging,通常通过指定具有-f
参数的文件列出为/var/log/wtmp.1
… last -f /var/log/wtmp.1
这是一个古老的线程,但我得到了类似的任务,所以在我的情况下,这是一个日志条目
Nov 15 17:14:47 megatron sshd[4768]: Failed password for git from 192.168.122.1 port 49227 ssh2
所以我们可以这样做,如果我们确定用户是静态的
#!/bin/bash LOG=/var/log/secure MESSAGE="Failed password for git" grep -i "$MESSAGE" "$LOG
如果我们知道每个用户的基础上
#!/bin/bash LOG=/var/log/secure if [ -n "$1" ] then NEWUSER="$1" else NEWUSER="root" fi MESSAGE="Failed password for $NEWUSER" grep -i "$MESSAGE" "$LOG"
所以脚本应该执行
[root@megatron bash1]# ./failedlogin.sh git
或更简单的方法
#!/bin/bash LOG=/var/log/secure MESSAGE="Failed password for" grep -i "$MESSAGE" "$LOG"