Ubuntu中SELinux如何监控
导读:Ubuntu 中 SELinux 的监控实践 一 快速查看运行状态 使用命令查看当前模式与策略概况: 查看运行模式:getenforce(返回 Enforcing/Permissive/Disabled) 查看详细状态:sestatus...
Ubuntu 中 SELinux 的监控实践
一 快速查看运行状态
- 使用命令查看当前模式与策略概况:
- 查看运行模式:getenforce(返回 Enforcing/Permissive/Disabled)
- 查看详细状态:sestatus(含是否启用、当前模式、策略名称等)
- 查看配置文件:cat /etc/selinux/config(关注 SELINUX=enforcing|permissive|disabled)
- 提示:在 Ubuntu 上,SELinux 可能默认未安装或处于 Disabled,需先安装并启用后才能进行有效监控。
二 日志与审计监控
- 核心日志位置与实时查看
- SELinux 审计事件主要写入:/var/log/audit/audit.log
- 实时跟踪拒绝事件:sudo tail -f /var/log/audit/audit.log | grep avc
- 使用系统日志检索:sudo journalctl -u selinux
- 确保审计服务可用
- 安装并启动审计守护进程:sudo systemctl status auditd(必要时执行 start/enable)
- 审计规则增强(可选,针对策略与配置变更)
- 监控关键文件与目录的变更:
- -w /etc/selinux/config -p wa -k selinux_config
- -w /etc/selinux/policy -p wa -k selinux_policy
- -w /var/lib/selinux/active -p wa -k selinux_active
- 应用变更:sudo systemctl restart auditd
- 监控关键文件与目录的变更:
- 审计查询与报表
- 按时间检索 SELinux 事件:ausearch -m selinux -ts recent -te now
- 生成 SELinux 事件报告:aureport -m selinux
- 说明:如无 auditd,将缺少 AVC 拒绝事件的详细审计记录,建议确保服务运行并配置持久化轮转。
三 事件分析与处置
- 快速定位拒绝原因
- 使用 ausearch 按 AVC 检索并导出片段,交由分析工具:
- ausearch -m avc -ts recent | audit2why(解释为何被拒绝)
- ausearch -m avc -ts recent | audit2allow -a(给出可加载模块的规则建议)
- 使用 ausearch 按 AVC 检索并导出片段,交由分析工具:
- 文件上下文修复
- 若属标签错误,使用 restorecon 按默认类型恢复:
- 示例:/sbin/restorecon -v /var/www/html/index.html
- 若属标签错误,使用 restorecon 按默认类型恢复:
- 辅助诊断
- 使用 sealert -a /var/log/audit/audit.log 获取更友好的诊断与修复建议(需安装相关工具)。
四 监控与告警建议
- 持续观察
- 建立基线:定期运行 aureport -m selinux 并归档,观察事件数量与类型变化
- 实时告警:对 /var/log/audit/audit.log 使用 tail -f 结合 grep “denied|avc” 输出到控制台或接入集中日志平台(如 rsyslog/ELK)
- 变更管控
- 在调整服务、目录结构或安装新软件前,临时切换为 Permissive 观察日志,再回到 Enforcing 并固化正确的 fcontext/布尔值 配置
- 日志维护
- 配置 logrotate 对 /var/log/audit/audit.log 进行轮替,避免磁盘被占满(默认未必自带轮替策略)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu中SELinux如何监控
本文地址: https://pptw.com/jishu/766488.html
