什么是Selinux
Selinux 全称 Security Enhanced Linux (安全强化 Linux),是 MAC (Mandatory Access Control,强制访问控制系统)的一个实现,目的在于明确的指明某个进程可以访问哪些资源(文件、网络端口等)。强制访问控制系统的用途在于增强系统抵御 0-Day 攻击(利用尚未公开的漏洞实现的攻击行为)的能力。所以它不是网络防火墙或 ACL 的替代品,在用途上也不重复。
- DAC(Discretionary access control,自主访问控制):
DAC机制就是指对象(比如程序、文件或进程等)的的拥有者可以任意的修改或授予此对象相应的权限。也就是大家熟悉的使用user、group和other的方式来进行权限的控制。 - MAC(Mandatory Access Control,强制访问控制):
MAC机制是指系统不再允许对象(比如程序、文件或文件夹等)的拥有者随意修改或授予此对象相应的权限,而是透过强制的方式为每个对象统一授予权限。
优点: 在MAC这种安全机制下,访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。并且与部分的网络服务器加以整合,如DHCP,Apacher等服务。假如使用传统的DAC方式,我们的RHEL5上有提供WEB服务的时候,那么当黑客入侵WEB服务器,那么黑客有可能提升自己的权限,从而导致整台的RHEL5的服务器瘫痪;但是如果采用了MAC的方式,由于有了SELinux的保护,当黑客入侵WEB服务器,由于进程只能访问那些在他的任务中所需要文件,也就是WEB服务