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上的用户认证是系统管理中相对灵活的领域。有许多使用广泛的工具可以实现相同目标的方式。

了解系统存储登录信息的位置非常重要,这样你就可以监控服务器上不符合你使用情况的变化。

接下来,你可能想学习如何添加和删除系统用户

bannerAds