首页/安全/安全加固速查/auditd 安装与运行核查

auditd 安装与运行核查

auditd 承载内核审计日志的落盘与轮转,是等保“安全审计”条款的核心组件:先确认安装、运行与开机自启,再谈规则配置。

安全加固速查安全更新于 2026-10-13

auditd 的角色

auditd 是 Linux 内核审计子系统的用户态组件:内核产生审计事件,auditd 负责接收并写入 /var/log/audit/audit.log,同时按配置做轮转。没有它,审计规则即使存在也没有落盘通道,等保里的安全审计条款就无从谈起。所以核查顺序是先确认服务安装、运行并开机自启,再谈规则内容,顺序颠倒会得出虚假的结论。

基本信息

加固项审计服务可用性
适用平台Linux(RHEL/CentOS/Debian/Ubuntu)
风险等级高
基线服务运行且开机自启,内核审计处于启用状态
日志位置/var/log/audit/audit.log,轮转由 auditd.conf 控制

典型使用场景

  • 等保整改第一步:确认审计组件到位,再逐条配置监控规则
  • 事件响应:判断主机是否存在可用的审计记录,决定取证路线
  • 巡检:确认审计服务没有被停止,规则数量与预期一致
  • 容量排查:审计日志增长导致分区吃紧时,评估轮转与留存参数
  • 容器环境评估:确认审计覆盖范围,判断容器内取证是否可行

安装与状态核查

安装与状态核查
rpm -q audit || yum install -y audit            # RHEL/CentOS 包名为 audit
apt list --installed 2>/dev/null | grep -i audit   # Debian/Ubuntu
systemctl enable --now auditd                   # 启用并立即启动
systemctl status auditd --no-pager | head -12   # 查看运行状态与最近日志
auditctl -s                                     # 关注 enabled 与 pid 字段
auditctl -l | wc -l                             # 当前已装载规则条数

状态字段判读

字段含义正常与异常
enabled内核审计开关状态1 表示启用;0 表示关闭,需要排查原因
pid审计服务进程号为 0 说明用户态服务未运行,事件不会落盘
lost内核丢弃的事件数持续增长说明负载过高或缓冲区偏小
backlog待处理事件队列长度长期偏高会导致丢事件、影响回溯
failure mode审计不可用时内核的处理方式不同发行版取值不同,需按本机手册理解
容器内没有独立的内核审计子系统:在容器里运行 auditd 无法工作属正常限制。容器场景的审计要落在宿主机内核层面,或改用应用日志与编排平台的审计能力,不能把容器内「服务起不来」当成配置错误来处理。
审计组件的包名在多数发行版是 audit 而不是 auditd,安装命令要与包管理器一致。另外服务停止后 auditctl -s 可能仍显示上一次的状态,判断是否在运行应以服务状态与日志是否有新写入为准,两者交叉确认。

规则与服务的先后关系

规则写在 /etc/audit/rules.d/ 下,通过 augenrules --load 装载,重启后自动生效;用 auditctl 直接加的规则只存在于内存。配置顺序建议是:先让服务稳定运行并确认日志有写入,再逐条加规则并验证命中,最后把审计日志的轮转与留存参数调到位,避免出现「规则齐全但日志被快速覆盖」的假达标。

易错点

  • 包名搞错:多数发行版安装包叫 audit,命令写成 auditd 会直接找不到软件包
  • 只启动不设置自启:重启后审计服务不再运行,规则存在也不产生记录
  • 用 auditctl -s 的旧状态判断服务状态:服务已停止时它可能仍显示上一次的值,需与服务状态交叉确认
  • 忽略日志轮转与容量:审计日志写满分区会导致服务异常甚至影响其他系统组件
  • 在容器内配审计规则并期待生效:容器没有独立审计子系统,方案需要重新设计

数据来源与参考

  • 等保 2.0 三级:安全审计
  • CIS Linux Benchmark:auditd
  • auditd 官方手册

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌