把审计记录聚合成报表
auditd 的原始日志是逐条记录,事件一多就无法直接阅读。aureport 把这些记录按维度聚合成可读报表:认证、登录、进程执行、文件访问各有对应的报表类型,并支持按时间范围过滤。它适合做初筛与总体判断,例如快速看出某个时段有多少次失败认证、有哪些可执行文件被运行过。
报表只是缩小范围
报表给出的是计数与条目列表,不给出解释。要形成结论仍需回到原始记录逐条核对:某条执行记录对应哪个进程、当时是谁登录的、有没有对应的网络连接。把报表当作结论使用,是这个工具最常见的误用方式。
基本信息
| 适用平台 | Linux(auditd 审计子系统) |
|---|---|
| 认证报表 | aureport -au |
| 登录报表 | aureport -l |
| 执行报表 | aureport -x |
| 汇总模式 | --summary 只输出计数;-ts 与 -te 限定时间范围 |
| 时间说明 | 时间参数按日志中的记录时间过滤,注意与本地时区差异 |
典型使用场景
- 快速评估事件规模:先看认证失败与执行次数的总量
- 确定审查时段:用时间范围参数只取窗口内的记录
- 找出可疑执行:从执行报表里筛出非常规路径下的程序
- 核对处置效果:加固后同一类事件计数应当下降
- 为报告提供统计口径:把汇总计数写入分析方法说明
常用报表
常用报表
# 认证事件汇总(当天)
aureport -au --summary -ts today
# 登录事件明细
aureport -l -ts today | head -20
# 可执行文件执行统计,找出非常规路径下的程序
aureport -x --summary -ts today | head -20
aureport -x -ts '2026-01-01 00:00:00' -te '2026-01-03 00:00:00' | head -20
# 权限拒绝类事件(与安全模块相关)
aureport -a --summary -ts today | head
# 回到原始记录核对执行事件的细节
ausearch -ts today -m EXECVE 2>/dev/null | grep -A 2 'tmp' | head -20报表类型与用途
| 参数 | 报表内容 | 典型用途 |
|---|---|---|
| -au | 认证事件 | 登录失败与成功计数 |
| -l | 登录事件 | 按用户与会话查看登录情况 |
| -x | 可执行文件 | 找出被运行的可疑程序 |
| -a | 安全模块拒绝事件 | 发现被策略拦截的行为 |
| --summary | 只输出计数 | 快速判断规模与趋势 |
报表只统计当前日志中仍存在的记录:日志被轮转、删改或丢事件时,计数会同步失真,先确认审计日志的完整性与保留范围再解读数字。
审计规则决定了日志里有什么:没有为某个路径或系统调用配置规则,aureport 就永远看不到相关内容。评估时要同时说明规则覆盖范围。