【SELinux安全上下文】

一、SELinux安全上下文(核心概念)

SELinux 为系统中的进程、文件、目录、端口 等资源分配唯一的"安全标签"(安全上下文),是判断访问权限的核心依据,其标准格式为:
user:role:type:sensitivity

字段 核心含义 典型示例
user(用户) 标识SELinux用户,区分系统/普通/无限制用户 system_u(系统用户)、unconfined_u(无限制用户)
role(角色) 标识主体(进程)或客体(文件)的角色 system_r(进程角色)、object_r(文件/目录角色)
type(类型) 目标策略(RHEL默认)的核心控制字段,决定访问权限,通常以_t结尾 httpd_t(Apache进程)、mysqld_db_t(MariaDB数据文件)
sensitivity(敏感度) MLS策略(多级安全)中使用,目标策略下默认值为s0,一般无需关注 s0(默认敏感度)

二、典型服务的type上下文(核心应用)

type字段是实际权限控制的关键,以下是常见服务的进程/文件type标签示例:

资源类型 type上下文标签 核心作用
Apache进程 httpd_t 标识Apache服务进程,定义其访问权限范围
Apache网站目录 httpd_sys_content_t 标识Apache可读取的静态文件,允许httpd_t访问
MariaDB进程 mysqld_t 标识MariaDB服务进程,定义其访问权限范围
MariaDB数据目录 mysqld_db_t 标识MariaDB数据文件,允许mysqld_t访问
临时目录(/tmp) tmp_t 标识临时文件,默认限制httpd_t访问
HTTP端口(80/443) http_port_t 标识HTTP服务可使用的端口,允许httpd_t绑定

三、SELinux访问控制工作原理(以MariaDB为例)

SELinux通过进程type资源type的匹配关系控制访问,核心逻辑如下:

  1. 进程运行时会被标记为对应type(如MariaDB进程→mysqld_t);
  2. 资源(文件/端口)会被标记为对应type(如MariaDB数据文件→mysqld_db_t);
  3. SELinux策略预定义了"哪些进程type可以访问哪些资源type":
    • 允许:mysqld_t(MariaDB进程)可读写mysqld_db_t(数据库文件);
    • 拒绝:httpd_t(Apache进程)无法访问mysqld_db_t(数据库文件)。

四、SELinux安全提升价值

  1. 服务隔离:不同服务的进程/文件被不同type标签区分,避免跨服务随意访问;
  2. 精准控权:仅允许进程访问其业务必需的资源type,最小化权限范围;
  3. 防越权攻击:即使某服务(如Apache)被入侵,攻击者也无法访问其他服务的受保护资源(如MariaDB数据文件)。

总结

  1. SELinux安全上下文的核心是type字段(以_t结尾),目标策略下通过进程和资源的type匹配控制访问;
  2. 不同服务有专属的进程type(如httpd_t/mysqld_t)和资源type(如httpd_sys_content_t/mysqld_db_t);
  3. SELinux通过type标签实现服务间隔离,大幅提升系统防越权访问的安全性。
相关推荐
2501_922678432 小时前
第五周作业
安全
g***27992 小时前
IPV6公网暴露下的OPENWRT防火墙安全设置(只允许访问局域网中指定服务器指定端口其余拒绝)
服务器·安全·php
乾元2 小时前
提示词注入:针对 LLM 的 SQL 注入式攻击分析
运维·人工智能·安全·网络安全·架构·系统架构·自动化
一名优秀的码农2 小时前
vulhub系列-01-SickOs1.1(超详细)
数据库·安全·web安全·网络安全·网络攻击模型·安全威胁分析
小义_3 小时前
【RH134知识点问答题】第11章 管理网络安全
linux·安全·web安全·云原生
没有bug.的程序员3 小时前
云原生安全深潜:K8s RBAC 权限模型内核、服务账户生命周期与权限最小化实战指南
安全·云原生·kubernetes·k8s·rbac·权限模型·服务账户
一名优秀的码农3 小时前
vulhub系列-09-KioptrixVM3(超详细)
安全·web安全·网络安全·网络攻击模型·安全威胁分析
星河耀银海12 小时前
Java安全开发实战:从代码防护到架构安全
java·安全·架构
mCell13 小时前
Memo Code 安全设计:子进程、命令防护与权限审批的统一方案
安全·typescript·agent