SELinux - Multi-Level Security (MLS)
来源:互联网 发布:linux深度商店下载 编辑:程序博客网 时间:2024/06/05 04:04
1. 简介
保护敏感和机密信息在商业领域、军事、情报机构和政府等领域都是至关重要的。在同一台计算机上放置不同安全级别的信息构成了真正的威胁。如果为不同安全级别的信息购买相应的系统,这代价是相当昂贵的。为了解决此问题,需要一个机制,使在不同的安全级别的用户同时访问系统时,系统没有信息污染的恐惧。
2. 为什么需要多级?
多级来源于防卫社会的安全分类:秘密,机密,绝密(Confidential, Secret, and Top Secret)。
个人必须被授予适当的许可才可以看到分类信息。那些具有秘密许可的人仅被授权查看秘密文件;他们不能查看机密或绝密信息。适用于数据流操作从低层次向高层次的规则,而不是反。信息安全级别如下图所示:
从下到上,其级别为从低到高。
3. BLP模型
BLP: Bell-La Padula Model,即“no read up, no write down”,如下图所示:
4. MLS和系统特权
MLS访问规则总是结构常规的访问权限(文件权限)使用。例如:一个有“机密(Secret)”安全级别的用户使用DAC阻止其它用户访问一个文件,它也阻止了有“绝密(Top Secret)”安全级别的用户访问此文件。一个有更高安全许可的用户未被自动授予任意访问文件系统的权限,有普通Linux的root用户不一样。在多级系统中,具有“Top Secret”许可的用户没有自动获取系统管理员权限。但是他们可以访问系统中的所有信息(no read up, no write down),但不同于有系统管理员权限。
5. 安全级别 -- Subject和Object
从上面的讨论可知,subject和object被打上安全级别(SL)的标记,它由以下两类实体组成:
1) Sensitivity: — 一个等级属性,如:"Secret" or "Top Secret".
2) Categories: — 一个非等级属性集合,如:"US Only" or "UFO".
一个安全级别(SL)有一个Sensitivity,可能有0个或多个Categories。SL例子如下所示:
{ Secret / UFO, Crypto }, { Top Secret / UFO, Crypto, Stargate } and { Unclassified }
注:等级属性Sensitivity之后有0个或多个Categories。既有Categories又有Sensitivity的原因是Sensitivity可在须知的基础上做更进一步的划分。如一个进程被设置为“Secret”,它可能不需要访问“Warp Drive”项目。
Objects和Subjects的SL名字分别如下:
• Classifications: objects的安全级别(SL)叫做分类
• Clearances: subjects的安全级别(SL)叫做许可
从而,objects被打上分类标记;而subjects用指定的许可进行操作。
6. MLS策略
SELinux使用BLP(Bell-La Padula)模型,辅以类型强制(TE: Type Enforcement)以确保其完整性。简言之,MLS策略确保有适当许可(clearance)的Subject访问特定分类(classification)的Object。
例如,在MLS策略下,系统需要知道如何处理以下请求:
有 {Top Secret / UFO, Rail gun }许可的进程可以写具有{Top Secret / UFO } 分类的文件吗?
被执行的MLS模型和策略将决定此答案。(需要考虑如:把Rail gun类的信息泄漏到此文件的问题)
在SELinux下的Type Enforcement(TE)是一个更加灵活和更具表现力的安全策略,在许多情况下,TE比MLS更适合。
但是,在一些场景中,MLS是仍然是必须的。如:一个文件服务器上存有混合分类的数据,且客户以不同的许可连接此服务器。这将导致在一个简单的系统中,需要大量的安全级别和一个强隔离所有数据。这种场景就是SELinux包含MLS作为一个安全模型且作为TE的附属物的原因。
- SELinux - Multi-Level Security (MLS)
- selinux 启用mls策略
- selinux security level引起的denied u:r:untrusted_app:s0:c512,c768问题
- Security-Enhanced Linux(SELinux)
- SElinux(Security-Enhanced Linux)
- Linux基础备忘_11:Selinux的base mode与mls mode切换
- Security Level and Firewall
- Password security level authentication
- multi-level sort using Python
- SELinux by Example: Using Security Enhanced Linux
- Anatomy of Security-Enhanced Linux (SELinux)
- SELinux(Security-Enhanced Linux) 的相关操作
- WCF Transport-Level Security vs Message-Level Security
- OSB Message-Level Custom Security
- OSB Message-Level Custom Security
- OSB Message-Level Custom Security
- SEAndroid MLS
- Deep learning----------Multi-Stage multi-level architecture analysis
- VC++深入详解-第四章学习心得
- js提取url的参数
- iOS开发中一些有用的小代码
- C++派生类访问权限
- Android Notification通知详解
- SELinux - Multi-Level Security (MLS)
- jquery .live(动态绑定事件)
- git和github使用
- 地理编码
- 重要的是你如何看世界
- http 头信息详解
- 字符串处理
- Ajax中Get请求与Post请求的区别
- 屏幕适配技术查阅资料汇总