首页主机资讯SELinux策略如何管理

SELinux策略如何管理

时间2025-11-24 22:51:03发布访客分类主机资讯浏览1450
导读:SELinux策略管理实战指南 一 基础与运行模式 查看状态与模式 查看当前模式:getenforce(返回 Enforcing/Permissive/Disabled) 查看详细状态:sestatus(含策略类型、策略版本、挂载点等)...

SELinux策略管理实战指南

一 基础与运行模式

  • 查看状态与模式
    • 查看当前模式:getenforce(返回 Enforcing/Permissive/Disabled
    • 查看详细状态:sestatus(含策略类型、策略版本、挂载点等)
  • 临时切换模式(立即生效,重启失效)
    • 设为宽容模式:setenforce 0setenforce Permissive
    • 设为强制模式:setenforce 1setenforce Enforcing
  • 永久配置
    • 配置文件:/etc/selinux/config
    • 关键项:SELINUX=enforcing|permissive|disabledSELINUXTYPE=targeted|mls|minimum
    • 注意:在 RHEL 9 及以上版本,若要完全禁用 SELinux,需在引导参数中使用 selinux=0;仅修改 /etc/selinux/config 不再生效。恢复启用可用 grubby --update-kernel ALL --remove-args selinux

二 安全上下文与标签管理

  • 查看标签
    • 文件/目录:ls -Z
    • 进程:ps -eZ
    • 网络连接:ss -tulpnZ
  • 修改与恢复
    • 临时修改标签:chcon -t 类型 路径(如:chcon -t httpd_sys_content_t /var/www/html/index.html
    • 恢复默认标签:restorecon -Rv 路径(如:restorecon -Rv /var/www/html
  • 永久修改默认标签规则
    • 文件/目录默认上下文:semanage fcontext -a -t 类型 “路径(/.*)?”;随后执行 restorecon -Rv 路径 使规则生效
    • 端口与类型映射:semanage port -a -t 类型 -p 协议 端口(如:semanage port -a -t http_port_t -p tcp 8080;查看映射:semanage port -l | grep http
  • 常用类型示例
    • Web 内容:httpd_sys_content_t
    • Web 端口:http_port_t(常见:80, 443, 8080 等)

三 策略规则与布尔值

  • 策略模块管理
    • 从拒绝日志生成模块:grep nginx /var/log/audit/audit.log | audit2allow -M nginx
    • 编译并加载模块:semodule -i nginx.pp
  • 策略查询与分析
    • 安装工具集:setools-console
    • 查看策略元素:seinfo -t | grep 关键字(类型/域等)
    • 搜索规则:sesearch -A -s 源域 -t 目标类型(分析 allow/deny 等)
  • 布尔值开关
    • 查看:getsebool 布尔名
    • 修改:setsebool 布尔名 on|off;持久化:setsebool -P 布尔名 on|off
    • 示例:setsebool -P ftpd_full_access on(按需开启 FTP 相关策略)

四 故障排查与Ubuntu启用

  • 故障排查流程
    • 查看最近 AVC 拒绝:ausearch -m avc -ts recent
    • 生成报告:aureport -m avc
    • 图形化辅助:sealert -a /var/log/audit/audit.log
  • 在 Ubuntu 启用 SELinux
    • 安装组件:sudo apt update & & sudo apt install selinux-basics selinux-policy-default
    • 启用:sudo setenforce 1;永久:/etc/selinux/config 中设 SELINUX=enforcing 并重启
    • 注意:部分文档提到 Ubuntu 默认未安装/未启用 SELinux,启用前请评估对现有服务的影响

五 生产环境建议

  • 变更前在测试环境验证,遵循“最小权限”原则,优先用 semanage fcontext/port 做永久配置,避免长期停留在 Permissive 模式
  • 对复杂问题,结合 ausearch/aureport/sealert 精确定位,再用 audit2allow/semodule 生成最小必要模块
  • RHEL 9+ 如需彻底禁用,使用 grubby 设置内核参数;其他场景建议保持 Enforcing 并持续审计优化策略

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: SELinux策略如何管理
本文地址: https://pptw.com/jishu/754962.html
ubuntu分区恢复怎么进行 ubuntu分区备份怎么操作

游客 回复需填写必要信息