SELinux是什么
SELinux(Security-Enhanced Linux),称为安全增强型Linux,是有美国安全局(NSA)开发的,Linux内核从2.6版本就进行了集成,使的整个系统变的更安全。
为什么是安全增强型
在没有SELinux的操作系统中,一个资源是否能被访问和操作是由操作者是否有该资源的访问和操作权限所决定的,且系统管理员拥有所有权限,这种情况的权限管理机制的主体是用户,也被称为自主访问控制DAC(Discretionary access control)。
相对于自主访问控制DAC,后来又出现了强制访问机制MAC(Mandatory access control), 在这种机制下,一个资源是否被访问取决于以下两个因素:
- 操作者是否具有该资源的访问和操作权限(DAC)
- 当前进程是否拥有这一列资源的访问权限
以上,我们看到MAC相对于DAC在控制上有所增强,SELinux就是MAC机制的一种实现,所以称之为安全增强型。MAC权限管理机制主体是进程。
在使用了SELinux的操作系统中,即使用户是以管理员身份也并不一定能操作所有资源,SELinux仍会查看该进程的类型和访问资源的类型才能决定是否允许,这样进程的活动空间被压缩到最小。
我们在介绍Selinux的使用后,会有具体列子来演示这一块安全性的提高。
SELinux的常用概念
-
主体: 进程
-
对象:被主体访问的资源,可以是文件,目录,端口,设备等