温馨提示×

Ubuntu SELinux日志查看

小樊
37
2025-11-14 21:04:09
栏目: 智能运维

Ubuntu SELinux日志查看与排查

一 前置检查

  • 确认是否启用 SELinux:运行命令 getenforce(返回 Enforcing/Permissive/Disabled)。如返回 Disabled,需先启用 SELinux 才可能产生 AVC 日志。也可使用 sestatus 查看更详细状态。注意:Ubuntu 默认不启用 SELinux,若未启用则不会有 SELinux 拒绝日志。启用通常涉及编辑 /etc/selinux/config 并重启系统。

二 日志位置与实时查看

  • 主要日志文件:SELinux 的 AVC(Access Vector Cache)拒绝等审计事件由 auditd 写入 /var/log/audit/audit.log。实时查看可用:
    • 直接跟踪日志:sudo tail -f /var/log/audit/audit.log
    • 过滤拒绝事件:sudo grep -i “denied” /var/log/audit/audit.log
  • 若系统未安装或未运行 auditd,先安装并启动:sudo apt install auditd,sudo systemctl enable --now auditd。未运行 auditd 时,通常看不到 /var/log/audit/audit.log 中的 SELinux 审计记录。

三 常用检索与分析命令

  • 按 AVC 类型检索:sudo ausearch -m avc -ts today(查看今天所有 AVC 事件)
  • 按时间范围检索:sudo ausearch -m selinux -ts recent -te now(最近一段时间的 SELinux 审计事件)
  • 生成 SELinux 审计报告:sudo aureport -m selinux
  • 按自定义关键字检索:ausearch -k (配合审计规则使用,便于聚焦特定路径或进程)
  • 快速查看最近拒绝:ausearch -m avc --start recent

四 无日志时的排查与启用

  • 确认 auditd 状态:sudo systemctl status auditd;如未运行,执行 sudo systemctl enable --now auditd 并再次检查日志。
  • 启用 SELinux:编辑 /etc/selinux/config,设置 SELINUX=enforcing(或 permissive 用于排错),保存后重启系统。
  • 验证:重启后用 getenforce 确认为 Enforcing/Permissive,再复现问题并查看 /var/log/audit/audit.log

0