讲师中心 微信公众号
AI工具推荐 视频效率加速

系统时间被篡改后 audit.log 缺失 execve 的 audit rules 配置补救

风敏姑娘_4446

风敏姑娘_4446

发布时间:2026-01-28 18:53:02

|

943人浏览过

|

来源于php中文网

原创

audit.rules中execve规则未生效的主因是系统时间回拨导致auditd静默跳过规则文件;需检查mtime、重载规则并修复时间戳,再用augenrules重新加载。

系统时间被篡改后 audit.log 缺失 execve 的 audit rules 配置补救

audit.rules 里 execve 规则没生效,先确认是否被时间篡改导致规则加载失败

系统时间被大幅回拨(比如从 2025 年跳回 2023 年)后,auditd 可能拒绝加载或重载 /etc/audit/rules.d/*.rules 中的规则——它内部会校验规则文件的 mtime 是否“合理”,若文件修改时间晚于当前系统时间,部分版本(尤其是 RHEL/CentOS 7/8 的 auditd 3.0+)会静默跳过该文件。你看到 audit.log 里没有 execve 事件,并非规则写得不对,而是压根没加载。

验证方法:
- 运行 sudo auditctl -l | grep execve,如果无输出,说明规则未生效;
- 查看 sudo ausearch -m CONFIG_CHANGE -i | grep -i "load rule",留意是否有 “failed to load” 或 “skipped due to timestamp” 类似日志;
- 检查规则文件时间:ls -l /etc/audit/rules.d/*.rules,对比其 Modify 时间与 date 输出。

强制重载 execve 审计规则,绕过时间校验

auditd 默认不提供跳过时间校验的开关,但可通过临时清除状态 + 手动注入规则实现补救:

  • 先停掉服务:sudo systemctl stop auditd
  • 清空内核审计规则缓存:sudo auditctl -e 0 && sudo auditctl -D(-e 0 解锁策略,-D 删除所有规则)
  • 手动加载关键 execve 规则(推荐最小集):
    sudo auditctl -a always,exit -F arch=b64 -S execve -k execve
    sudo auditctl -a always,exit -F arch=b32 -S execve -k execve
  • 重启服务并锁定:sudo systemctl start auditd && sudo auditctl -e 1

注意:此方式加载的规则是运行时生效,不持久;需同步修复规则文件本身的时间戳(见下一条)。

修复 /etc/audit/rules.d/ 下规则文件的时间戳

仅重载不够,否则下次 auditd 重启或执行 augenrules 仍会跳过。必须让文件 mtime ≤ 当前系统时间:

Obsidian (Linux)
Obsidian (Linux)

操作 Obsidian 库(纯 Markdown 笔记),并通过 notesmd-cli 实现自动化。

下载
  • 用 touch 向前修正(不推荐用未来时间):sudo touch -d "1 second ago" /etc/audit/rules.d/*.rules
  • 更稳妥的是统一设为当前时间:sudo touch /etc/audit/rules.d/*.rules
  • 确认生效:sudo augenrules --load(它会重新扫描、合并、加载全部 .rules 文件)
  • 检查结果:sudo auditctl -l | grep execve 应有两条输出(b32/b64 各一)

如果你的规则是通过 augenrules 管理的(即启用了 /etc/audit/rules.d/ 目录机制),不要直接编辑 /etc/audit/audit.rules —— 它是生成文件,会被覆盖。

execve 审计日志缺失的其他常见干扰项

即使时间修复了,execve 日志仍可能不出现,需排查以下几点:

  • auditd 是否真正运行:systemctl is-active auditd,不是 inactive 或 failed
  • 内核是否启用 audit 支持:zcat /proc/config.gz | grep CONFIG_AUDIT(或查 /boot/config-$(uname -r)),必须为 y 或 m
  • 是否被 SELinux 或 systemd-coredump 干扰:临时设 sudo setenforce 0 测试,排除 SELinux 策略拦截审计事件上报
  • 日志空间是否耗尽:sudo ausearch -m avc -i 若大量 AVC 拒绝且 audit.log 停更,可能是磁盘满或 space_left 阈值触发了 discard 模式

时间篡改只是触发点,真正卡住的是 auditd 对文件时间的隐式信任;一旦规则加载失败,后续所有依赖它的子规则(比如基于 -F exe= 的细化过滤)都会失效——这点很容易被忽略。

热门AI工具

更多
立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
centos
centos

PHP中文网为大家提供centos相关信息,CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一,是免费的、开源的、可以重新分发的开源操作系统,PHP中文网提供centos相关文章,以及安装教程。

3389

2023.06.16

常见的linux系统有哪些
常见的linux系统有哪些

linux系统有Ubuntu、Fedora、CentOS、Debian、openSUSE、Arch Linux、Gentoo、Slackware、Linux Mint、Kali Linux。更多关于linux系统的文章详情请阅读本专题下面的文章。php中文网欢迎大家前来学习。

6801

2023.10.27

CentOS安装部署教程精选
CentOS安装部署教程精选

CentOS安装部署专题提供 CentOS Stream 9/10 服务器安装与初始化配置教程,涵盖 ISO 镜像下载、系统分区、最小化安装、网络配置、SSH远程连接、防火墙、软件源、时区同步、用户权限和常见安装故障排查,适合新手搭建 Linux 服务器环境及运维人员快速部署 CentOS 系统。

214

2026.05.29

CentOS运维命令大全
CentOS运维命令大全

CentOS运维命令专题整理 CentOS 服务器日常管理常用命令,覆盖系统信息查看、用户与权限管理、服务启动停止、进程监控、端口查看、日志分析、磁盘空间清理、软件包安装、定时任务配置和故障排查方法,帮助运维人员高效完成 CentOS 系统维护工作。

188

2026.05.29

CentOS建站环境搭建实战教程
CentOS建站环境搭建实战教程

CentOS建站环境专题围绕服务器网站部署场景,系统讲解在 CentOS 上安装和配置 Nginx、Apache、PHP、MySQL、MariaDB、PHP-FPM、SSL证书、网站目录权限、虚拟主机、反向代理和 WordPress 等常见建站环境,适合个人站长和运维人员搭建稳定 Web 服务。

223

2026.05.29

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

100

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

60

2026.10.22

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

60

2026.10.22

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

20

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn