aureport 是 auditd 生态中专用于解析和汇总审计日志的命令行工具,结构化处理 /var/log/audit/audit.log 及其轮转文件,支持按登录、账号变更、特权操作、高危命令等场景生成报表,并提供时间限定、多格式导出及日志完整性校验功能。

aureport 是 auditd 生态中专用于解析和汇总审计日志的命令行工具,它不直接读原始日志,而是结构化处理 /var/log/audit/audit.log 及其轮转文件(如 audit.log.1、audit.log.1.gz),输出可读、可导出、可筛选的安全事件报告。用好它,关键在选对维度、限准时间、打上标签、导出适配格式。
按安全场景快速生成常用报表
不同业务关注点不同,aureport 提供专用参数直击核心事件类型:
- 登录行为总览:运行 sudo aureport -l -i --start today --format csv,列出今日所有登录/登出(含成功与失败),加 -i 自动将 UID 转为用户名,终端、源 IP、结果字段一目了然;
- 账号变更追踪:执行 sudo aureport -m -i --key passwd_change,shadow_change --start 7 days ago,聚焦 /etc/passwd、/etc/shadow 等敏感文件的写或属性修改,前提是规则中已用 -k passwd_change 打标;
- 特权操作清单:使用 sudo aureport -f -i --key sudo_exec --field time,acct,exe,comm,success,只提取命中 sudo_exec 标签的文件访问事件(实际对应 execve 调用),避免杂音干扰;
- 高危命令聚合:运行 sudo aureport -x --key cmd_rm,cmd_dd --summary,按用户统计 rm、dd 等命令调用次数,快速定位异常高频操作者。
限定时间范围提升报告有效性
审计日志量大,不设时间窗口等于无效分析。aureport 支持自然语言与标准时间格式混用:
- 用 --start today、--end now 快速获取当日数据;
- 查上周:搭配 --start lastweek --end today;查本月:--start thismonth;
- 需精确到秒时,支持 "2026/10/02 09:00:00" 或 "2026-10-02 09:00:00";
- 若需覆盖压缩日志(如 audit.log.1.gz),先解压并用 --input - 从标准输入读取:zcat /var/log/audit/audit.log.1.gz | aureport -l -i --input - --start "2026/10/02"。
导出结构化数据便于后续使用
终端文本适合快速浏览,但真正用于分析、归档或对接 SIEM 平台,推荐导出为结构化格式:
- CSV 最通用:--format csv 输出带表头的逗号分隔文本,Excel、数据库、Python pandas 均可直接加载;
- JSON 更利于自动化处理:--format json 配合 jq '.'(需安装 jq)可美化、过滤或提取字段;
- 部分 auditd 版本支持 --format html,生成基础表格 HTML 报告,适合内网邮件简报;
- 所有导出命令建议配合日期变量命名,例如:> login_daily_$(date +%Y%m%d).csv,方便归档与脚本清理。
确保底层日志完整可信
再好的报表也依赖日志源头。运行前请确认三项硬前提:
- NTP 时间同步正常:timedatectl status 显示 “System clock synchronized: yes”,偏移 ≤1 秒;
- 关键审计规则已加载且打标:sudo auditctl -l | grep -E "(login|sudo|passwd)" 应有对应 -k 条目;
- auditd 正在运行且日志未被清空:sudo systemctl status auditd 和 ls -l /var/log/audit/audit.log* 可验证。











