centos selinux如何降低风险
导读:在 CentOS 上降低 SELinux 相关风险的正确思路 一 基线状态与最小变更原则 保持 SELinux 为Enforcing模式,仅在必要时短暂切到Permissive排障,避免直接改为Disabled(Disabled 需重启且...
在 CentOS 上降低 SELinux 相关风险的正确思路
一 基线状态与最小变更原则
- 保持 SELinux 为Enforcing模式,仅在必要时短暂切到Permissive排障,避免直接改为Disabled(Disabled 需重启且会丢失 MAC 防护)。
操作要点:- 查看状态:
getenforce、sestatus - 临时切换:
setenforce 0(Permissive)或setenforce 1(Enforcing) - 永久配置:
/etc/selinux/config中设置SELINUX=enforcing,SELINUXTYPE=targeted
- 查看状态:
- 变更遵循“最小权限”:优先用精准的布尔值与类型修正,其次再考虑最小化的自定义策略模块,避免“全放开”。
二 常见风险与处置对照表
| 风险场景 | 处置动作 | 关键命令示例 |
|---|---|---|
| 服务因权限被拒(AVC denied) | 先定位拒绝原因,再按最小权限修复:迁移到合规目录或修正类型;必要时用布尔值或生成最小策略模块 | ausearch -m avc -ts recent、sealert -a /var/log/audit/audit.log、semanage fcontext -a -t httpd_sys_content_t "/data/web(/.*)?"、restorecon -R /data/web、audit2allow -i /tmp/avc.log -M myapp_policy &
&
semodule -i myapp_policy.pp |
| 文件或目录上下文错误 | 用 semanage fcontext 持久化设置类型,restorecon 应用;避免长期用 chcon |
ls -lZ、semanage fcontext -a -t httpd_sys_content_t "/webdata(/.*)?"、restorecon -R /webdata |
| 需要临时放行功能(如 FTP 匿名写入) | 优先用布尔值精确开启,而非全局放宽 | `getsebool -a |
| 排障期间需要“只记录不拦截” | 切到 Permissive 而非 Disabled,排障完成回到 Enforcing | setenforce 0 → 排障 → setenforce 1 |
| 误以为“关掉 SELinux 更安全/更稳” | 保持 Enforcing;若必须关闭,仅作为最后手段,且需充分评估与变更窗口 | 编辑 /etc/selinux/config 为 SELINUX=disabled 并重启(不推荐) |
以上做法强调“启用—观察—分析—最小化授权”的闭环,既能恢复业务,又能把权限收紧到必要范围。
三 与防火墙和其他安全控制协同
- 与 firewalld/iptables 分层防御:SELinux 管进程/资源的最小访问,防火墙管网络可达性,二者配合能显著降低被利用面。
- 持续审计与监控:定期查看
/var/log/audit/audit.log,使用ausearch、sealert分析 AVC 拒绝,及时发现异常行为。 - 保持系统与安全组件策略更新与版本同步,减少因策略滞后带来的可用性或安全性问题。
四 快速排障与回退步骤
- 快速确认与回退:
- 当前模式:
getenforce(返回 Enforcing/Permissive/Disabled) - 临时放行:
setenforce 0(排障用,勿长期) - 永久生效:
/etc/selinux/config设置SELINUX=enforcing后重启
- 当前模式:
- 定位与修复:
- 查拒绝:
ausearch -m avc -ts recent或grep "avc:.*denied" /var/log/audit/audit.log - 修复路径一(推荐):用
semanage fcontext+restorecon修正类型 - 修复路径二(精准功能):用
getsebool/setsebool -P开关布尔值 - 修复路径三(不得已):基于日志生成最小策略模块
audit2allow -M xxx & & semodule -i xxx.pp
- 查拒绝:
- 验证:功能恢复且 AVC 拒绝显著减少或消失,再切回 Enforcing 持续观察。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos selinux如何降低风险
本文地址: https://pptw.com/jishu/776615.html
