首页/安全/应急响应速查/auditctl 临时规则补录

auditctl 临时规则补录

处置中临时补充监控:记录命令执行(execve)与关键文件写入,事件带 key 便于 ausearch 精确定位。

应急响应速查安全更新于 2026-10-13

临时审计规则补录做什么

处置期间可以临时补几条审计规则,重点盯两类行为:命令执行(execve 系统调用)与关键文件写入。规则带上自定义 key 之后,就能用 ausearch 精确捞出这段时间的相关事件,为时间线补上「谁在什么时候执行了什么」这类证据。

基本信息

命令执行监控auditctl -a always,exit -F arch=b64 -S execve -k ir-cmd
文件监控auditctl -w /etc/passwd -p wa -k ir-etc
查看规则auditctl -l / auditctl -s
查询事件ausearch -k <key> --start recent
持久化写入 /etc/audit/rules.d/ 后 augenrules --load
代价全量 execve 监控显著增加日志量与系统开销

典型使用场景

  • 处置期间盯住攻击者是否还有后续动作
  • 怀疑有人继续改关键配置文件(passwd、sudoers、sshd_config)
  • 为时间线补充「谁执行了什么命令」的证据
  • 观察期监控是否有人重新落地后门
  • 排查某个账号的异常行为
  • 事件结束后删除临时规则,恢复原有监控强度
  • 为后续追责或诉讼补齐审计证据

添加、验证与删除临时规则

添加、验证与删除临时规则
auditctl -l | head -n 20                                       # 先看现有规则
sudo auditctl -a always,exit -F arch=b64 -S execve -k ir-cmd    # 记录 64 位命令执行
sudo auditctl -w /etc/passwd -p wa -k ir-etc                    # 监控关键文件写入与属性变更
ausearch -k ir-cmd --start recent | tail -n 20                  # 查最近命中事件
sudo auditctl -d always,exit -F arch=b64 -S execve -k ir-cmd    # 处置完成后删除规则
sudo auditctl -l | grep -c ir-                                  # 确认规则已清理

规则参数读法

参数含义注意事项
-a always,exit在系统调用退出时记录需配合 -F arch 限定架构
-S execve记录命令执行32 位系统需改为 arch=b32
-w <路径> -p wa监控写入与属性变更文件监控的常用组合
-k <key>自定义标签查询与删除规则都依赖它
-F uid=<账号>限定特定用户可显著降低事件量
规则标签要写进排查记录:ausearch -k 靠 key 检索,标签一旦丢了,对应事件就再也捞不回来。
全量 execve 监控会明显增加日志量与系统开销:处置完成后用 auditctl -d 删除对应规则,不要长期留着。
auditctl 加的规则在重启后失效,属于临时措施;确需长期保留时写进 /etc/audit/rules.d/ 并用 augenrules --load 加载,同时评估磁盘与性能影响。

易错点

  • 加了规则忘记删除:长期全量监控会占满磁盘并淹没关键日志
  • 架构参数不匹配:64 位命令需要 arch=b64,否则规则根本不命中
  • key 命名随意又不留档:事后无法用 ausearch 精确取回事件
  • 只加规则不看 auditd 状态:服务或规则加载异常时监控其实没生效
  • 把临时规则当成永久方案:auditctl 加的规则重启即失,需要长期监控就要落到 rules.d 文件
  • 规则加上后不验证命中:先跑一条无害命令确认能查到事件,再指望它记录攻击者动作

数据来源与参考

  • man 8 auditctl
  • Linux 审计持久化(/etc/audit/rules.d 说明)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌