【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标签实现服务间隔离,大幅提升系统防越权访问的安全性。
相关推荐
冬奇Lab7 小时前
Skill 系列(02):Skill 安全风险——三类攻击面的实战测试
人工智能·安全·开源
Aphasia3114 天前
VPN 与内网穿透
安全
Mr_愚人派5 天前
当"Claude"不再是 Claude:一次第三方 API 代理引发的 AI 身份伪造排查实录
人工智能·安全
DaLi Yao5 天前
【无标题】
人工智能·安全
Alsn865 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
网络研究院5 天前
2026年网络安全
网络·安全·法律·法规·趋势·发展
treesforest5 天前
AI安全系统如何识别异常访问?IP风险识别正在成为关键能力
网络·人工智能·tcp/ip·安全·web安全
零零信安6 天前
零零信安荣登数世咨询《新质·数字安全专精百强(2026)》暗网情报领域,彰显专业实力与创新引领
安全·网络安全·数据泄露·暗网·零零信安
开发小能手-roy6 天前
StringBuilder vs StringBuffer:2024年还需要线程安全字符串吗?
开发语言·python·安全
_阿伟_6 天前
JWT介绍
安全