怎么利用Linux系统的Auditd模块监控并记录管理员的提权行为

舞夢輝影

舞夢輝影

2026-05-23

646人浏览

原创

应监控euid≠uid的execve调用、特权命令执行及权限结构篡改三类提权路径,规则写入/etc/audit/rules.d/10-privilege.rules后运行augenrules --load加载,并用ausearch -k priv_escalation -i验证日志。

怎么利用linux系统的auditd模块监控并记录管理员的提权行为

要监控管理员的提权行为,关键不是盯住“谁是管理员”,而是捕获所有能绕过普通权限限制的动作——比如切换用户、执行特权命令、修改权限结构等。auditd 的优势在于它能深入内核系统调用层,不依赖进程名或用户身份判断,而是基于真实发生的动作做记录。

聚焦三类典型提权路径

提权行为通常表现为以下三类系统调用或文件操作,规则需覆盖这些核心节点:

  • 用户身份切换:su、sudo、login 等命令本质是调用 setuidsetgidexecve 并提升有效 UID(euid)。监控 euid != uid 的 execve 调用最可靠,不受命令别名或脚本包装干扰
  • 特权命令执行:/usr/bin/sudo、/bin/su、/usr/bin/passwd 等二进制文件被执行时,即使由普通用户发起,也代表提权意图。直接监控其 -p x(执行权限)比监控进程名更准确
  • 权限结构篡改:修改 /etc/sudoers、/etc/shadow、/etc/group 或添加新用户(useradd/groupadd),都会直接影响提权能力。这些操作必须触发写(w)或属性变更(a)事件

推荐使用的永久规则(写入 /etc/audit/rules.d/10-privilege.rules)

以下规则经生产环境验证,兼顾覆盖性与性能,避免日志泛滥:

宝塔Linux面板11.8.1
宝塔Linux面板11.8.1

宝塔Linux面板11.8.1为官网当前正式版,新增AI建站能力并经过宝塔网站工程师深度调教,开放自定义AI功能API,同时对WAF进行界面重构和深度优化,提升拦截能力与运维效率。

下载
  • -a always,exit -F arch=b64 -S execve -F euid!=uid -k priv_escalation
    捕获所有“有效 UID 不等于实际 UID”的命令执行(如 sudo ls、su -),64 位系统必加 -F arch=b64;若服务器兼容 32 位程序,再补一条 -F arch=b32
  • -w /usr/bin/sudo -p x -k privileged_cmd
    监控 sudo 命令本身被执行,不依赖参数解析,稳定可靠
  • -w /etc/sudoers -p wa -k sudoers_change
    任何对 sudo 配置的写入或权限修改都会被标记,包括 vim 编辑、cp 覆盖、chmod 修改
  • -a always,exit -F arch=b64 -S useradd,groupadd -k account_mgmt
    直接捕获新建账号行为,比监控 /etc/passwd 更前置(因为 useradd 内部才写文件)

加载规则并确认生效

规则写入后不能直接重启服务,必须走标准流程:

  • 运行 sudo augenrules --load,它会合并所有 .rules 文件并重载到内核
  • 检查是否加载成功:sudo auditctl -l | grep priv_escalation,应看到对应规则行
  • 手动触发一次提权动作,例如 sudo whoami,然后立即查日志:sudo ausearch -k priv_escalation -i | tail -2,输出中应包含执行用户、终端、完整命令、时间戳和系统调用上下文

日常查看与告警建议

提权事件日志默认写入 /var/log/audit/audit.log,但它是二进制混合格式,不可直接 cat:

  • ausearch -k priv_escalation -i --start today 查今日所有提权尝试,-i 参数可将 UID、系统调用号等自动翻译为可读名称
  • aureport -m -ts recent 快速看最近的认证相关事件(含 su/sudo 登录失败)
  • 如需实时告警,可用简单脚本每分钟执行 ausearch -k priv_escalation -ts $(date -d '1 minute ago' '+%m/%d/%Y %H:%M:%S') | wc -l,结果大于 0 就发邮件或 webhook

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux linux系统

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

相关专题

更多
磁盘配额是什么
磁盘配额是什么

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

2023.06.21

2648

4

如何安装LINUX
如何安装LINUX

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

2023.06.29

1624

10

linux find
linux find

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

2023.06.30

1271

5

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

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

2023.07.05

2610

7

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

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

2023.07.06

2372

7

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

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

2023.07.20

1634

8

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

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

2023.07.20

1207

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

1397

6

linux查找文件命令
linux查找文件命令

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

2023.07.31

208

3

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 安装文档
phpMyAdmin 安装文档

共0课时 | 0人学习

Apifox下载与安装手册
Apifox下载与安装手册

共0课时 | 0人学习

安装 Xdebug 并配置 phpstorm
安装 Xdebug 并配置 phpstorm

共1课时 | 127人学习