首页/安全/取证与溯源速查/auditd 运行状态与丢事件核查
Linux 取证135 条

auditd 运行状态与丢事件核查

auditd 的可靠性依赖状态检查:enabled 取值、丢事件计数与日志容量配置决定记录是否完整,lost 大于零时必须写进报告。

取证与溯源速查安全更新于 2026-10-13

auditd 状态与丢事件核查

auditd 的可靠性取决于三件事:内核审计是否启用、是否有事件因缓冲队列溢出而丢失、日志容量与轮转配置是否够用。auditctl -s 会给出 enabled 取值与 lost 计数,后者大于零意味着审计记录存在缺口。解读时间线前先看这几项,才不会把记录缺口当成“当时什么都没发生”。

基本信息

状态命令auditctl -s,输出 enabled 取值、lost 计数与 backlog 水位
规则列表auditctl -l 查看当前实际生效的规则
配置文件/etc/audit/auditd.conf 中的 max_log_file、num_logs、space_left_action
日志位置/var/log/audit/audit.log
enabled 取值0 关闭、1 启用、2 只读模式,取值不同含义不同

典型使用场景

  • 判断审计记录是否完整可用,评估时间线的覆盖范围
  • 排查缓冲溢出造成的事件丢失
  • 检查日志容量与轮转策略,确认是否会造成记录被覆盖
  • 核实审计服务在事件期间是否持续运行
  • 在报告中说明审计证据的可靠性与已知缺口

状态核查

状态核查
auditctl -s                                     # 状态、enabled 取值与 lost 计数
systemctl is-active auditd                      # 服务是否在运行
awk -F= '/^(max_log_file|num_logs|space_left_action|disk_full_action)/ {print $0}' /etc/audit/auditd.conf
ls -lh /var/log/audit/ | head                     # 日志体积与轮转情况
auditctl -l | head -20                          # 当前生效的规则

状态字段读法

字段含义异常参考
enabled审计启用状态,0 关闭、1 启用、2 只读取值为 0 说明事件未被记录
lost因队列溢出丢失的事件数大于零表示时间线存在缺口
backlog待处理队列长度与上限接近上限说明压力高、容易继续丢事件
rate_limit同类事件限速参数限速过严会造成同类事件被丢弃
auditd 日志容量默认有限,max_log_file 与 num_logs 决定保留多少历史。容量不足时旧日志会被覆盖,跨越轮转点的时间线要注明边界,避免把被覆盖的时间段当成没有活动。
lost 计数非零说明内核队列曾经溢出,这段时间的审计记录并不完整。报告里必须写明缺口与大致区间,不能把“日志里没有”直接表述成“主机上没有发生”。另外,auditd 与 journald 的保留策略各自独立,评估可回溯区间时要分别确认两者的留存规模与轮转配置,不能用一个来源的覆盖范围代表全部审计证据。

易错点

  • 未检查 enabled 取值,把审计关闭期间的空白当成没有活动
  • 忽略 lost 计数,把存在缺口的记录当作完整事实使用
  • 只看日志内容不看容量与轮转配置,误判可保留的时间区间
  • 审计服务中途重启或被停用,却没有在时间线上标注

数据来源与参考

  • auditd 官方手册(auditctl(8)、auditd.conf(5))
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌