0

0

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

冷炫風刃

冷炫風刃

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

|

863人浏览过

|

来源于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 ≤ 当前系统时间:

Machine Translation
Machine Translation

聚合多个来源的AI翻译

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

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

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
centos
centos

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

451

2023.06.16

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

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

858

2023.10.27

C++多线程并发控制与线程安全设计实践
C++多线程并发控制与线程安全设计实践

本专题围绕 C++ 在高性能系统开发中的并发控制技术展开,系统讲解多线程编程模型与线程安全设计方法。内容包括互斥锁、读写锁、条件变量、原子操作以及线程池实现机制,同时结合实际案例分析并发竞争、死锁避免与性能优化策略。通过实践讲解,帮助开发者掌握构建稳定高效并发系统的关键技术。

2

2026.03.16

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

90

2026.03.13

Python异步编程与Asyncio高并发应用实践
Python异步编程与Asyncio高并发应用实践

本专题围绕 Python 异步编程模型展开,深入讲解 Asyncio 框架的核心原理与应用实践。内容包括事件循环机制、协程任务调度、异步 IO 处理以及并发任务管理策略。通过构建高并发网络请求与异步数据处理案例,帮助开发者掌握 Python 在高并发场景中的高效开发方法,并提升系统资源利用率与整体运行性能。

136

2026.03.12

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

380

2026.03.11

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

64

2026.03.10

Kotlin Android模块化架构与组件化开发实践
Kotlin Android模块化架构与组件化开发实践

本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。

111

2026.03.09

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

113

2026.03.06

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 10.8万人学习

Git 教程
Git 教程

共21课时 | 4.3万人学习

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

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号