Linux SELinux最佳实践分享

Linux SELinux 最佳实践一 基础与运行模式保持系统长期运行在Enforcing模式,仅在排错时短时切换到Permissive;不建议在生产环境使用Disabled。查看与切换模式:查看状态:sestatus、getenforce临时切换:sudo setenforce 1(Enforcing)、sudo setenforce 0(Permissive)永久配置:编辑**/etc/

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
  • 风险提示:仅在明确需求且经过评估后创建自定义策略模块,避免“过度放行”。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/1486088.html

(0)
派派
上一篇 2026-01-06
下一篇 2026-01-06

发表回复

登录后才能评论