SELinux日志分析方法如下:
查看日志文件
/var/log/audit/audit.log,可用less、tail -f实时查看。grep 'avc: denied'或grep -i "denied"提取拒绝访问记录。使用专用工具
ausearch -m avc -ts recent查看最近SELinux拒绝记录。aureport -m selinux统计SELinux相关事件。sealert -a /var/log/audit/audit.log。解析日志内容
scontext(源上下文)、tcontext(目标上下文)、class(对象类型)、perm(被拒绝权限)。avc: denied { read } for pid=1234 comm="nginx" ...,表示进程nginx无权读取目标文件。生成策略建议
audit2allow根据日志生成允许规则,如audit2allow -i /var/log/audit/audit.log -M mypolicy,再通过semodule -i安装。定期维护
auditd定期轮转日志,避免文件过大。cron任务自动化分析脚本,监控异常。工具推荐:sealert适合新手快速定位问题,audit2allow适合生成自定义策略,grep/awk适合高级过滤分析。