SELinux介绍
SELinux全称为Security-Enhanced Linux,是一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。
SELinux是由美国国家安全局NSA对于强制访问控制的实现,是 Linux上最杰出的新安全子系统。SELinux可以最大限度地保证Linux系统的安全。
SELinux 是2.6版本的Linux内核提供的强制访问控制(MAC)系统。对于目前可用的Linux安全模块来说,SELinux是功能最全面,而且测试最充分的,它是在20年的MAC研究基础上建立的。SELinux在类型强制服务器中合并了多级安全性或一种可选的多类策略,并采用了基于角色的访问控制概念。
没有SELinux保护的Linux的安全级别和Windows一样,是C2级,但经过保护SELinux保护的Linux,安全级别则可以达到B1级。如:我们把/tmp目录下的所有文件和目录权限设置为0777,这样在没有SELinux保护的情况下,任何人都可以访问/tmp下的内容。而在SELinux环境下,尽管目录权限允许你访问/tmp下的内容,但SELinux的安全策略会继续检查你是否可以访问。
NSA推出的SELinux安全体系结构称为Flask,在这一结构中,安全性策略的逻辑和通用接口一起封装在与操作系统独立的组件中,这个单独的组件称为安全服务器。SELinux的安全服务器定义了一种混合的安全性策略,由类型实施 (TE)、基于角色的访问控制(RBAC)和多级安全(MLS) 组成。通过替换安全服务器,可以支持不同的安全策略。
ELinux使用策略配置语言定义安全策略,然后通过checkpolicy编译成二进制形式,存储在文件(如目标策略/etc/selinux/targeted/policy/policy.18)中,在内核引导时读到内核空间。这意味着安全性策略在每次系统引导时都会有所不同。
ELinux的策略分为两种,一个是目标(targeted)策略,另一个是严格(strict)策略。目标策略仅针对部分系统网络服务和进程执行SELinux策略,而严格策略是执行全局的NSA默认策略。目标策略模式下,9个(可能更多)系统服务受SELinux监控,而严格策略下几乎所有的网络服务都受控。
SELinux配置文件是/etc/selinux/config,一般测试过程中使用“permissive”模式,这样仅会在违反SELinux规则时发出警告,然后修改规则,最后由用户觉得是否执行严格“enforcing”的策略,禁止违反规则策略的行为。规则决定SELinux的工作行为和方式,策略决定具体的安全细节如文件系统,文件一致性。
在安装过程中,可以选择“激活”、“警告”或者“关闭”SELinux。默认设置为“激活”。安装之后,可以在“应用程序”-->“系统设置”-->“安全级别”,或者直接在控制台窗口输入“system-config-securitylevel”来打开“安全级别”设置窗口。在“SELinux”选项页中,我们不但可以设置“启用”或者“禁用”SELinux,而且还可以对已经内置的SELinux策略进行修改。
SELinux相关命令:
ls -Z
ps -Z
id -Z
分别可以看到文件,进程和用户的SELinux属性。
chcon 改变文件的SELinux属性。
getenforce/setenforce查看和设置SELinux的当前工作模式。
修改配置文件/etc/selinux/config后,需要重启系统来启动SELinux新的工作模式。
SELinux是一种基于“域-类型”(domain-type)模型的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。标准的UNIX安全模型是"任意的访问控制"DAC。就是说,任何程序对其资源享有完全的控制权。
分享到:
相关推荐
Selinux介绍和设置,介绍了三种模式和如何去设置来加强安全
本文档详细介绍了SELinux系统,并且详细讨论了在android平台上应该如何配置SELinux规则 SELinux是一套完整的安全策略,最开始是美国国家安全局和一些公司联合设计为了针对Linux系统的安全隐患而产生的一套系统,它为...
SELinux的介绍以及几种关闭方式
讲解selinux的作用,生效机制,并详细介绍了如何编写selinux策略模块 中文版
该资源是Google官方编写的关于Android 8中SeLinux的文档,然后还附加了一篇关于android 8的Selinux的work文档
SELinux详解(带完整中文标签),不错的介绍selinux的文档
主要介绍在RHEL5上的SELinux细节!
介绍selinux的官方文档
SELinux文档详解,系统的介绍了SELinux版本,以及规则语法.入门教程,参考手册.
SELinux详解,一本介绍linux安全相关selinux的书。
Android O 8.0 selinux特性 Google介绍文档,帮助学习最新selinux规则
详细介绍selinux 语法规则,作为开发手册,随时查看,挺使用的。
介绍SELinux的文档。This technical report describes how to configure the SELinux security policy for the example security server.
selinux入门教程,系统地介绍了selinux的历史以及特点并详细地分析了其hook函数。
该书详细介绍了linux中关于selinux部分功能的实现流程和关键代码分析
介绍基础的selinux背景、策略规则等
selinux howto 中文版 这份文档是美国国家安全局的安全加强的 Linux(NSA SE Linux)的概述性的说明。我们主 要的环境是基于 Debian Linux 的, 而且大部分的软件包的操作命令实例都是基于 Debian 的。 这份文档...
SEAndroid 移植过程的...之后介绍了将SELinux移植到Android的详细步骤。阅读该文档读者会有如下收获: 1. 深入了解SEAndroid与SELinux的差异; 2. 在嵌入式系统上移植SELinux的开发者可以参考本文的思路和步骤 。
selinux比较有用的资料,基于REDHAT LINUX系统进行讲述
1. **SELinux基础知识**:介绍SELinux的历史背景、目标、基本术语及工作模式(如`enforcing`、`permissive`和`disabled`)。 2. **策略构建与管理**:详细阐述如何创建、安装、更新和调试SELinux策略模块,使用工具...