auditctl -e 2 可锁定审计规则,使运行时修改全部失效,仅重启后可加载新配置;需写入 /etc/audit/rules.d/ 并执行 augenrules --load 以持久化,再配合文件权限、服务屏蔽等加固措施确保不可绕过。

用 auditctl -e 2 可以锁定审计规则,让所有运行时修改(增删规则、停用审计)全部失效,只允许重启后加载新配置。这是防止攻击者获得 root 权限后篡改或关闭审计的最直接手段。
启用审计锁定模式
执行以下命令立即启用不可变模式:
sudo auditctl -e 2
该命令将内核审计子系统的状态设为“锁定”,此后任何 auditctl 操作都会失败,包括:
-
auditctl -D(清空规则)→ 报错Operation not permitted -
auditctl -w /path或auditctl -a ...→ 同样拒绝 -
auditctl -e 0或-e 1→ 无法降级或关闭锁定
注意:-e 2 是单向操作,生效后只能通过系统重启恢复可编辑状态(重启后需重新加载规则并再次执行 -e 2)。
把锁定指令固化进永久规则
仅运行一次 auditctl -e 2 不够——重启后失效。要长期生效,必须写入磁盘规则文件:
在 /etc/audit/rules.d/ 下任一 .rules 文件中(如 99-lock.rules)添加一行:
Linux AI 服务器 — 将 Linux 服务器转换为本地 AI 推理集群。使用 systemd、NVIDIA CUDA 实现无头 Linux AI,零 GUI 开销。
-e 2
然后执行:
sudo augenrules --load
这样每次 auditd 启动时都会自动执行 -e 2,确保从开机起就处于锁定状态。
配套加固:防绕过、防删除
锁定规则只是其中一环,还需同步做以下几件事,堵住常见绕过路径:
- 将所有
/etc/audit/rules.d/*.rules文件设为只读:
sudo chmod 444 /etc/audit/rules.d/*.rules && sudo chown root:root /etc/audit/rules.d/*.rules - 禁止非 root 用户操作审计工具:
sudo chmod 750 /sbin/ausearch /sbin/aureport - 确保
auditd服务无法被 systemctl 停止或禁用:
sudo systemctl mask auditd(慎用,适用于规则已完全固化且无需调试的生产环境) - 日志目录权限收紧:
sudo chmod 700 /var/log/audit/ && sudo chown root:root /var/log/audit/
验证是否真正锁定成功
执行三步检查:
-
sudo auditctl -s | grep "enabled\|locked" → 输出应含
enabled 1和locked 2 - sudo auditctl -D → 必须报错,不能清空规则
- sudo auditctl -l → 能正常列出规则,说明规则仍在运行,只是无法修改
只要 locked 2 显示且修改命令全部拒绝,就表示审计规则已被内核级锁定,攻击者即使拿到 root 权限也无法动态关闭或擦除审计能力。










