如何监控服务器权限相关系统调用

夜磊同学_9984

夜磊同学_9984

2026-06-11

884人浏览

原创

应监控setuid、setgid、capset、execve、prctl等权限相关系统调用,通过auditd添加规则-a always,exit -f arch=b64 -s setuid,setgid,capset,execve,prctl -f key=perm_syscall实现持久化审计,并结合ausearch和/proc/pid/status分析调用上下文与能力状态变化。

如何监控服务器权限相关系统调用

监控服务器权限相关系统调用,核心是捕获那些直接影响用户权限、能力集(Capability)、凭证(credentials)或特权操作的内核行为。这类调用一旦被异常触发,往往意味着提权尝试、权限滥用或恶意进程驻留。

重点关注的权限类系统调用

以下系统调用直接关联权限变更或高危能力启用,应列为监控优先项:

  • setuid、setgid、setreuid、setregid:修改进程有效/保存UID/GID,常见于提权或伪装身份
  • capset:动态调整线程的能力位图(Permitted/Effective/Inheritable),是Capability机制的核心控制点
  • execve:程序加载入口,配合文件能力(file capabilities)决定子进程初始权限;若执行带+ep能力的二进制,会立即激活对应Effective能力
  • prctl(特别是PR_SET_KEEPCAPS、PR_CAPBSET_DROP等选项):用于精细控制能力继承与丢弃,常被隐蔽提权工具使用
  • chown、fchownat(配合AT_SYMLINK_NOFOLLOW):非root用户若能成功调用,说明已获得CAP_CHOWN能力,需确认是否合理授权

用auditd持久化审计权限调用

auditd是内核级审计框架,适合长期、可靠地记录权限敏感操作,日志写入/var/log/audit/audit.log,不易被普通用户清除。

添加规则示例:

sudo auditctl -a always,exit -F arch=b64 -S setuid,setgid,capset,execve,prctl -F key=perm_syscall

说明:

AGI-Eval
AGI-Eval

AGI-Eval是一款AI模型评测工具,AI 大模型评测社区。

下载
  • -F arch=b64限定64位系统调用(x86_64环境)
  • -S后列出目标系统调用名,支持逗号分隔
  • -F key=perm_syscall打标签,便于后续检索
  • 规则默认监控所有UID,如需聚焦特定用户,可加-F uid!=0(排除root自身常规操作)或-F auid>=1000(仅审计登录用户)

查日志命令:ausearch -k perm_syscall | aureport -f -i

用strace临时抓取可疑进程行为

对正在运行的可疑进程(如异常父进程、高CPU但无业务逻辑的守护进程),可用strace快速观察其权限动作:

  • strace -p PID -e trace=setuid,setgid,capset,prctl -s 256:只跟踪指定调用,截断长参数便于阅读
  • strace -f -e trace=execve -o exec.log --daemonize /path/to/app:记录完整exec链,检查是否加载了带能力的二进制
  • 注意:strace本身需要CAP_SYS_PTRACE,普通用户无法附加到其他用户进程,需root或对应capability权限

结合Capability状态做上下文判断

单看系统调用不足以定性风险,需同步检查调用前后的Capability状态:

  • 用cat /proc/PID/status | grep Cap查看进程当前三组能力位图(CapEff、CapPrm、CapInh)
  • 对比getcap /proc/PID/exe:若可执行文件无能力,但进程Effective里有CAP_NET_ADMIN,则大概率是运行时通过capset()非法提升
  • 发现capset()调用返回0(成功),但调用前CAP_SETPCAPS不在Permitted中?这违反Capability设计原则——说明内核可能被篡改或存在0day利用

不复杂但容易忽略:权限调用本身合法,关键在“谁在什么上下文中调用、调用前后能力如何变化”。把auditd规则、proc状态和进程血缘(ppid、execve路径)串起来,才能真正识别恶意提权链。

相关文章

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

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

下载

相关标签:

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

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

437

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

900

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2832

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

956

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

849

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

434

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2556

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4772

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

767

5

热门下载

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

精品课程

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

共6课时 | 54.6万人学习

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

共89课时 | 133.4万人学习