图
16.5.1
、使用
DAC/MAC
产生的不同½果,以
Apache
为例说明
左图是没有
SELinux
的
DAC
存取½果,
apache
这只
root
所主导的½程,可以在这三个目录内作
任何文件的新½与修改~
相当麻烦~右边则是加上
SELinux
的
MAC
管理的½果,
SELinux
½会
针对
Apache
这个『
process
』放行部份的目录,
其他的非正规目录就不会放行给
Apache
使用!
因此不管你是谁,就是不能穿透
MAC
的框框!这样有比½了½乎?
16.5.2 SELinux
的运作模式
再次的重复说明一下,
SELinux
是透过
MAC
的方式来控管½程,他控制的主体是½程,
而目标则
是该½程能否读取的『文件资源』!所以先来说明一下这些咚咚的相关性啦!
(
注
4
)
.
主体
(Subject)
:
SELinux
主要想要管理的就是½程,因此你可以½『主体』跟本章谈到的
process
划上等号;
.
目标
(Object)
:
主体½程能否存取的『目标资源』一般就是文件系统。因此这个目标项目可以等文件系统划上等号;
.
政策
(Policy)
:
由于½程与文件数量庞大,因此
SELinux
会依据某些服务来制订基本的存取安全性政策。这些政策内还会
有详细的规则
(rule)
来指定不同的服务开放某些资源的存取与否。在目前的
CentOS 7.x
里面½有提供三个
主要的政策,分别是:
o
targeted
:针对网络服务限制½多,针对本机限制½少,是预设的政策;
o
minimum
:由
target
修订而来,½针对选择的½程来保护!
o
mls
:完整的
SELinux
限制,限制方面½为严格。
½议使用预设的
targeted
政策即可。
.
安全性本文
(security context)
:
我们刚刚谈到了主体、目标与政策面,但是主体能不能存取目标除了政策指定之外,
主体与目标的安全性
本文必须一致才能够顺利存取。
这个安全性本文
(security context)
有点类似文件系统的
rwx
啦!安全性本
文的内容与设定是非常重要的!
如果设定错误,你的某些服务
(
主体½程
)
就无法存取文件系统
(
目标资源
)
,
当然就会一直出现『权限不符』的错误讯息了!
由于
SELinux
重点在保护½程读取文件系统的权限,因此我们½上述的几个说明搭配起来,绘制成
底下的流程图,比½好理½: