我已经把apache用户设置为/ sbin / nologin作为他的shell,但是他仍然在最后一次login列表( last命令)中出现了很多次 – 可能是我肯定不想这样做的人。
我在这里错过了什么,还有什么可以触发最后login名单上的条目? 显然他能够login没有壳?
这里有一些条目,以防万一。
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等),这当然都是失败的。 虽然失败的login列表不够长,所以我想知道他是如何进入的…
提前感谢提示
这个答案也适用于其他可能会遇到此线索的人寻找一些提示,特别是如果审计和通知尚未build立。
grep apache /etc/passwd
在用户input的最后检查/bin/false或/usr/sbin/nologin或/sbin/nologin 。
lastb apache
这将显示用户apachelogin失败次数。 ( lastb的输出显示来自/var/log/btmp的日志条目,而last显示/var/log/wtmp的条目)
检查last的输出。 用户是否随机login? 还是每天在特定的时间发生?
grep 'apache' /var/log/auth.log
既然你说过失败的login尝试,/ /var/log/auth.log应该有发生这些login尝试(通过SSH)的IP地址。 特别注意在第一次成功login尝试之前进行的最后一次不成功的尝试。 后者可以通过检查lastb和lastb的输出来find。 您还可以将/var/log/btmp中的日志条目与/var/log/wtmp日志条目进行比较。