SELinux
- 简介
SELinux(Security-Enhanced Linux)是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。
SELinux是一种基于 域-类型 模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。任何程序对其资源享有完全的控制权。假设某个程序打算把含有潜在重要信息的文件扔到/tmp目录下,那么在DAC情况下没人能阻止他。SELinux提供了比传统的UNIX权限更好的访问控制。
- 作用
SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。
防止别人利用网络服务的bug使用root权限访问别人的服务器。
- DAC和MAC
-
自主访问控制(Discretionary Access Control,DAC)
由客体的属主对自己的客体进行管理,由属主自己决定是否将自己的客体访问权或部分访问权授予其他主体,这种控制方式是自主的。
用户可以按自己的意愿,有选择地与其他用户共享他的文件。 -
强制访问控制(Mandatory Access Control,MAC)
在访问资源时,判断程序是否有权限,而不是判断用户。
每当主体尝试访问对象时,都会由操作系统内核强制施行
-