【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标签实现服务间隔离,大幅提升系统防越权访问的安全性。
相关推荐
耿公子和编程44 分钟前
EasyBR 指纹浏览器深度体验:多账号运营的安全护城河
安全
码码哈哈0.044 分钟前
基于 RSA 非对称加密与挑战码机制的前端登录安全方案
前端·安全·状态模式
Magic-Yuan1 小时前
LLM 十大安全风险 - 概述
人工智能·安全
星幻元宇VR2 小时前
VR大空间:沉浸式数字体验引领新时代科普与教育升级
科技·学习·安全·vr·虚拟现实
其实防守也摸鱼3 小时前
DVWA--Brute Force (暴力破解)通关指南
服务器·网络·安全·靶场·教程·工具·dvwa
Lust Dusk4 小时前
最新激活win/off教程
安全
kang0x04 小时前
Certificate Authority - Writeup by AI
安全
fengci.4 小时前
CTF+随机困难部分
android·开发语言·网络·安全·php
随身数智备忘录4 小时前
安全巡检执行率能解决哪些场景痛点?一套安全巡检执行率提升方案实战
安全
其实防守也摸鱼4 小时前
Upload-labs:部署靶场及Pass-01实战解析
服务器·网络·安全·web安全·教程·文件上传·工具