aureport生成“全站敏感系统文件访问越权尝试红名册”的核心是:预先用auditctl对/etc/shadow、/etc/sudoers等关键路径加-k标签,再通过--failed筛选被拒绝的读写执行操作,按用户聚合统计频次并导出csv/html明细,最后结合ausearch交叉验证是否真实越权。

用 aureport 产出“全站敏感系统文件访问越权尝试红名册”,核心是:精准标记敏感路径 + 捕获失败访问 + 按用户/行为聚合高亮。不是泛泛查所有文件操作,而是聚焦“本不该读、不该写、不该执行却硬要碰”的动作。
一、提前打标:给敏感文件加审计关键词
越权分析的前提是日志里能识别出“这是敏感文件”。需用 auditctl 对关键路径打标签(-k),例如:
sudo auditctl -w /etc/shadow -p rwxa -k account_shadowsudo auditctl -w /etc/sudoers -p r -k sudo_configsudo auditctl -w /root/.ssh/ -p rwxa -k root_sshsudo auditctl -w /var/log/auth.log -p r -k auth_log_read
注意:-p rwxa 表示监控读、写、执行、属性变更;-k 后的关键词必须简洁唯一,后续报表靠它筛选。
二、抓取失败访问:只看被拒绝的越权动作
成功访问不等于安全,但失败访问往往暴露试探意图。用 aureport 过滤 denied 类型事件:
- 查所有带
account_shadow标签的失败访问:sudo aureport -k account_shadow --failed -i - 合并多个敏感标签并查失败记录(如 shadow + sudoers):
sudo aureport -k account_shadow -k sudo_config --failed -i - 限定最近7天,只输出用户、时间、命令、结果:
sudo aureport -k account_shadow --failed -ts yesterday -te now -i --format csv > /tmp/redlist_shadow_failed.csv
三、生成红名册:按用户汇总异常频次与路径
红名册本质是“谁在频繁碰不该碰的东西”。用 --summary 快速定位重点目标:
- 统计每个用户对所有敏感标签的失败总次数:
sudo aureport -k account_shadow -k sudo_config -k root_ssh --failed --summary -i - 导出带时间戳的明细 CSV,供人工复核或导入 SIEM:
sudo aureport -k account_shadow -k sudo_config --failed -i --format csv > /tmp/redlist_full.csv - 若需 HTML 版便于邮件通报,部分版本支持:
sudo aureport -k account_shadow --failed -i --format html > redlist.html
四、交叉验证:排除误报,确认真实越权
日志里出现 “denied” 不一定就是恶意——可能是配置错误或脚本误用。需结合上下文判断:
- 对某高危用户(如 UID 1002)查其完整操作链:
sudo ausearch -ua 1002 -m avc,syscalls -ts recent -i | grep -A 3 -B 3 "shadow\|sudoers" - 检查是否伴随提权行为(如 sudo + execve):
sudo ausearch -m execve -i --start recent | awk '/sudo.*passwd|/bin/bash/ && /denied/' - 确认该用户是否真无对应权限(查 sudoers、groups、SELinux 上下文)
不复杂但容易忽略:红名册的价值不在名单长度,而在每条记录背后能否快速回答“为什么被拒”和“谁该负责”。











