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

Linux如何配置日志审计auditd_Linux auditd日志审计配置实战

胖宇大大_6024

胖宇大大_6024

发布时间:2026-04-04 21:01:48

|

571人浏览过

|

来源于php中文网

原创

auditctl临时规则无反应的根本原因是auditd服务未运行或规则被内核拒绝;需检查systemctl status auditd、auditctl -s | grep enabled、lsmod | grep audit,并注意CentOS 7不支持restart且不监控虚拟文件系统。

linux如何配置日志审计auditd_linux auditd日志审计配置实战

auditctl临时规则为什么加了没反应?

常见现象是执行 auditctl -w /etc/passwd -p rwxa -k passwd_mod 后,改完 /etc/passwd 却在 ausearch -k passwd_mod 里查不到记录。根本原因只有两个:服务没真跑起来,或规则被内核拒绝。

先确认基础状态:
- 运行 systemctl status auditd,必须看到 active (running);
- 执行 auditctl -s | grep enabled,输出应为 enabled 1(不是 0 或 2);
- 检查 lsmod | grep audit 是否有内核模块加载;
- 若用 CentOS 7,注意它不支持 systemctl restart auditd——重启会清空所有 auditctl 规则,必须用 augenrules --load 加载永久规则才可靠。

另外,-w 监控路径必须是真实存在的目录或文件,不能是符号链接终点未解析的路径;监控 /proc 类虚拟文件系统会直接失败,auditd 不支持这类路径。

如何让auditd规则开机自动生效?

靠 auditctl 加的规则重启就丢,生产环境必须走永久配置。核心流程是:写规则文件 → 生成二进制规则 → 重载。

/etc/audit/rules.d/ 是唯一被 augenrules 扫描的目录,文件名建议以 .rules 结尾(如 99-web.rules),内容格式与 auditctl 命令一致,但去掉 auditctl 前缀:

## /etc/audit/rules.d/99-web.rules
-w /var/www/html -p rwxa -k web_content
-a always,exit -F arch=b64 -S execve -k command_exec

执行以下三步完成加载:

  • augenrules --check 验证语法是否合法
  • augenrules --load 编译并加载到内核(等效于把所有 .rules 合并成 /etc/audit/audit.rules 并调用 auditctl -R)
  • systemctl restart auditd(仅 CentOS 8+/RHEL 8+ 有效;CentOS 7 改用 service auditd reload)

注意:augenrules 不会覆盖你手动写的 /etc/audit/audit.rules,它只读取 rules.d/ 下的文件。若两者混用,优先级以 augenrules 生成的为准。

监控敏感命令时,-S execve 和 -F path=/usr/bin/sudo 的区别是什么?

这是审计粒度的关键分水岭:-S execve 捕获所有进程创建行为(即每次 execve() 系统调用),而 -F path=... 是对特定二进制文件的路径过滤。

举例说明:

  • -a always,exit -F arch=b64 -S execve -k all_exec:记录系统中每一个命令执行,包括 ls、cat、vim……日志量爆炸,仅适合短时取证
  • -a always,exit -F arch=b64 -S execve -F path=/usr/bin/sudo -k sudo_exec:只记录调用 sudo 本体的动作,不关心后面跟什么参数,性能开销低且目标明确
  • 若想进一步缩小范围,可叠加 -F uid!=0(排除 root 自身执行),或 -F auid>=1000(只捕获交互式登录用户)

真正要防提权操作,推荐组合使用:-S execve + -F path + -F auid,避免漏掉 sudo -u www-data /bin/bash 这类绕过。

audit.log 日志暴涨或查不到关键事件,怎么快速定位问题?

日志空或爆满,本质都是规则“不准”:要么太松(全量捕获),要么太紧(条件冲突或路径不存在)。

排查顺序很实际:

  • 先看 ausearch -m CONFIG_CHANGE,确认最近是否有规则变更或 auditctl -e 2 锁定规则(锁定后无法增删)
  • 用 ausearch -i -ts recent | head -20 快速扫一眼最近几条原始日志,看字段是否完整(尤其 auid、exe、key 是否为空)
  • 检查磁盘空间和 auditd.conf 中的 max_log_file 和 max_log_file_action 设置,避免日志被静默截断
  • 如果规则含 -F arch=b64 但机器是 32 位或混合架构,需补加 -F arch=b32 规则,否则 32 位程序调用完全不记录

最易被忽略的是:auditd 默认不记录子进程的 execve,除非父进程本身也在被监控范围内。这意味着只监控 /usr/bin/python,但不监控 /usr/bin/python3,那么用 python3 调起的脚本就不会出现在 execve 日志里——路径必须精确到实际被执行的二进制名。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
WorkBuddy

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

SkildArt
SkildArt Hot

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

立刻MV
立刻MV Hot

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

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

Atoms
Atoms Hot

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

豆包大模型

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

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

DeepSeek

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

相关专题

更多
vim保存退出命令
vim保存退出命令

vim是一个非常强大的文本编辑器,常用于Unix和Linux系统。它是从vi发展而来的,相比vi有许多改进和扩展。在vim中,保存并退出的命令是:wq"wq"这个命令是由两个部分组成的。其中,"w"表示写入文件,将所做的更改保存到磁盘;而"q"表示退出vim编辑器。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

329

2023.08.01

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

3910

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

3353

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2493

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

6010

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

5662

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

3333

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2825

2023.07.20

FrankenPHP集成Laravel详细教程
FrankenPHP集成Laravel详细教程

本专题提供FrankenPHP集成Laravel的详细配置指南,全面解析运行原理、开发环境搭建、Caddyfile配置、Octane工作模式、数据库连接、队列任务、定时任务和生产环境优化,解决部署过程中常见的报错与兼容性问题。

40

2026.10.08

热门下载

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

精品课程

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

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