首页主机资讯Linux SELinux最佳实践分享

Linux SELinux最佳实践分享

时间2026-01-21 15:36:05发布访客分类主机资讯浏览800
导读:Linux SELinux 最佳实践 一 基础与运行模式 保持系统长期运行在Enforcing模式,仅在排错时短时切换到Permissive;不建议在生产环境使用Disabled。 查看与切换模式: 查看状态:sestatus、gete...

Linux SELinux 最佳实践

一 基础与运行模式

  • 保持系统长期运行在Enforcing模式,仅在排错时短时切换到Permissive;不建议在生产环境使用Disabled
  • 查看与切换模式:
    • 查看状态:sestatusgetenforce
    • 临时切换:sudo setenforce 1(Enforcing)、sudo setenforce 0(Permissive)
  • 永久配置:编辑**/etc/selinux/config**,设置
    • SELINUX=enforcing(或permissive
    • SELINUXTYPE=targeted(常见默认策略)
  • 变更生效通常需要重启;从Disabled改为Enforcing/Permissive时,务必重启系统。

二 安全上下文与端口管理

  • 查看上下文:
    • 文件/目录:ls -Z
    • 进程:ps -Z
  • 修复与设置上下文:
    • 按默认规则恢复:restorecon -R /path
    • 持久化添加路径映射:sudo semanage fcontext -a -t < type> "/path(/.*)?" 后执行 restorecon -R /path
    • 临时修改:chcon -t < type> /path(重启或restorecon可能覆盖)
  • 常见类型示例:httpd_sys_content_t(Web只读内容)、httpd_sys_rw_content_t(Web可写目录)。
  • 端口标签:
    • 查看端口上下文:semanage port -l
    • 添加端口类型:sudo semanage port -a -t < port_type> -p tcp|udp < port>
  • 原则:优先使用semanage fcontext持久化规则,避免滥用chcon;变更后用restorecon验证。

三 布尔值与最小权限

  • 查看与调整布尔值:
    • 列出:getsebool -a
    • 临时切换:setsebool < name> on|off
    • 持久化:setsebool -P < name> on|off
  • 常用示例:
    • Web访问数据库:setsebool -P httpd_can_network_connect_db on
    • Web对外发起连接:setsebool -P httpd_can_network_connect on
    • 启用CGI:setsebool -P httpd_enable_cgi on
  • 原则:优先通过布尔值满足兼容性需求,遵循最小权限,仅开启必需能力。

四 审计、排错与策略定制

  • 定位拒绝事件:
    • 查看最近拒绝:ausearch -m avc -ts recent
    • 人性化分析:sealert -l "*"(需安装setroubleshoot或相关工具)
  • 从日志生成策略模块:
    • 生成并安装:ausearch -m avc -ts recent | audit2allow -M mypol & & semodule -i mypol.pp
    • 生成可读解释:audit2allow -w -a
  • 编写简单自定义模块(示例):
    • 编写myapp.te描述所需权限
    • 编译安装:checkmodule -M -m -o myapp.mod myapp.te & & semodule_package -o myapp.pp -m myapp.mod & & semodule -i myapp.pp
  • 建议:先在Permissive验证规则充分性,再回到Enforcing并持续审计。

五 运维清单与常见场景

  • 日常运维清单:
    • 保持Enforcing;变更前备份关键配置与策略
    • 新增服务或路径时,先确认并必要时添加fcontext规则,再用restorecon应用
    • 定期审计/var/log/audit/audit.log,清理过大审计日志,避免性能受影响
    • 变更后回归测试,确保功能与合规同时满足
  • 常见服务快速指引:
    • Web内容在非标准目录:
      • semanage fcontext -a -t httpd_sys_content_t "/web(/.*)?"
      • restorecon -R /web
    • FTP匿名可读/可写:
      • 只读:chcon -R -t public_content_t /var/ftp
      • 可写:chcon -t public_content_rw_t /var/ftp/incomingsetsebool -P allow_ftpd_anon_write 1
    • NFS/Samba家目录:
      • NFS:setsebool -P use_nfs_home_dirs 1
      • Samba:setsebool -P samba_enable_home_dirs 1
  • 风险提示:仅在明确需求且经过评估后创建自定义策略模块,避免“过度放行”。

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


若转载请注明出处: Linux SELinux最佳实践分享
本文地址: https://pptw.com/jishu/788766.html
Linux Swap在服务器中的重要性 Linux SELinux更新和维护指南

游客 回复需填写必要信息