SELINUX工作原理详解-创新互联
1. 简介
SELinux带给Linux的主要价值是:提供了一个灵活的,可配置的MAC机制。
Security-Enhanced Linux (SELinux)由以下两部分组成:
1) Kernel SELinux模块(/kernel/security/selinux)
2) 用户态工具
SELinux是一个安全体系结构,它通过LSM(Linux Security Modules)框架被集成到Linux Kernel 2.6.x中。它是NSA (United States National Security Agency)和SELinux社区的联合项目。
SELinux提供了一种灵活的强制访问控制(MAC)系统,且内嵌于Linux Kernel中。SELinux定义了系统中每个【用户】、【进程】、【应用】和【文件】的访问和转变的权限,然后它使用一个安全策略来控制这些实体(用户、进程、应用和文件)之间的交互,安全策略指定如何严格或宽松地进行检查。
SELinux对系统用户(system users)是透明的,只有系统管理员需要考虑在他的服务器中如何制定严格的策略。策略可以根据需要是严格的或宽松的。
只有同时满足了【标准Linux访问控制】和【SELinux访问控制】时,主体才能访问客体。
1.1 DAC与MAC的关键区别(root用户)
安 全增强型Linux(SELinux)开始是由NSA(国家安全局)启动并加入到Linux系统中的一套核心组件及用户工具,可以让应用程序运行在其所需的最低权限上。未 经修改过的Linux系统是使用自主访问控制的,用户可以自己请求更高的权限,由此恶意软件几乎可以访问任何它想访问的文件,而如果你授予其root权 限,那它就无所不能了。
在SELinux中没有root这个概念,安全策略是由管理员来定义的,任何软件都无法取代它。这意味着那些潜在的恶意软件所能造成的损害可以被控制在最小。一般情况下只有非常注重数据安全的企业级用户才会使用SELinux。
操作系统有两类访问控制:自主访问控制(DAC)和强制访问控制(MAC)。标准Linux安全是一种DAC,SELinux为Linux增加了一个灵活的和可配置的的MAC。
所有DAC机制都有一个共同的弱点,就是它们不能识别自然人与计算机程序之间最基本的区别。简单点说就是,如果一个用户被授权允许访问,意味着程序也被授权访问,如果程序被授权访问,那么恶意程序也将有同样的访问权。 DAC最根本的弱点是主体容易受到多种多样的恶意软件的攻击,MAC就是避免这些攻击的出路,大多数MAC特性组成了多层安全模型。
SELinux实现了一个更灵活的MAC形式,叫做类型强制(Type Enforcement)和一个非强制的多层安全形式(Multi-Level Security)。
在Android4.2中,SELinux是个可选项,谷歌并没有直接取消root权限或其他功能。这是一个为企业级用户或是对隐私数据极为重视的用户提供的选项,普通消费者则完全可以关闭它。
2. SELinux的运行机制
SELinux决策过程如下图所示:
当一个subject(如: 一个应用)试图访问一个object(如:一个文件),Kernel中的策略执行服务器将检查AVC (Access Vector Cache), 在AVC中,subject和object的权限被缓存(cached)。如果基于AVC中的数据不能做出决定,则请求安全服务器,安全服务器在一个矩阵中查找“应用+文件”的安全环境。然后根据查询结果允许或拒绝访问,拒绝消息细节位于/var/log/messages中。
3. SELinux伪文件系统
/selinux/伪文件系统kernel子系统通常使用的命令,它类似于/proc/伪文件系统。系统管理员和用户不需要操作这部分。/selinux/目录举例如下:
-rw-rw-rw- 1 root root 0 Sep 22 13:14 access dr-xr-xr-x 1 root root 0 Sep 22 13:14 booleans --w------- 1 root root 0 Sep 22 13:14 commit_pending_bools -rw-rw-rw- 1 root root 0 Sep 22 13:14 context -rw-rw-rw- 1 root root 0 Sep 22 13:14 create --w------- 1 root root 0 Sep 22 13:14 disable -rw-r--r-- 1 root root 0 Sep 22 13:14 enforce -rw------- 1 root root 0 Sep 22 13:14 load -r--r--r-- 1 root root 0 Sep 22 13:14 mls -r--r--r-- 1 root root 0 Sep 22 13:14 policyvers -rw-rw-rw- 1 root root 0 Sep 22 13:14 relabel -rw-rw-rw- 1 root root 0 Sep 22 13:14 user
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章标题:SELINUX工作原理详解-创新互联
文章分享:http://scjbc.cn/article/ggcjp.html