SELinux Overview
来源:互联网 发布:中国论文期刊数据库 编辑:程序博客网 时间:2024/06/05 16:34
转自mtk
1. SELinux 来源
SELinux 即Security-Enhanced Linux, 由美国国家安全局(NSA)发起, Secure Computing Corporation (SCC) 和 MITRE 直接参与开发, 以及很多研究机构(如犹他大学)一起参与的强制性安全审查机制, 该系统最初是作为一款通用访问软件,发布于 2000 年 12 月(代码采用 GPL 许可发布)。并在Linux Kernel 2.6 版本后, 有直接整合进入SELinux, 搭建在Linux Security Module(LSM)基础上, 目前已经成为最受欢迎,使用最广泛的安全方案.
2. SELinux 基本架构与原理.
SELinux 是典型的MAC-Mandatory Access Controls 实现, 对系统中每个对象都生成一个安全上下文(Security Context), 每一个对象访问系统的资源都要进行安全上下文审查。审查的规则包括类型强制检测(type enforcement), 多层安全审查(Multi-Level Security), 以及基于角色的访问控制(RBAC: Role Based Access Control).
SELinux 即Security-Enhanced Linux, 由美国国家安全局(NSA)发起, Secure Computing Corporation (SCC) 和 MITRE 直接参与开发, 以及很多研究机构(如犹他大学)一起参与的强制性安全审查机制, 该系统最初是作为一款通用访问软件,发布于 2000 年 12 月(代码采用 GPL 许可发布)。并在Linux Kernel 2.6 版本后, 有直接整合进入SELinux, 搭建在Linux Security Module(LSM)基础上, 目前已经成为最受欢迎,使用最广泛的安全方案.
2. SELinux 基本架构与原理.
SELinux 是典型的MAC-Mandatory Access Controls 实现, 对系统中每个对象都生成一个安全上下文(Security Context), 每一个对象访问系统的资源都要进行安全上下文审查。审查的规则包括类型强制检测(type enforcement), 多层安全审查(Multi-Level Security), 以及基于角色的访问控制(RBAC: Role Based Access Control).
SELinux 搭建在Linux Security Module(LSM)基础上, 关于 LSM 架构的详细描述请参见文章 “Linux Security Modules: General Security Support for the Linux Kernel”, 该文章在 2002 年的 USENIX Security 会议上发表。有完整的实现LSM 的所有hook function.
SELinux 的整体结构如下图所示:
P-1-1-1: 整体流程图
SELinux 包含五个基本组成:
* 用于处理文件系统的辅助模块, 即SELinuxFS.
* 集成Linux Security Modules 的hooks sets.
* Security Policy Database.
* Security Label 验证模块.
* Access Vector Cache (AVC), 访问向量缓存,以便提高验证速度.
基本的访问流程如下图所示:
P-1-1-2: 访问流程图
流程如下:
* 进程通过系统调用(System Call) 访问某个资源, 进入Kernel 后, 先会做基本的检测, 如果异常则直接返回.
* Linux Kernel DAC 审查, 如果异常则直接返回.
* 调用Linux Kernel Modules 的相关hooks, 对接到SELinux 的hooks, 进而进行MAC 验证, 如果异常则直接返回.
* 访问真正的系统资源.
* 返回用户态, 将结构反馈.
* 集成Linux Security Modules 的hooks sets.
* Security Policy Database.
* Security Label 验证模块.
* Access Vector Cache (AVC), 访问向量缓存,以便提高验证速度.
基本的访问流程如下图所示:
P-1-1-2: 访问流程图
流程如下:
* 进程通过系统调用(System Call) 访问某个资源, 进入Kernel 后, 先会做基本的检测, 如果异常则直接返回.
* Linux Kernel DAC 审查, 如果异常则直接返回.
* 调用Linux Kernel Modules 的相关hooks, 对接到SELinux 的hooks, 进而进行MAC 验证, 如果异常则直接返回.
* 访问真正的系统资源.
* 返回用户态, 将结构反馈.
阅读全文
0 0
- SELinux Overview
- Overview
- Overview
- Overview
- Overview
- selinux
- SELinux
- SELinux
- SELinux
- SELinux
- SELinux
- selinux
- SELinux
- SElinux
- Selinux
- SELinux
- SElinux
- selinux
- es6的常用语法和优越性
- springboot 使用mybaties打印sql语句
- 为什么你参加了那么多培训,却依然表现平平?
- innerHTML
- 通过Debug模式运行来追踪程序的运行过程
- SELinux Overview
- database连接oracle映射文件
- 【第二届蓝桥杯】反转串
- iOS CLLocation对象详解
- 【nodejs --学习02】: node之process.argv动态接收参数处理
- gyp ERR! stack Error: Can't find Python executable 'python'
- 2017年第25届中国国际广播电视信息网络展览会 会刊(参展商名录)
- MySQL 大表优化方案
- 【Angular2】Question组件设计