首页/安全/取证与溯源速查/audit.log 记录结构解读
Linux 取证135 条

audit.log 记录结构解读

audit.log 每行以 type= 开头,msg=audit(时间:序号) 是同一事件的关联键;一个事件由 SYSCALL、EXECVE、CWD、PATH 等多条记录组成。

取证与溯源速查安全更新于 2026-10-13

审计日志格式

auditd 的日志不是一行一条事件的普通文本:一次操作常被拆成多条记录,用同一个事件号 msg=audit(时间戳:事件号) 关联起来。看懂这个结构,才能正确聚合、判断记录是否缺项,也才能按类型字段筛出需要的行为。

基本信息

文件位置/var/log/audit/audit.log,未正确配置时可能落到 syslog
事件标识msg=audit(秒.毫秒:事件号)
常见字段auid、ses、comm、exe、pid、key
常见类型SYSCALL、EXECVE、PATH、CWD、USER_LOGIN、AVC
结束标记EOE 记录表示该事件结束
关联方式按事件号聚合同一动作的多条记录

典型使用场景

  • 解析命令执行类事件及其参数
  • 还原文件访问与路径信息
  • 排查安全模块的拒绝记录
  • 核对审计规则是否按预期生效
  • 与其它日志按事件号交叉印证

最小示例

最小示例
head -2 /var/log/audit/audit.log                        # 先看记录结构
grep 'audit(1697012345' /var/log/audit/audit.log | head # 按时间戳前缀聚合一次事件
ausearch -i -m EXECVE -ts recent | head -20             # -i 转为可读输出
ausearch -i -k file_access -ts today | head -20         # 按规则中的 key 检索
grep -c 'type=EOE' /var/log/audit/audit.log             # 统计事件结束标记数量
ausearch -m AVC -ts today 2>/dev/null | head -10        # 查看拒绝记录

字段与类型

字段或类型含义注意
msg=audit(...)时间戳与事件号的组合标识同一事件号的多条记录需聚合
type记录类型EXECVE 含参数,PATH 含路径
auid登录会话标识切换身份后保持不变
comm 与 exe命令名与可执行文件路径用于判断程序来源
key审计规则中的标记按规则检索最方便
EOE事件结束标记可作为解析时的分界
一次操作会产生多条记录,逐行阅读会以为内容重复;正确做法是先按事件号聚合,再拼出完整动作。
未配置审计规则时不会产生命令级记录,先确认规则集与运行状态,再判断数据是否够用。
审计服务未运行或配置为写入 syslog 时,日志位置与格式都会变化,采集前先确认实际的输出目标。
删除或截断审计日志属于不可逆的取证数据丢失;任何清理动作都要先取得授权并留下记录。

易错点

  • 按行理解事件:同一动作被拆成多条记录,逐行解读只会得到片面结论
  • 忽略事件号:不做聚合就分不清一次执行包含哪些参数与路径
  • 假设记录一定有某类型:不同审计规则产生的类型差异很大,需按规则确认
  • 直接清理日志:审计记录删除后无法恢复,且清理动作本身也会被记录

数据来源与参考

  • auditd 官方手册(ausearch 与 audit.log 结构)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌