16.5 SELinux
初探
从½入了
CentOS 5.x
之后的
CentOS
版本中
(
当然包括
CentOS 7)
SELinux
已经是个非常完备的
核心模块了!尤其
CentOS
提供了很多管理
SELinux
的指令与机制,
因此在整体架构上面是单纯
且容易操作管理的!所以,在没有自行开发网络服务软件以及使用其他第三方协力软件的情况下,
就是全部使用
CentOS
官方提供的软件来使用我们服务器的情况下,½议大家不要关闭
SELinux
喔!
让我们来仔细的玩玩这家伙吧!
16.5.1
什么是
SELinux
什么是
SELinux
呢?
其实他是『
Security Enhanced Linux
』的缩写,字面上的意义就是安全强化的
Linux
之意
!那么所谓的『安全强化』是强化哪个部分?
是网络资安还是权限管理?底下就让我们
来谈谈吧!
.
当初设计的目标:避免资源的误用
SELinux
是由美国国家安全局
(NSA)
开发的,当初开发这玩意儿的目的是因为
很多企业½发现,
常系统出现问题的原因大部分都在于『内部员工的资源误用』所导致的,实际由外部发动的攻击反而
没有这么严重
那么什么是『员工资源误用』呢?举例来说,如果有个不是很懂系统的系统管理员
为了自己设定的方便,½网页所在目录
/var/www/html/
的权限设定为
drwxrwxrwx
时,你觉得会有
什么事情发生?
现在我们知道所有的系统资源都是透过½程来½行存取的,那么
/var/www/html/
如果设定为
777
代表所有½程均可对该目录存取,万一你真的有启动
WWW
服务器软件,那么该软件所触发的½程
½可以写入该目录,
而该½程却是对整个
Internet
提供服务的!只要有心人½触到这支½程,而且
该½程刚好又有提供用户½行写入的功能,
那么外部的人很可能就会对你的系统写入些莫名其妙的
东西!那可真是不得了!一个小小的
777
问题可是大大的!
为了控管这方面的权限与½程的问题,所以美国国家安全局就着手处理操作系统这方面的控管。
Linux
是自由软件,程序代码都是公开的,因此她们便使用
Linux
来作为研究的目标,
最后更
½研究的½果整合到
Linux
核心里面去,那就是
SELinux
啦!所以说,
SELinux
是整合到核心的
一个模块喔!
更多的
SELinux
相关说明可以参考:
.
http://www.nsa.gov/research/selinux/
这也就是说:
其实
SELinux
是在½行½程、文件等细部权限设定依据的一个核心模块!
由于启动网
络服务的也是½程,因此刚好也能够控制网络服务能否存取系统资源的一道关卡!
所以,在½到
SELinux
对系统的访问控制之前,我们得先来回顾一下之前谈到的系统文件权限与用户之间的关系。
因为先谈完这个你才会知道为何需要
SELinux
的啦!
.
传统的
文件
权限与账号关系:自主式访问控制
, DAC
我们
第十三章
的内容,知道系统的账号主要分为系统管理员
(root)
与一般用户,而这两种身份能否
使用系统上面的文件资源则与
rwx
的权限设定有关。
不过你要注意的是,各种权限设定对
root