首页/安全/安全加固速查/用户与组管理命令审计

用户与组管理命令审计

对 useradd/usermod/userdel/groupadd 等管理命令与 setuid 系统调用布控:账号被悄悄添加或提权动作都会留痕。

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

为什么要审计账号管理命令

改动账号文件会留下文件层痕迹,但「是谁执行了哪条命令」需要命令级审计才能回答。对用户管理工具与身份切换系统调用布控后,账号被悄悄添加、被加入特权组、或者有人执行提权动作,都会在审计日志里留下可检索的记录。这与文件监控是互补的两层:一层看结果,一层看动作与执行者。

基本信息

加固项账号变更与身份切换审计
适用平台Linux(auditd)
风险等级高
监控对象用户与组管理工具的执行,以及身份相关的系统调用
检索标记按用途分组命名,便于按事件类型查询

典型使用场景

  • 账号异常排查:确认某账号是谁在什么时间创建的
  • 提权追溯:还原一次特权操作由谁发起、以什么身份执行
  • 等保安全审计:要求审计记录覆盖到每个用户的账号管理操作
  • 应急取证:通过执行记录还原攻击者在主机上的动作序列
  • 变更复核:确认账号变更都来自授权的运维操作

规则与查询

规则与查询
-a always,exit -F arch=b64 -S setuid,setgid,setreuid,setregid -k privesc
-a always,exit -F path=/usr/sbin/useradd -F perm=x -k user_mgmt
-a always,exit -F path=/usr/sbin/usermod -F perm=x -k user_mgmt
-a always,exit -F path=/usr/sbin/userdel -F perm=x -k user_mgmt
-a always,exit -F path=/usr/sbin/groupadd -F perm=x -k user_mgmt
ausearch -k user_mgmt --start today
ausearch -k privesc -ts recent | head -20

规则要素读法

要素含义注意事项
-a always,exit在系统调用退出时总是记录适合需要记录完整结果的场景
-S 系统调用名按系统调用过滤身份切换相关的调用要成组配置
-F path 与 perm=x按路径与执行权限过滤只记录执行事件,不记录参数
-k 标记自定义检索键按用途分组命名,便于分类查询
规则里写死的工具路径要以本机实际位置为准:不同发行版可能放在不同目录,上规则前先用路径查询命令核对,路径写错的规则不会报错但永远匹配不到事件。
按路径与执行权限过滤只能记录「某个程序被执行了」,不记录命令行参数。要知道改了哪个账号,需要与身份文件的监控规则配合分析,或者改用能记录命令行内容的审计方式。这类组合分析是账号审计的标准做法。

两层监控怎么配合

文件监控回答「账号文件被改了」,命令审计回答「是谁执行的、什么时候执行的」。排查时先按文件监控确定改动时间与内容,再用命令审计在相近时间点找执行者,两条记录对上就能形成完整链条。规则稳定后把两份查询写成固定脚本,日常巡检时跑一遍即可。

易错点

  • 路径写错导致规则空转:不同发行版工具路径不同,规则不报错但匹配不到事件
  • 只记录执行不记录参数:需要与文件监控配合才能还原改了哪个账号
  • 规则不分标记:全部事件混在一起,排查时无法按事件类型快速过滤
  • 系统调用组配不全:只监控其中一个调用会漏掉其他提权路径
  • 规则位置靠后:身份类关键规则应放在规则文件中靠前位置,避免被前置规则干扰

数据来源与参考

  • 等保 2.0 三级:安全审计
  • CIS Linux Benchmark:账号管理审计

相关工具

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