Ubuntu系统认证日志监控:安全审计与故障排查指南
如何监控系统登录
在配置用户之后,监控系统是身份验证管理的基本组成部分。
我们将在一个Ubuntu 22.04服务器上探索这些概念,但您可以在任何现代Linux发行版上进行跟随。您可以根据我们在Ubuntu 22.04上的服务器初始设置指南设置一个Ubuntu 22.04服务器进行本教程。
审计认证尝试
现代Linux系统将所有的身份验证尝试记录在一个独立的文件中。此文件位于/var/log/auth.log
。您可以使用less
命令查看此文件。
sudo less /var/log/auth.log
输出
May 3 18:20:45 localhost sshd[585]: Server listening on 0.0.0.0 port 22.
May 3 18:20:45 localhost sshd[585]: Server listening on :: port 22.
May 3 18:23:56 localhost login[673]: pam_unix(login:session): session opened for user root by LOGIN(uid=0)
May 3 18:23:56 localhost login[714]: ROOT LOGIN on '/dev/tty1'
Sep 5 13:49:07 localhost sshd[358]: Received signal 15; terminating.
Sep 5 13:49:07 localhost sshd[565]: Server listening on 0.0.0.0 port 22.
Sep 5 13:49:07 localhost sshd[565]: Server listening on :: port 22.
. . .
当你查看文件完成后,你可以使用q
退出less
。
如何使用“last”命令
通常,你只对最近的登录尝试感兴趣。你可以用last
工具来查看这些。
last
输出
demoer pts/1 rrcs-72-43-115-1 Thu Sep 5 19:37 still logged in
root pts/1 rrcs-72-43-115-1 Thu Sep 5 19:37 - 19:37 (00:00)
root pts/0 rrcs-72-43-115-1 Thu Sep 5 19:15 still logged in
root pts/0 rrcs-72-43-115-1 Thu Sep 5 18:35 - 18:44 (00:08)
root pts/0 rrcs-72-43-115-1 Thu Sep 5 18:20 - 18:20 (00:00)
demoer pts/0 rrcs-72-43-115-1 Thu Sep 5 18:19 - 18:19 (00:00)
这提供了另一个文件/var/log/wtmp
中保存的信息的格式化版本。
根据第一行和第三行的判断,用户目前已登录系统。在其他已关闭的会话期间,系统记录了一组由连字符分隔的数值,提供了用户登录系统的总时长。
如何使用“lastlog”命令
您还可以使用lastlog
命令查看系统中每个用户上次登录的时间。
这些信息通过访问/var/log/lastlog
文件获取。然后根据/etc/passwd
文件中的条目进行排序。
lastlog
输出
Username Port From Latest
root pts/1 rrcs-72-43-115-1 Thu Sep 5 19:37:02 +0000 2013
daemon **从未登录**
bin **从未登录**
sys **从未登录**
sync **从未登录**
games **从未登录**
. . .
您可以查看系统上每个用户的最新登录时间。
请注意系统用户几乎都为“从未登录”。其中许多系统账户不会直接用于登录,所以这是正常现象。
结论
在Linux上的用户认证是系统管理中相对灵活的领域。有许多使用广泛的工具可以实现相同目标的方式。
了解系统存储登录信息的位置非常重要,这样你就可以监控服务器上不符合你使用情况的变化。
接下来,你可能想学习如何添加和删除系统用户。