如何利用Linux审计日志监控特定高风险用户组对开放系统服务的访问

舞姬之光

舞姬之光

2026-05-28

363人浏览

原创

应监控web服务关键路径并结合uid与组映射分析,而非直接用gid过滤:先-w监控/var/www/html等路径,再通过ausearch提取uid并用id -gn匹配www-data等目标组实现归因。

如何利用linux审计日志监控特定高风险用户组对开放系统服务的访问

监控特定高风险用户组(如 www-dataapachenginx)对开放系统服务的访问,不能靠“直接匹配组ID”的规则——因为 auditd 内核层不支持 -F gid=xxx 对目录或服务路径做前置过滤。真正可行且生产环境验证有效的方式是:先用 -w 精准监控服务关键路径(如 Web 根目录、配置目录、临时上传区),再结合 UID 提取 + 组映射实现可归因分析。

一、锁定服务关键路径并设置路径级审计

开放系统服务(如 Apache/Nginx)的行为最终会落在文件系统上。监控这些落地路径,比试图拦截“服务调用”更可靠、更轻量:

  • Web 根目录(如 /var/www/html):执行 sudo auditctl -w /var/www/html -p rwxa -k web_root_access
  • 配置目录(如 /etc/nginx/etc/apache2):加 -p wa 监控写和属性变更,防配置篡改
  • 上传/缓存临时目录(如 /var/www/uploads/tmp/php*):用 -p rw 防恶意文件落地
  • 注意:路径必须是真实 inode,避免软链接;子目录不自动递归,需显式补充规则或监控父级

二、确保规则持久化且 auditd 正常运行

临时规则重启即失效,生产环境必须固化:

PyCharm 2026.2.0.1 Linux版
PyCharm 2026.2.0.1 Linux版

PyCharm 2026.2.0.1 Linux版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合需要指定 PyCharm 版本进行 Python 项目开发、运行和调试的用户。

下载
  • 将规则写入 /etc/audit/rules.d/10-web-service.rules,例如:
    -w /var/www/html -p rwxa -k web_root_access
  • 执行 sudo augenrules --load(不是 restart auditd)
  • 验证:运行 sudo auditctl -l | grep web_root_access,有输出即生效
  • 检查状态:systemctl is-active auditd 应返回 active,且 auditctl -s | grep enabled 显示 enabled=1

三、按用户组回溯访问行为(核心操作)

每条审计日志都记录触发进程的 UID 和 AUID。高风险组成员的 UID 可批量查出,再反向筛选日志:

  • 提取最近 1 小时内所有涉及 Web 根目录的 UID:
    sudo ausearch -k web_root_access --start 1h | awk -F 'uid=' '{print $2}' | cut -d' ' -f1 | sort -u
  • 查这些 UID 所属组,并只保留目标组(如 www-data):
    for u in $(...); do id -Gn $u 2>/dev/null | grep -q 'www-data' && echo "UID $u"; done
  • 更高效方式:导出 CSV 后用脚本或 grep 匹配组名:
    sudo aureport -f -k web_root_access --start today --format csv | grep 'www-data'

四、增强监控深度的实用建议

仅监控路径不够?可叠加以下策略提升覆盖度:

  • 为 Web 服务运行用户(如 www-data)单独加 UID 级规则:
    sudo auditctl -a always,exit -F arch=b64 -F uid=33 -S open,openat,execve -k wwwdata_syscall(UID 33 是 www-data 常见值)
  • 监控关键服务二进制和配置加载:
    sudo auditctl -w /usr/sbin/nginx -p x -k nginx_exec-w /etc/nginx/nginx.conf -p r
  • 启用 AUID 过滤:用 -F auid!=4294967295 排除内核线程,聚焦真实登录用户行为
  • 日志告警联动:将 ausearch 输出接入 cron 脚本,发现 www-data UID 的非预期 execve 即发邮件

不复杂但容易忽略:auditd 的价值不在“加一条规则”,而在“路径精准 + UID可溯 + 组可归”。只要 Web 服务以固定用户身份运行,这套组合就能把“谁、在什么上下文、动了什么文件”完整串起来。

相关文章

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

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

下载

相关标签:

linux 日志监控

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

相关专题

更多
Java 网络安全
Java 网络安全

本专题聚焦 Java 在网络安全与加密通信中的应用,系统讲解常见加密算法(MD5、SHA、AES、RSA)、数字签名、HTTPS证书配置、令牌认证(JWT、OAuth2)及常见安全漏洞防护(XSS、SQL注入、CSRF)。通过实战项目(如安全登录系统、加密文件传输工具),帮助学习者掌握 Java 安全开发与加密技术的实战能力。

2025.10.13

2013

12

PHP 安全与防护
PHP 安全与防护

本专题聚焦于PHP开发中的安全问题与防御措施,详细讲解SQL注入、XSS攻击、CSRF攻击、文件包含漏洞等常见安全风险及其修复方法。通过结合实际案例,帮助开发者理解漏洞成因,掌握输入验证、会话安全、加密存储与安全编码规范,全面提升PHP网站的安全防护水平。

2025.11.04

268

21

磁盘配额是什么
磁盘配额是什么

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

2023.06.21

2693

4

如何安装LINUX
如何安装LINUX

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

2023.06.29

1650

10

linux find
linux find

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

2023.06.30

1298

5

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

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

2023.07.05

2674

7

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

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

2023.07.06

2441

7

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

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

2023.07.20

1660

8

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

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

2023.07.20

1254

4

热门下载

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

精品课程

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

共0课时 | 0人学习

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

共0课时 | 0人学习

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

共1课时 | 128人学习