如何在 CentOS/RHEL 上使用“ausearch”工具查询审核日志
在上一篇文章中,我们解释了如何使用auditd实用程序审核RHEL或CentOS系统。审计系统 (auditd) 是一个综合日志系统,不使用 syslog。它还附带了一个工具集,用于管理内核审计系统以及从日志文件中的信息搜索和生成报告。
在本教程中,我们将解释如何使用 ausearch 工具从基于 RHEL 和 CentOS 的 Linux 发行版上的 auditd 日志文件中检索数据。
另请阅读:4 个优秀的 Linux 开源日志监控和管理工具
正如我们之前提到的,审核系统有一个用户空间审核守护进程(auditd),它根据预先配置的规则从内核和在日志文件中生成条目。
什么是ausearch?
ausearch 是一个简单的命令行工具,用于根据事件和不同的搜索条件(例如事件标识符、密钥标识符、CPU 架构、命令名称、主机名、组名称或组 ID)搜索审核守护程序日志文件、系统调用、消息等等。它还接受来自标准输入的原始数据。
默认情况下,ausearch 查询/var/log/audit/audit.log 文件,您可以像查看任何其他文本文件一样查看该文件。
cat /var/log/audit/audit.log
OR
cat /var/log/audit/audit.log | less
从上面的屏幕截图中,您可以看到日志文件中的大量数据,因此很难获取感兴趣的特定信息。
因此,您需要 ausearch,它可以使用以下语法以更强大、更高效的方式搜索信息。
ausearch [options]
检查 Auditd 日志文件中的运行进程日志
-p
标志用于传递进程 ID。
ausearch -p 2317
检查 Auditd 日志文件中的失败登录尝试
在这里,您需要使用 -m
选项来标识特定消息,并使用 -sv
来定义成功值。
ausearch -m USER_LOGIN -sv no
在 Auditd 日志文件中查找用户活动
-ua 用于传递用户名。
ausearch -ua tecmint
OR
ausearch -ua tecmint -i # enable interpreting of numeric entities into text.
要查询特定用户在给定时间段内执行的操作,请使用 -ts
表示开始日期/时间,使用 -te
指定结束日期/时间,如下所示 (请注意,您可以使用“现在”、“最近”、“今天”、“昨天”、“本周”、“一周前”、“本月”、“今年”以及“检查点”等词语,而不是实际时间格式。
ausearch -ua tecmint -ts yesterday -te now -i
有关搜索系统上给定用户的操作的更多示例。
ausearch -ua 1000 -ts this-week -i
ausearch -ua tecmint -m USER_LOGIN -sv no -i
在审核日志中查找对用户帐户、组和角色的修改
如果您想查看与用户帐户、组和角色有关的所有系统更改;指定各种逗号分隔的消息类型,如下面的命令所示(注意逗号分隔的列表,逗号和下一项之间不留空格):
ausearch -m ADD_USER,DEL_USER,USER_CHAUTHTOK,ADD_GROUP,DEL_GROUP,CHGRP_ID,ROLE_ASSIGN,ROLE_REMOVE -i
使用键值搜索 Auditd 日志文件
考虑下面的审核规则,该规则将记录任何访问或修改 /etc/passwd 用户帐户数据库的尝试。
auditctl -w /etc/passwd -p rwa -k passwd_changes
现在,尝试打开上述文件进行编辑并关闭它,如下所示。
vi /etc/passwd
仅仅因为您知道已记录了与此相关的日志条目,您可能会使用 tail 命令查看日志文件的最后部分,如下所示:
tail /var/log/audit/audit.log
如果最近记录了其他几个事件,查找具体信息会很困难,但是使用ausearch,您可以传递带有您指定的键值的-k
标志在审核规则中查看与访问或修改 /etc/passwd 文件有关的事件的所有日志消息。
这还将显示审计规则定义的配置更改。
ausearch -k passwd_changes | less
有关更多信息和使用选项,请阅读 ausearch 手册页:
man ausearch
要了解有关 Linux 系统审核和日志管理的更多信息,请阅读以下相关文章。
- Petiti – 适用于 Linux 系统管理员的开源日志分析工具
- 在RHEL/CentOS 7/6上使用“Log.io”工具实时监控服务器登录
- 如何在 Linux 中使用 Logrotate 设置和管理日志轮转
- lnav – 从 Linux 终端观察和分析 Apache 日志
在本教程中,我们描述了如何使用 ausearch 从 RHEL 和 CentOS 上的 Auditd 日志文件中检索数据。如果您有任何问题或想法要分享,请使用评论部分联系我们。
在下一篇文章中,我们将解释如何在 RHEL/CentOS/Fedora 中使用 aureport 从审核日志文件创建报告。