Auditd 配合监控系统实现非法进程拉起告警

阿墨姑娘_1904

阿墨姑娘_1904

2026-07-13

274人浏览

原创

auditd通过监控execve系统调用捕获非法进程拉起行为,需结合uid≠euid、可疑路径(如/tmp/*)、高危命令非root调用等规则精准判定,并通过audispd/filebeat转发至告警系统实现闭环。

auditd 配合监控系统实现非法进程拉起告警

Auditd 本身不拉起进程,也不直接触发告警,但它能精准捕获“非法进程拉起”行为的内核级痕迹——关键在于监控 execve 系统调用 并结合用户权限、路径特征、执行上下文做高置信度判定,再将日志事件实时转发给监控系统(如 Prometheus + Alertmanager、ELK、或自建脚本)完成告警闭环。

聚焦三类典型非法进程拉起场景

不是所有 execve 都要告警,需区分风险等级:

  • 非 root 用户执行特权路径程序:如普通用户运行 /usr/bin/sudo、/bin/mount 或自定义 SUID 二进制,应捕获 uid != euid 的调用;
  • 可疑路径下的可执行文件被拉起:如 /tmp/.backdoor、/dev/shm/ld.so、/var/run/.x 等临时目录中的 ELF 文件,这类几乎全是后门;
  • 已知高危工具被异常提权调用:如 find、python3、bash 被非 root 用户以 euid=0 执行,尤其参数含 -c、system(、exec( 等 shell 注入痕迹。

写准 auditd 规则,避免噪音和漏报

规则需写入 /etc/audit/rules.d/10-process-exec.rules,再执行 sudo augenrules --load 加载:

Qwen
Qwen

Qwen是一款由阿里云推出的大语言模型和多模态模型系列。

下载
  • 捕获所有可疑 execve(带权限升降):
    -a always,exit -F arch=b64 -S execve -F uid!=euid -k illegal_exec_priv
  • 单独盯住高危路径(支持通配但慎用):
    -a always,exit -F arch=b64 -S execve -F path=/tmp/* -F perm=x -k tmp_exec
    -a always,exit -F arch=b64 -S execve -F path=/dev/shm/* -F perm=x -k shm_exec
  • 监控特定高危命令的非 root 调用:
    -a always,exit -F arch=b64 -S execve -F path=/usr/bin/python3 -F uid!=0 -k py3_unpriv_root

注意:不要用 -w 监控目录,它不适用于 exec;必须用 -a ... -S execve;auid 比 uid 更可靠,可加 -F auid!=0 过滤真实登录者。

让监控系统真正“看到”并响应

auditd 日志默认写入 /var/log/audit/audit.log,需打通到告警链路:

  • 轻量级方案:用 audispd 插件将匹配 illegal_exec_priv 的事件转发至 rsyslog,再由 rsyslog 写入指定文件或发 UDP 到日志平台;
  • 标准运维方案:用 Filebeat 或 Fluentd 采集 audit.log,按 key 字段(如 illegal_exec_priv)打标、过滤,并对接 Prometheus Pushgateway 或直接推送到 Alertmanager;
  • 快速验证方式:写个每 10 秒轮询的脚本:
    ausearch -k illegal_exec_priv --start recent --raw | aureport -f -i,若有输出就触发 echo "ALERT: illegal exec" | mail -s "SEC" admin@example.com。

查日志时重点看哪些字段

一条典型告警日志中,真正决定是否非法的是这组组合:

  • auid=1001:谁登录进来(不可伪造,哪怕 su 切换也保留);
  • uid=1001 euid=0:实际用户 vs 有效用户,不等即提权;
  • exe="/tmp/.shell":真实执行路径,不是 comm="bash" 这种易伪装的进程名;
  • a0="bash" a1="-c" a2="rm -rf /":前三个参数,可识别恶意命令链;
  • cwd="/tmp":工作目录在临时区,高度可疑。

相关专题

更多
LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

2026.09.30

20

10

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

2026.09.30

0

14

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

2026.09.30

0

12

PDF转图片方法
PDF转图片方法

需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。

2026.09.30

20

26

PixTV AI视频生成与无限画布创作
PixTV AI视频生成与无限画布创作

PixTV专题整理AI视频与视觉内容创作相关功能使用教程,涵盖AI生图、视频生成、无限画布、多模型创作、素材管理、声音音乐及视频剪辑等功能,帮助用户快速掌握PixTV从创意到成片的完整制作方法。

2026.09.29

20

15

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

2026.09.23

220

15

Buffalo框架路由与请求处理实操指南
Buffalo框架路由与请求处理实操指南

本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。

2026.09.23

140

15

Buffalo框架零基础入门教程
Buffalo框架零基础入门教程

本专题整理Buffalo框架入门内容,涵盖Go环境准备、buffalo CLI安装、新项目生成、目录结构说明、dev热加载启动、数据库连接配置与常见报错排查,帮助新手按约定优于配置的思路跑通第一个Buffalo框架应用。

2026.09.23

120

15

Conan创建软件包配方指南
Conan创建软件包配方指南

本专题介绍通过conanfile.py创建软件包的方法,讲解包名、版本、依赖和构建设置等基础信息,以及source、build、package、package_info等常用方法的作用及编写思路。

2026.09.22

60

12

热门下载

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

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习