寻求CentOS6下从auditd可审计事件过滤浏览器缓存活动的策略
在CentOS 6中过滤auditd里的浏览器缓存活动策略
我完全理解你的处境——CentOS 6的auditd没有CentOS 7那种便捷的基于可执行文件的过滤能力,还不能直接移除生成缓存相关审计事件的规则,只能想办法在现有框架下过滤掉这些不必要的噪音。下面是几个经过实践验证的技术策略,你可以根据自身环境调整:
1. 利用auditd原生规则排除缓存路径
CentOS 6的auditd虽然没有exe过滤,但支持通过never关键字直接排除特定路径的审计事件,这是最高效的前置过滤方式:
- 第一步,先定位目标浏览器的缓存目录:
- Firefox:
/home/<用户名>/.mozilla/firefox/<随机标识>/Cache - Chrome/Chromium:
/home/<用户名>/.config/google-chrome/Default/Cache - 通用用户缓存:
/home/<用户名>/.cache
- Firefox:
- 第二步,在auditd规则文件中添加排除规则。你可以编辑
/etc/audit/audit.rules,或者在/etc/audit/rules.d/目录下新建一个exclude-browser-cache.rules文件,写入:# 排除Firefox缓存目录 -w /home/*/.mozilla/firefox/*/Cache -p rwxa -k browser_cache -never # 排除Chrome缓存目录 -w /home/*/.config/google-chrome/*/Cache -p rwxa -k browser_cache -never # 排除通用用户缓存目录 -w /home/*/.cache -p rwxa -k browser_cache -never - 第三步,重启auditd服务使规则生效:
验证规则是否生效可以执行service auditd restartausearch -k browser_cache,如果没有返回结果,说明排除规则已经起作用了。
2. 事后查询时过滤缓存事件
如果因为权限或其他限制无法修改auditd规则,可以在查询审计日志时通过工具过滤掉缓存相关条目:
- 使用
ausearch直接排除标签或路径:# 排除标记为browser_cache的事件 ausearch -i --not-key browser_cache # 直接排除包含缓存路径的事件 ausearch -i | grep -v -E "(/\.cache/|/Cache/)" - 使用
aureport生成过滤后的报告:aureport -f -i | grep -v -E "(/\.cache/|/Cache/)"
3. 自定义实时日志过滤脚本
如果需要长期使用过滤后的日志,可以写一个简单的shell脚本,实时监控并过滤audit日志,输出到单独的日志文件:
#!/bin/bash # 实时过滤audit日志,排除缓存相关条目 LOG_SOURCE="/var/log/audit/audit.log" FILTERED_LOG="/var/log/audit/filtered_audit.log" # 确保过滤日志文件存在 touch $FILTERED_LOG # 实时跟踪源日志并过滤 tail -F $LOG_SOURCE | grep -v -E "(/\.cache/|/Cache/)" >> $FILTERED_LOG
你可以把这个脚本设置为开机自启的系统服务,比如通过chkconfig配置,这样日常查看审计日志时直接访问/var/log/audit/filtered_audit.log即可。
注意事项
- 不同浏览器的缓存路径可能有差异,比如Opera、Edge的缓存目录需要单独排查并添加排除规则;
- 多用户环境下,
/home/*可以匹配所有用户的家目录,但如果有特定用户不需要过滤,可单独调整路径; - 修改auditd规则后,务必测试验证,避免误排除重要的审计事件。
内容的提问来源于stack exchange,提问作者Mark M
相关产品推荐
相关产品推荐

