SELinux 安全性体系结构:概述

Linux大全评论1.5K views阅读模式

SE Linux 是如何工作的呢?首先,别指望一开始就是分布式的。 SE Linux 是
包括在标准中的一个成果,而不要认为它的成果是成为
那个 标准。作者希望在 Linux 内核中具有必要的访问控制,这就是支持 SE Linux 的思想。许多实现问题在它可以用在现实世界中之前都需要加以解决(或代码编写)。幸运的是,Linux 历史上就有一些供应商为了费用做这些事,我现在希望某一天能看到 RedHat 的 SE Linux。

整个安全性体系结构称为 Flask,在犹他大学和 Secure Computing Corp. 的协助下由 NSA 设计。在 Flask 体系结构中,安全性策略的逻辑和通用接口一起封装在与操作系统独立的组件中,通用接口是用于获得安全性策略决策的。这个单独的组件称为安全性服务器,即使它只是个内核子系统而已。该服务器的 SE Linux 实现定义了一种混合的安全性策略,由类型实施 (TE)、基于角色的访问控制 (RBAC) 和可选的多级别安全性 (MLS) 组成,所以广泛用于军事安全性中。该策略由另一个称为 checkpolicy 的程序编译,它由安全性服务器在引导时读取。文件被标为 /ss_policy 。这意味着安全性策略在每次系统引导时都会有所不同。策略甚至可以通过使用 security_load_policy 接口在系统操作期间更改(只要将策略配置成允许这样的更改)。

Flask 有两个用于安全性标签的与策略无关的数据类型 -- 安全性上下文安全性标识 。安全性上下文是表示安全性标签的变长字符串。安全性标识 (SID) 是由安全性服务器映射到安全性上下文的一个整数。SID 作为实际上下文的简单句柄服务于系统。它只能由安全性服务器解释。Flask 通过称为对象管理器的构造来执行实际的系统绑定。它们不透明地处理 SID 和安全性上下文,不涉及安全性上下文的属性。任何格式上的更改都不应该需要对对象管理器进行更改

来源: The Flask Security Architecture: System Support for Diverse Security Policies,Ray Spencer (Secure Computing Corporation), Stephen Smalley, Peter Loscocco (National Security Agency)、Mike Hibler、David Andersen 和 Jay Lepreau(犹他大学)合著。

安全性服务器只为包含用户、角色、类型和可选 MLS 范围合法组合的安全性上下文提供 SID。“合法性”是由安全性策略配置(将在本文的稍后部分介绍)所确定的。

企鹅博客
  • 本文由 发表于 2019年10月1日 12:11:00
  • 转载请务必保留本文链接:https://www.qieseo.com/138185.html

发表评论