Linux 中如何审计文件的修改和执行

Auditd 是 Linux 审计系统的用户空间组件。
它负责将审计记录写入磁盘。
查看日志是使用 ausearch 或者 aureport 实用程序完成的。
审计规则的配置是通过 auditctl 实用程序完成的。
在启动过程中,/etc/audit/rules.d/audit.rules 中的规则由auditctl 读取。
审计守护进程本身有一些管理员可能希望自定义的配置选项。
它们位于 /etc/audit/rules.d/auditd.conf 文件中。

在 CentOS/RHEL 6 上,配置文件是 /etc/audit/audit.rules 而不是 /etc/audit/rules.d/audit.rules。

这篇文章将概述启用 Linux OS 审计服务以跟踪文件事件(例如执行、读取、写入等)的步骤。

例如,如果我们想跟踪 /etc/hosts 文件,请按照下面列出的步骤操作。

  1. 检查auditd服务是否启动。
# service auditd status 
auditd (pid 2311) is running...
  1. 如果没有运行,启动它:
# service auditd start
  1. 运行auditctl命令开始审计/etc/hosts文件。
    语法如下所示:
# auditctl -w /etc/hosts -p war -k hosts-file

其中:
-w 指向一个文件(使用完整路径)来观察/审计。

-p 设置审计权限,r 读取,w 写入,x 执行,a 添加。

-k 记录审计信息的关键字。

  1. 让我们验证是否正确设置了审计规则。
    在/etc/hosts 文件中读写一些新条目,然后检查/var/log/messages 中的审计信息
# vi /etc/hosts
# ausearch -i -f /etc/hosts
.....
type=PATH msg=audit(05/22/08 18:24:01.071:83) : name=/etc/hosts flags=follow,open inode=4313009 dev=08:05 mode=file,644 ouid=root ogid=root rdev=00:00
type=FS_INODE msg=audit(05/22/08 18:24:01.071:83) : inode=4313009 inode_uid=root inode_gid=root inode_dev=08:05 inode_rdev=00:00
type=FS_WATCH msg=audit(05/22/08 18:24:01.071:83) : watch_inode=4313009 watch=hosts filterkey=testhost perm=read,write,append perm_mask=read
....
日期:2020-09-17 00:12:57 来源:oir作者:oir