温馨提示×

Ubuntu SELinux宽松模式

小樊
33
2025-12-10 13:41:52
栏目: 智能运维

Ubuntu 启用 SELinux 宽松模式 Permissive 指南

前置说明

  • Ubuntu 默认使用 AppArmor 作为内核级安全模块,SELinux 并非默认启用;在 Ubuntu 上启用 SELinux 属于可选方案,功能与生态支持相对有限。若需要完整的 SELinux 体验,可考虑 CentOS/RHEL 等发行版。以下步骤适用于在 Ubuntu 上手动安装并切换到 SELinux 的宽松模式(Permissive)

安装与启用步骤

  1. 安装 SELinux 基础组件与默认策略
    执行:sudo apt-get update && sudo apt-get install selinux-basics selinux-policy-default auditd audispd-plugins
    说明:安装策略与审计组件,为后续策略加载与日志分析做准备。
  2. 激活 SELinux
    执行:sudo selinux-activate
    说明:准备 SELinux 运行环境(如策略与文件标记流程),准备完成后按提示重启。
  3. 重启系统
    执行:sudo reboot
  4. 将运行模式设为宽松模式
    编辑配置文件:sudo nano /etc/selinux/config,将 SELINUX= 设为
    SELINUX=permissive
    保存后再次重启:sudo reboot
    说明:Permissive 模式会记录违规但不阻断,便于排查与策略调优。

验证与切换操作

  • 查看当前模式
    执行:getenforce(返回 PermissiveEnforcing
  • 查看详细状态
    执行:sestatus(可见 SELinux statusModeLoaded policy name 等)
  • 在 Enforcing 与 Permissive 间临时切换(无需重启)
    切换为宽松:sudo setenforce 0
    切换为强制:sudo setenforce 1
    说明:临时切换仅对当前运行有效,永久生效需修改 /etc/selinux/config 并重启。

日志分析与策略调优

  • 查看 AVC 拒绝日志
    执行:sudo ausearch -m avc -ts recent
    说明:定位被策略拒绝的访问尝试,便于生成或调整规则。
  • 解释拒绝原因并生成建议规则
    执行:sudo ausearch -m avc -ts recent | audit2why
    说明:将 AVC 日志转换为可读解释,并给出基于策略的修改建议,辅助从 Permissive 向 Enforcing 平滑过渡。

常见问题与提示

  • 从 Disabled 切换到 Permissive/Enforcing 通常需要重启;在已启用状态下,Enforcing 与 Permissive 之间可用 setenforce 即时切换。
  • 若系统曾完全禁用 SELinux,后续改为启用时可能需要一次文件系统重新标记(创建 /.autorelabel 并重启)以确保文件安全上下文正确。
  • 在 Ubuntu 上 SELinux 的可用性与工具链不如 RHEL/CentOS 完备;若长期需要 SELinux 的完整特性与官方支持,建议优先选择以 SELinux 为核心的发行版。

0