从审核日志中查看有关文件访问的相关信息

从审核日志中查看有关文件访问的相关信息

假设你有一台 Linux 机器并且有三个用户 -

user1、 、user2user3谁可以登录到该机器。

您创建了一条规则

$ auditctl -w /etc/file.txt -p rwxa

如果您想每天查看谁以及在什么时间访问了 file.txt您将如何操作以最大程度地减少信息过载,因为您使用了一些访问file.txt和创建大量记录数据的应用程序。需要仅查看file.txt其他用户(user1user2user3、他们的应用程序、远程用户等)的文件访问

答案1

有用于过滤和报告审计事件的用户空间工具。看https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security_Guide/sec-Creating_Audit_Reports.html举一些例子。

对于您的情况,您可以尝试以下操作:

ausearch --start today --success no --file /etc/file.txt | aureport --file

查看当天对文件的所有失败访问尝试。

查看 ausearch 和 aureport 手册页以获取更多选项。

答案2

假设您已经安装了auditd(这似乎与您使用auditctl 创建规则一样),您可以通过uid 进行grep。

使用以下命令查找 uid:

id user1
id user2
id user3

检查日志记录,选择有问题的用户 ID。

cat /var/log/audit/audit.log | grep uid=1000

假设 1000 是您希望查看其文件访问权限的用户。例如,它会向您显示用户 1000 何时查看了已审核的 file.txt(在本例中使用 cat)。

类型=SYSCALL msg=审核(1484859413.000:83): arch=c000003e syscall=2 成功=是退出=3 a0=7ffd50e9eefb a1=0 a2=20000 a3=7ffd50e9c8d0 项目=1 ppid=28517 pid=28545 auid=1000 uid= 1000 gid=1000 euid=1000 suid=1000 fsuid=1000 egid=1000 sgid=1000 fsgid=1000 tty=pts0 ses=435 comm="cat" exe="/bin/cat" key=(null) type=PATH msg =审核(1484859413.000:83): item=0 name="test.txt" inode=4847 dev=08:01 mode=0100644 ouid=1000 ogid=1000 rdev=00:00 nametype=NORMAL

我希望这就是您正在寻找的!

相关内容