审计 Linux 进程行为,通常可以从内核级审计、系统调用跟踪、日志监控、行为分析等多个层面入手。下面按“由浅入深、由通用到专业”的方式给你一个完整思路。
auditd 是 Linux 自带的审计框架,适合合规、安全审计。
# CentOS / RHEL
yum install audit auditd
systemctl enable --now auditd
# Ubuntu / Debian
apt install auditd
systemctl enable --now auditd
auditctl -a always,exit -F arch=b64 -S all -F pid=1234
auditctl -w /usr/bin/python3 -p x -k python_exec
auditctl -a always,exit -F arch=b64 -S execve -F uid=1000
ausearch -k python_exec
aureport -x # 可执行文件报告
✅ 优点:
strace -p 1234
strace -f -o out.log ./app
strace -e trace=network,file ./app
ltrace ./app
⚠️ 注意:
查看进程实时状态:
ls /proc/1234
cat /proc/1234/cmdline
cat /proc/1234/environ
ls -l /proc/1234/fd
cat /proc/1234/maps
常用审计点:
bpftrace -e 'tracepoint:syscalls:sys_enter_execve { printf("%s\n", str(args->filename)); }'
execsnoop # 监控所有新进程
opensnoop # 监控文件打开
tcplife # TCP 连接行为
✅ 优点:
✅ 适合:
cat /var/log/audit/audit.log
cat ~/.bash_history
last
w
ps aux --sort=-%cpu
journalctl -u nginx
✅ 是否创建子进程
✅ 是否读取/写入敏感文件
✅ 是否发起网络连接
✅ 是否修改权限(setuid)
✅ 是否加载异常库
✅ 是否存在隐藏进程
| 场景 | 推荐方案 |
|---|---|
| 合规审计 | auditd |
| 排查异常进程 | strace + /proc |
| 安全入侵分析 | auditd + eBPF |
| 性能 + 行为 | bcc / bpftrace |
| 容器进程 | eBPF + cgroup 审计 |
如果你愿意,我可以:
你更关心哪一类场景?