审计日志怎么检索
auditd 写出的日志是逐条事件记录,直接翻文件效率极低。标准做法是用 ausearch 按条件查明细、aureport 出汇总报表:前者支持按规则 key、时间范围、事件类型、用户 UID 过滤,加 -i 把数字 ID 解析成用户与组名;后者按认证、登录、失败、文件访问等维度汇总,适合做巡检表或给审计方交材料。这两个工具是等保审计条款落地后的日常使用入口。
基本信息
| 适用平台 | 启用 auditd 的 RHEL 系与信创发行版 |
|---|---|
| 明细检索 | ausearch -k 键名 / -m 类型 / -ts 起始时间 / -ua UID |
| 汇总报表 | aureport --auth、--failed、-l、-f 等维度 |
| 可读性 | 加 -i 解析数字 ID 为用户名与组名 |
| 日志位置 | /var/log/audit/audit.log,涉及事件先备份原始文件 |
典型使用场景
- 谁改了关键文件:按规则 key 检索 passwd 或 sudoers 的变更记录
- 登录审计:统计一段时间内的登录成功与失败情况
- 爆破排查:看某账户的失败次数与来源,判断是否被针对
- 等保交材料:按认证、失败、文件访问生成汇总报表作为证据
- 应急响应:先备份 audit.log 再分析,保证证据链完整
明细检索
明细检索
ausearch -k passwd_change # 按规则 key 精确检索
ausearch -ts today -m USER_LOGIN # 查今天的登录事件
ausearch -ts recent -ua 1000 # 某 UID 的近期事件
ausearch -k passwd_change -i | tail -30 # -i 把数字 ID 解析成用户名
ausearch -ts 10/01/2026 00:00 -te now -m AVC # 指定时间区间查 AVC 拒绝
ausearch -f /etc/sudoers -i | tail -20 # 按被访问文件检索汇总报表
汇总报表
aureport --auth --summary # 认证事件汇总
aureport -l --summary # 登录事件汇总
aureport --failed --summary # 失败事件统计
aureport -f # 文件访问报表
aureport -k # 按规则 key 统计
aureport --start today --summary | head -30 # 指定起始时间输出汇总常用参数读法
| 参数 | 含义 | 注意事项 |
|---|---|---|
| -k 键名 | 按规则 key 检索 | 依赖 auditctl 规则里给过 -k |
| -m 类型 | 按事件类型过滤 | 如 USER_LOGIN、AVC、SYSCALL |
| -ts / -te | 起始与结束时间 | 支持 now、today、recent、日期格式 |
| -ua UID | 按用户过滤 | 用数字 UID 更可靠 |
| -i | 解析数字 ID | 只影响显示,原始日志仍为数字 |
| --summary | 输出汇总而非明细 | 报表类输出用得多 |
audit.log 是审计证据链的一部分:日常保留归档,涉事时先备份原始文件再分析,避免分析过程改动原始数据。
检索不到预期事件时先确认规则是否还在(auditctl -l)以及时间参数格式是否正确,两者是空结果最常见的两个原因。