aureport 是 auditd 生态中专用于生成结构化审计报告的命令行工具,解析 /var/log/audit/audit.log 中事件并按类型汇总统计,支持登录、文件、账户、程序等维度筛选,可限定时间范围、导出 CSV/JSON,并结合 -k 标签实现定向审计追踪。

aureport 是 auditd 生态中专用于生成结构化审计报告的命令行工具,它不直接读取原始日志文件,而是解析 /var/log/audit/audit.log(或轮转日志)中的事件,按类型汇总、统计、格式化输出,适合安全巡检、合规检查和日常审计分析。
基础报告生成方式
执行 aureport 不带参数会输出一个简明的汇总视图,包含登录事件、进程事件、文件事件等的计数。这是快速了解系统审计活跃度的第一步。
常用组合包括:
-
aureport -l:列出所有用户登录/登出事件(含成功与失败),显示时间、用户、终端、主机、UID 等 -
aureport -f:汇总所有与文件访问相关的事件(如 open、write、chmod),可配合--key过滤特定监控项 -
aureport -m:聚焦于账户管理类事件(user_add、user_del、group_mod 等),对排查账号异常变更非常关键 -
aureport -x:统计执行过的程序(execve 系统调用),能发现非预期的二进制调用行为
按时间范围精准筛选
审计日志量大时,必须限定时间窗口才能获得有效报告。aureport 支持 --start 和 --end 参数,接受多种格式:
-
aureport -l --start today:查看今日所有登录记录 -
aureport -m --start "2026-09-20 00:00" --end "2026-09-24 23:59":导出近5天的账号变更报告 -
aureport -f --start yesterday --key passwd_mod:只查昨日命中passwd_mod关键字的文件操作(需规则中已用-k passwd_mod标记)
生成可读性更强的详细报告
默认输出是紧凑文本,适合终端查看;加 --format csv 或 --format json 可导出为结构化数据,便于导入 Excel 或 SIEM 平台:
aureport -l --start today --format csv > login_report_$(date +%F).csv-
aureport -m --start "2026-09-01" --format json | jq '.'(需安装 jq 工具美化)
注意:aureport 依赖 auditd 正常运行且日志未被清空。若日志路径被自定义(如通过 auditd.conf 修改了 log_file),需用 --input 指定实际路径,例如:aureport -l --input /var/log/audit/myaudit.log。
结合 key 标签做定向审计追踪
真正发挥 aureport 价值的方式,是配合 auditctl 规则中的 -k(key)标签。例如你曾执行:
那么后续即可用:
-
aureport -f --key shadow_access:精准提取所有针对/etc/shadow的写/属性修改事件 -
aureport -i --key shadow_access:显示该 key 下涉及的所有用户 ID 映射(含 auid、uid)
这种“打标→检索”模式,让敏感操作审计从大海捞针变成定点回溯。


















