auditd 写入 /var/log/audit/audit.log,只能由 root 读取。最快的时间窗口导出原始格式的方法是:
sudo ausearch --raw -ts yesterday > web-03_audit.log
如果 /var/log/audit 不存在,代表 auditd 未安装。这是 Debian 和 Ubuntu 的默认设置。此时,内核的审计事件会进入日志,使用 journalctl _TRANSPORT=audit 可以找到它们。
auditd 是 Linux 对于“谁运行了什么,接触了哪些文件”的解答:进程执行、文件访问、权限更改和账户更改,精确到系统调用。Prime Core 拥有 1350 条针对于 auditd 数据的检测规则,映射到 440 个 MITRE ATT&CK 技术。包括:恶意 shell 使用(T1059.004)、植入 SSH 密钥(T1098.004)和敏感文件的权限更改(T1222.002)。
在您开始之前
它是否正在运行,以及它记录了什么?
systemctl is-active auditd
sudo auditctl -l
Red Hat 系统默认安装 auditd;Debian 和 Ubuntu 需要安装 auditd 包。如果 auditctl -l 打印 No rules,您仍旧会获得登录、认证和 SELinux 拒绝的基本记录。不过,由于没有请求,您不会获取命令执行或文件访问记录。
仅限 root。 /var/log/audit 被严格锁定,因此请计划使用 sudo。
轮换是 auditd 自己进行的。 auditd 自行轮换日志,基于 /etc/audit/auditd.conf 中的 max_log_file 和 num_logs,形成 audit.log.1、audit.log.2 等。旧的历史记录在这些文件中。
格式需要一些时间来适应。 一个事件通常是几行(SYSCALL、EXECVE、CWD、PATH、PROCTITLE),共享同一个 msg=audit(<epoch>:<serial>) 标记。带空格的值是十六进制编码的。这是正常的。
步骤 1:使用 ausearch 导出
ausearch 按时间、记录类型或规则键进行过滤,并且 –raw 保留原始格式:
# 一天,原始
sudo ausearch --raw -ts yesterday -te today > web-03_audit.log
关键字 today、yesterday、this-week 和 recent(过去十分钟)可以省去日期格式的麻烦。明确的日期遵循您的区域设置,如 en_US 的 10/19/2026 00:00:00,这也是大多数“无匹配”惊喜的来源。
对于上传,请保持 –raw:原始记录携带的信息比解释视图更多。
如果您更想获取所有内容,请按从旧到新的顺序连接文件:
sudo cat $(ls -tr /var/log/audit/audit.log*) > web-03_audit_all.log
步骤 2(无 auditd):从日志中获取审计事件
没有 auditd,内核的审计记录仍到达 journald:
sudo journalctl _TRANSPORT=audit --since yesterday -o json --no-pager > web-03_audit.jsonl
在没有加载规则的情况下,预计大多数是登录和 SELinux 或 AppArmor 消息,但总比没有好。
在 LogTotal 上传、清理和审查
- 上传。 打开 logtotal.com 并将文件拖入其中。
- 清理。 在继续之前查看一下。
- 审查。
当出现问题时
| 症状 | 可能原因 | Fix |
|---|---|---|
| /var/log/audit 不存在 | auditd 未安装 | 使用日志路线(步骤 2) |
| 权限被拒绝 | 非 root 用户 | sudo |
| 仅限登录,无命令 | 未加载执行规则 | 正常;为未来添加规则 |
| ausearch 的 <no matches> | 日期格式与您的区域设置不匹配 | 使用 today、yesterday、this-week |
| 内核消息中的“backlog limit exceeded” | 内核在负载下丢失了审计事件 | 将日志视为有间隙;提高 backlog_limit |
FAQ
我现在应该打开 auditd 吗?
是的,为下次准备。规则决定了一切,所以从一个已知的规则集开始,而不是从头写自己的规则。审计包提供示例规则,并且存在维护良好的社区规则集。
auditd 还是日志:哪个是真实记录?
运行 auditd 时,/var/log/audit/audit.log 是完整的记录。日志可能根据配置保留部分副本。