首页/安全/安全加固速查/特权命令审计(sudo/su/passwd)

特权命令审计(sudo/su/passwd)

对 sudo、su、passwd 等提权入口布控:记录里 auid/uid/euid 三列配合读,能还原“谁以什么身份执行了什么”。

安全加固速查安全更新于 2026-10-13

特权命令审计要留下什么

提权入口是最该被记录的位置:谁在什么时候、以什么身份、执行了什么特权命令。这套规则对提权工具的执行和身份切换相关的系统调用布控,产生的事件里同时包含多个身份字段——登录身份、当前用户身份、有效身份。理解这三个字段的差别,是判断「到底是谁干的」的关键。

基本信息

加固项提权入口审计
适用平台Linux(auditd)
风险等级高
监控对象提权工具的执行与身份切换系统调用
基线提权入口全部可追溯,事件可检索

典型使用场景

  • 事件取证:还原一次提权操作的时间、执行者与实际身份
  • 等保安全审计:要求审计记录覆盖到具体用户的操作
  • 责任追溯:确认某次特权操作由谁发起
  • 异常检测:非运维时段出现提权执行记录值得进一步核查
  • 合规留证:规则与检索结果作为审计条款的支撑材料

规则与查询

规则与查询
-a always,exit -F arch=b64 -S execve -F path=/usr/bin/sudo -k priv_cmd
-a always,exit -F arch=b64 -S execve -F path=/bin/su -k priv_cmd
-a always,exit -F path=/usr/bin/passwd -F perm=x -k priv_cmd
ausearch -k priv_cmd --start today | head -40
ausearch -k priv_cmd -ts today | grep -E 'auid=|euid=|proctitle=' | head -20

事件字段读法

字段含义判读用途
auid登录时的原始身份,切换用户后不变定位「真人」是谁,排查时最先看它
uid 与 euid当前用户身份与有效身份euid 通常为 0,说明操作以特权身份执行
comm进程名确认执行的是哪个程序
proctitle完整命令行(含参数)还原具体执行了什么命令
key规则自定义标记把同类事件归到一条检索线索上
排查提权事件先看登录身份字段:它能穿透多次切换,直接指向最初登录的人,再看完整命令行确认动作内容。仅有进程名不够,因为同一程序可以执行不同操作,参数才是关键信息。
两个要点:规则里的工具路径要以目标系统实际位置为准,不同发行版可能不同,上规则前先核对;另外只记录执行事件与配置文件监控是互补的两层,应该同时保留——一层看动作,一层看结果。

还原一次提权事件

标准流程是三步:先按标记与时间范围拉出事件,再按登录身份字段确认执行者,最后结合完整命令行与对应时间段内的文件改动记录(例如授权文件的变更事件)拼出完整动作。三步串起来就能回答「谁在什么时候做了什么」,这是审计记录最有价值的用法。

易错点

  • 工具路径写错:规则不报错但匹配不到事件,审计出现盲区
  • 只看进程名不看命令行:无法还原具体执行了什么,结论会停留在「有人执行了某程序」
  • 不关注登录身份字段:多次切换用户后容易误判执行者
  • 只做命令审计不做文件监控:缺少结果层的记录,两层的组合才完整
  • 规则装载方式不规范:临时命令添加的规则重启后消失,需写入规则文件并确认装载

数据来源与参考

  • 等保 2.0 三级:安全审计
  • CIS Linux Benchmark:特权命令审计

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌