我已将 apache 用户设置为使用 /sbin/nologin 作为其 shell,但他仍然多次出现在最后登录(命令)列表中last
- 可能是被某个我肯定不想这样做的人所为。
我这里漏掉了什么,还有什么可以触发上次登录列表的条目?显然他可以在没有 shell 的情况下登录?!
以下是一些条目,希望有帮助。
root pts/0 xx Sat Feb 20 13:36 still logged in
apache pts/0 xx Fri Feb 19 01:20 - 01:20 (00:00)
apache pts/0 xx Mon Feb 15 08:57 - 08:57 (00:00)
apache pts/0 xx Wed Feb 10 22:23 - 22:23 (00:00)
root pts/0 xx Sun Feb 7 17:27 - 03:40 (10:13)
apache pts/0 xx Sat Feb 6 16:53 - 16:53 (00:00)
root pts/0 xx Tue Feb 2 18:39 - 18:53 (00:13)
root pts/0 xx Tue Feb 2 18:24 - 18:36 (00:12)
apache pts/0 xx Mon Feb 1 22:48 - 22:48 (00:00)
apache pts/0 xx Mon Feb 1 22:47 - 22:47 (00:00)
apache pts/0 xx Mon Feb 1 22:47 - 22:47 (00:00)
apache pts/0 xx Mon Feb 1 03:09 - 03:09 (00:00)
我还注意到有人尝试了很多其他帐户(httpd、apache2、httpd2、httpdocs 等),当然,都失败了。但是失败登录列表不够长,不足以进行暴力破解,所以我想知道他最后是怎么进入的……
提前感谢任何提示
答案1
这个答案也适用于其他可能遇到此线程并寻求一些提示的人,特别是在尚未设置审核和通知的情况下。
您是否限制了该用户登录?
grep apache /etc/passwd
检查用户条目末尾是否有/bin/false
或/usr/sbin/nologin
或。/sbin/nologin
失败登录尝试的历史记录
lastb apache
这将显示用户 apache 登录失败的次数。(的输出lastb
显示来自 的日志条目/var/log/btmp
,而last
显示 的条目/var/log/wtmp
)
登录频率和次数
检查 的输出last
。用户是否在随机时间登录?还是每天在特定时间发生?
失败的登录和 IP
grep 'apache' /var/log/auth.log
由于您说有失败的登录尝试,/var/log/auth.log
因此应该有这些登录尝试发生的 IP 地址(通过 SSH)。特别要查找在第一次成功登录尝试之前进行的最后一次失败尝试。可以通过检查 的输出与 的输出来找到后者last
。lastb
您还可以将 中的日志条目/var/log/btmp
与 中的日志条目进行比较/var/log/wtmp
。