Ubuntu SELinux强制模式
导读:Ubuntu 启用 SELinux 强制模式的完整步骤 前置说明 Ubuntu 默认不启用 SELinux,需要手动安装组件并调整启动参数。 建议先在测试环境验证,或先设为Permissive观察日志,再切换到Enforcing,以避免业...
Ubuntu 启用 SELinux 强制模式的完整步骤
前置说明
- Ubuntu 默认不启用 SELinux,需要手动安装组件并调整启动参数。
- 建议先在测试环境验证,或先设为Permissive观察日志,再切换到Enforcing,以避免业务中断。
- 切换过程需要root 权限或 sudo 权限。
操作步骤
-
安装必要软件包
执行:sudo apt update & & sudo apt install selinux-basics selinux-policy-default selinux-utils auditd
说明:安装 SELinux 基础工具、默认策略、常用工具及审计服务(用于记录拒绝事件)。 -
激活 SELinux 并配置启动参数
执行:sudo selinux-activate
作用:在引导参数中写入 security=selinux,确保内核加载 SELinux。完成后建议重启一次以完成初始化:sudo reboot。 -
设置默认策略类型(可选)
编辑配置文件:sudo nano /etc/selinux/config
将 SELINUXTYPE=default(常见为 targeted 策略)。保存退出。 -
切换为强制模式
- 临时生效:
sudo setenforce 1(重启后失效) - 永久生效:编辑
/etc/selinux/config,将 SELINUX=enforcing,随后重启:sudo reboot。
- 临时生效:
-
验证状态
执行:sestatus或getenforce
期望输出包含:SELinux status: enabled 且 Current mode: enforcing。
常用运维命令
- 查看与切换模式:
getenforce、sudo setenforce 0|1 - 查看详细状态:
sestatus - 查看安全上下文:
ls -Z、ps -Z - 策略与端口管理:
sudo semanage port -a -t http_port_t -p tcp 8080 - 审计与排错:
- 查看拒绝日志:
sudo ausearch -m avc -ts recent - 生成自定义模块:
grep avc /var/log/audit/audit.log | audit2allow -M mypol - 加载模块:
sudo semodule -i mypol.pp
提示:若遇到服务启动失败或权限被拒,先切回 Permissive 收集日志,再用audit2allow生成最小权限模块,逐步恢复 Enforcing。
- 查看拒绝日志:
常见问题与处理
- 无法切换为 Enforcing:确认已执行
selinux-activate并重启;检查/etc/selinux/config中 SELINUX=enforcing;确保未以 Disabled 启动(Disabled 需改回并再次重启)。 - 服务异常或访问被拒:临时设为 Permissive 定位问题,使用
ausearch/audit2allow分析 AVC 拒绝并生成策略模块,最小化放行后再切回 Enforcing。 - 策略类型选择:一般使用 default(targeted);mls 适用于多级安全场景,配置复杂,非必要不建议使用。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu SELinux强制模式
本文地址: https://pptw.com/jishu/768794.html
