centos selinux安全级别怎么选
导读:CentOS 中 SELinux 安全级别选择指南 一、先明确两个维度 运行模式(决定拦不拦): Enforcing:强制执行策略,违规访问会被拒绝并记录日志。 Permissive:只记录不拦截,便于排障与过渡。 Disabled:完...
CentOS 中 SELinux 安全级别选择指南
一、先明确两个维度
- 运行模式(决定拦不拦):
- Enforcing:强制执行策略,违规访问会被拒绝并记录日志。
- Permissive:只记录不拦截,便于排障与过渡。
- Disabled:完全关闭 SELinux,需重启才生效,且从 disabled 切回 enforcing 也必须重启。
- 策略类型(决定怎么拦):
- targeted:默认策略,仅对部分关键进程做强制访问控制,其他进程多为 unconfined_t,对业务影响小、易用性高。
- mls:多级安全策略,粒度极细但配置复杂,多用于高安全场景(如涉密),一般服务器不建议使用。
二、不同场景的选择建议
| 场景 | 运行模式 | 策略类型 | 说明 |
|---|---|---|---|
| 生产业务服务器 | Enforcing | targeted | 兼顾安全与可用性,是默认且推荐的稳态选择。 |
| 新应用上线或故障排查 | Permissive | targeted | 先放行并记录 AVC 拒绝日志,定位后再回到 Enforcing。 |
| 学习/测试、短期快速交付 | 可临时 Disabled | targeted | 为降低复杂度可临时关闭;上线前应恢复 Enforcing 或改为 Permissive 并调策略。 |
| 高安全/涉密要求 | Enforcing | mls | 需充分评估与专人运维,准备完整的标签与策略工程。 |
三、快速切换与验证
- 查看与临时切换
- 查看状态:
getenforce、sestatus - 临时切换:
setenforce 0(Permissive)、setenforce 1(Enforcing);仅能在 enforcing/permissive 间切换,不能 setenforce 到 disabled。
- 查看状态:
- 永久生效
- 编辑配置文件:
/etc/selinux/config- 设置模式:
SELINUX=enforcing|permissive|disabled - 设置策略:
SELINUXTYPE=targeted|mls
- 设置模式:
- 注意:改为 disabled 或首次启用 mls 通常需要重启;从 disabled 改回 enforcing 也需重启。
- 编辑配置文件:
- 变更后自检
- 重启后用
getenforce、sestatus确认;若切到 mls,建议按引导执行文件重标记(如创建 /.autorelabel 或执行fixfiles -F onboot)。
- 重启后用
四、排障与策略收敛建议
- 先看拒绝日志:
ausearch -m avc -ts recent或grep denied /var/log/audit/audit.log;必要时安装 setroubleshoot 并使用sealert -l < UUID>获取可读化建议。 - 宽容期收敛策略:
- 自动生成模块:
audit2allow -a -M mypolicy - 加载模块:
semodule -i mypolicy.pp
- 自动生成模块:
- 文件与端口上下文:
- 持久化设置文件上下文:
semanage fcontext -a -t < type> "/path(/.*)?" - 应用上下文:
restorecon -R /path - 放通端口类型:
semanage port -a -t < port_type> -p tcp < port>
- 持久化设置文件上下文:
- 细粒度开关:用
getsebool -a | grep < 服务名>查看布尔值,必要时setsebool -P < name> on/off持久化调整。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos selinux安全级别怎么选
本文地址: https://pptw.com/jishu/780437.html
