【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标签实现服务间隔离,大幅提升系统防越权访问的安全性。
相关推荐
用户962377954483 天前
VulnHub DC-3 靶机渗透测试笔记
安全
叶落阁主4 天前
Tailscale 完全指南:从入门到私有 DERP 部署
运维·安全·远程工作
用户962377954486 天前
DVWA 靶场实验报告 (High Level)
安全
数据智能老司机6 天前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机6 天前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent
用户962377954486 天前
DVWA 靶场实验报告 (Medium Level)
安全
red1giant_star6 天前
S2-067 漏洞复现:Struts2 S2-067 文件上传路径穿越漏洞
安全
用户962377954486 天前
DVWA Weak Session IDs High 的 Cookie dvwaSession 为什么刷新不出来?
安全
cipher8 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
一次旅行11 天前
网络安全总结
安全·web安全