首页/安全/安全加固速查/审计配置固化(-e 2)

审计配置固化(-e 2)

规则文件末行 -e 2 会把审计配置置为不可变:连 root 也无法删改规则,等保要求“审计配置不被篡改”的落地手法。

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

-e 2 把审计配置锁死

在 auditd 规则文件的最后写一行 -e 2,会把审计配置置为不可变状态:此后连 root 也无法增删改规则,直到系统重启。这是等保要求“审计配置不被篡改”的落地手法,也让人为抹除审计痕迹的难度显著提高。代价是灵活性丧失——固化之后要改规则必须重启,因此重大变更窗口前要先把规则定稿。

基本信息

适用平台Linux(auditd,RHEL/CentOS/Debian/Ubuntu 通用)
规则文件/etc/audit/rules.d/99-finalize.rules(文件名决定加载顺序)
配置项-e 1(仅允许增,不允许删改)与 -e 2(完全不可变)
核查命令auditctl -s 查看 enabled 取值
基线审计配置处于不可变状态

典型使用场景

  • 等保整改:落实审计配置不被篡改的要求
  • 高安全区主机:防止入侵者清理审计规则掩盖痕迹
  • 规则定稿后固化:完成规则调优再锁死,避免反复变更
  • 合规取证:证明审计配置在考察期内未被修改
  • 演练与验证:在测试机验证固化流程与回退方式

固化与核查

固化与核查
cat >> /etc/audit/rules.d/99-finalize.rules << 'EOF'
-e 2
EOF
augenrules --load                    # 重新加载并生效
auditctl -s | grep enabled            # enabled=2 表示已固化
auditctl -w /tmp/x -p wa -k test      # 预期报 Operation not permitted
auditctl -l | tail -3                 # 查看已加载规则列表

取值与影响读法

取值/现象含义影响
-e 0审计已关闭不应出现在生产环境
-e 1只允许追加规则可增不可删,灵活性介于两者之间
-e 2完全不可变连 root 也无法修改,需重启才能变更
enabled=2当前处于不可变状态固化已生效
Operation not permitted尝试改动被拒绝固化生效的正常表现
固化后想改规则必须重启系统:重大变更窗口前先确认规则文件最终定稿再固化,避免为了调整规则被迫重启生产机。

落地要点

  • -e 2 必须位于 rules.d 中排序最后的文件,否则会被后续规则覆盖
  • 固化前先在测试环境演练一遍:确认流程与回退方式都可行
  • 固化状态无法在线解除,只能通过重启恢复可写状态
  • 规则变更加入变更流程:把 -e 2 作为规则定稿的收尾动作
  • 把 auditctl -s 的输出纳入巡检证据,证明配置未被篡改
如果运行的是容器或精简系统,auditd 可能未启用:固化前先确认审计服务本身在运行,否则规则文件没有实际作用。

易错点

  • -e 2 写在中间位置的规则文件里:后续文件会覆盖它,固化实际未生效
  • 拿生产环境练手:固化后想临时调整规则只能重启,代价远超预期
  • 固化前未定稿规则:为了一次小改动被迫安排重启窗口
  • 只在单机固化不做集中采集:日志仍可能被本地清理,审计证据链不完整

数据来源与参考

  • CIS Linux Benchmark:审计配置不可变
  • auditctl(8) man page

相关工具

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