auditd 规则配置与加载
审计规则决定哪些系统调用与文件会被记录。溯源常用的三条主线是命令执行、敏感文件写入与权限拒绝;规则持久化在 /etc/audit/rules.d/ 下的 .rules 文件里,用 augenrules --load 合并加载,或重启审计服务生效。理解规则内容,才能判断日志里为什么有、又为什么缺少某类记录。
基本信息
| 规则目录 | /etc/audit/rules.d/*.rules,按文件名顺序合并加载 |
|---|---|
| 加载方式 | augenrules --load,或 systemctl restart auditd |
| 规则键名 | 用 -k 给规则命名,便于以 ausearch -k 检索 |
| 三条主线 | 命令执行、敏感文件写入、权限被拒绝的访问 |
| 前置认知 | 规则改动会改变日志内容,跨越改动点的时间线要分段评估 |
典型使用场景
- 确认命令执行类记录是否已被采集
- 核对账号、提权与 SSH 配置文件是否被监视写入
- 从审计记录还原某个进程执行过的命令与参数
- 解释同一台主机不同时间段日志详略差异的原因
- 事件之后补充规则,提升后续可见性
常用规则
常用规则
-a always,exit -F arch=b64 -S execve -k exec # 记录命令执行
-w /etc/passwd -p wa -k identity # 账号文件写入与属性变更
-w /etc/sudoers -p wa -k privilege # 提权配置变更
-a always,exit -F arch=b64 -S open,openat -F exit=-EACCES -k access # 记录被拒绝的访问
auditctl -l | grep -c 'key=' # 已加载规则数量
grep -v '^#' /etc/audit/rules.d/*.rules | head -20 # 查看规则源文件内容常用规则类型
| 类型 | 写法要点 | 取证价值 |
|---|---|---|
| 系统调用 | -a always,exit 配合 -S 指定调用 | 还原命令执行与文件访问 |
| 文件监视 | -w 路径 配合 -p wa | 发现敏感配置被改动 |
| 权限拒绝 | -F exit=-EACCES | 识别被拦下的越权尝试 |
| 规则键名 | -k 自定义名称 | 用 ausearch 按主题快速检索 |
64 位系统上建议同时维护 b64 与 b32 两套系统调用规则,只写一种会漏掉另一种架构进程产生的记录。规则改动后用 augenrules --load 加载,再用 auditctl -l 确认实际生效的内容。
规则改动会改变日志的详略程度,改动之前的时间段可能只有粗粒度记录。分析跨越改动点的事件时,把两侧分开评估,并在报告中说明日志能力的差异,避免结论被误用。