1 介绍与安装
Auditd基本介绍:
- 在Linux内核(2.6)时开始集成的审计系统
- 通过解析audit.rules中的规则形成特定事件的审计
- 还负责将审计结果写入磁盘,并支持灵活的读取方式
Auditd的安装:
yum install audit # RHEL 和 CentOS
apt install auditd # Ubuntu
2 基本用法
Auditd基本命令:
- auditctl:跟踪正在访问或修改特定文件和目录的用户或程序,也适用于跟踪正在运行特定命令的用户。具体规则需要手动设定。
- ausearch:根据不同的搜索条件查询基于事件的审计守护程序日志
- aureport:生成审计系统日志摘要报告
Auditd使用示例:
- 跟踪正在运行
sudo
命令的用户
auditctl -w /bin/sudo -p rwxa -k sudo
- 跟踪正在访问或修改
/root/test
目录的用户或应用程序
auditctl -a always,exit -F arch=b64 -S rename,rmdir,unlink,unlinkat,renameat -F auid\>=500 -F auid\!=-1 -F dir=/root/test/ -F key=delete
auditctl -a always,exit -F arch=b64 -S rename,rmdir,unlink,unlinkat,renameat -F auid>=500 -F auid!=-1 -F dir=/proc/13296/root/opt/ -F key=delete
- 跟踪
pid=1005
的程序发出的所有系统调用
auditctl -a entry,always -S all -F pid=1005
- 查看更改或访问文件/etc/passwd的审计日志
ausearch -f /proc/13296/root/opt -i | less
ausearch -f /etc/passwd -i | less
3 参数详情
3.1 auditctl
参数 | 参数说明 |
---|---|
-a | 添加新规则 |
-w | 在特定路径(例如 /etc/shadow)中为文件系统对象插入监视。 |
-p | 为文件系统设置权限筛选条件。 |
-k | 在审计规则上设置筛选关键字。用于审计记录的筛选。 |
-F | 额外指定其他参数选项(如PID、GI、D、auid),支持简单的逻辑运算 |
-S | 筛选系统调用,改善性能。默认追踪所有的系统调用。 |
-l | 列出所有的规则。一个规则一行。可以配合-k进行过滤 |
-D | 删除所有的规则。可以配合-k只删除特定规则 |
3.2 ausearch
参数 | 参数说明 |
---|---|
-a, --event | 根据给定的事件 ID搜索事件 |
-i | 将数字实体解释为文本,提高日志易读性 |
-k | 根据给定的关键字搜索日志 |
-p | 搜索与给定进程 ID匹配的事件 |
-ts , --start | 指定搜索的开始时间 |
-te , --end | 指定搜索的结束时间 |
参考
如何配置 Linux 审计规则以跟踪 Linux 实例上的用户活动、文件目录更改? Linux audit files to see who made changes to a file