首页 > 范文大全 > 正文

网络监管SELinux初探

开篇:润墨网以专业的文秘视角,为您筛选了一篇网络监管SELinux初探范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要 现在公众对信息安全问题是越来越关心了,各种类型的服务器上存储着大量的商务机密、个人资料,它们将会受到各种攻击,例如:服务器被入侵、主页文件被替换、机密文件被盗走。除了来自外部的威胁外,内部人员的不法访问,攻击也是不可忽视的。对于这些攻击,当然有很多办法,有防火墙、入侵检测系统、打补丁等等。在这些方法之中,提高OS系统自身的牢固性就显得非常的重要。selinux 在类型强制服务器中合并了多级安全性或一种可选的多类策略,并采用了基于角色的访问控制概念。

关键词 网络安全 SELinux模式 SELinux策略 安全上下文

中图分类号:TP309 文献标识码:A

1 什么是SELinux

SELinux是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。

SELinux是在进行程序、文件等权限设置依据的一个内核模块。由于启动网络服务也是程序,因此刚好也是能够控制网络服务能否访问系统资源的一道关卡。

传统的文件权限与账号关系是一种自主访问控制(DAC),就是依据进程的所有者与文件资源权限来决定有无访问的能力。这种方式有两个问题,一是存在特权用户root,任何人只要得到root的权限,对于整个系统都可以为所欲为。二是用户可以取得进程来更改文件资源的访问权限。

而SELinux是强制访问控制(MAC),它针对特定的进程与特定的文件资源来进行权限的控制,也就是说,即使你是root,那么在使用不同的进程中,你所能取得的权限并不一定是root,而要看当时该进程的设置而定。在强制访问控制的设置下,进程的活空间变小了,例如:www服务器软件的实现为httpd这个进程,httpd默认情况下,只能在/var/www/这个目录下面访问文件,如要访问其它目录,就要改规则设置和模式,这样就是双重管理,就算不小心httpd被入侵者取得了控制权,也不能浏览/etc/shadow等重要的文件。

图1

2 SELinux的运行模式

SELinux是通过MAC的方式来控管进程,它控制的主体是进程,而目标则是该进程能否读取“文件资源”。

进程程序必须要通过SELinux策略内的规则放行后,就可以与目标资源进行安全上下文的比较,若比较失败则无法访问目标,若比较成功则可以开始访问目标。如图1所示。

我们拿一个具体的实例来说明:

①首先,我们触发一个可执行的目标文件,httpd属于httpd_exec_t这个可以执行的类型的/usr/sbin/httpd文件;

②这个类型的文件所造成的主体进程具有httpd这个域(domain),SELinux的策略针对这个域已经制定了许多规则和目标资源类型;

③由于httpd domain被设置为可以读取httpd_sys_content_t这个类型的目标文件,因此放置在/var/www/html/目录下的网页就会被读取到;

④但是最后能不能读到正确的数据,还要看是符合安全上下文的权限规范。

3 SELinux的策略与规则管理

现在我们应该知道,一个主体进程能否读取到目标文件资源的重点在于SELinux的策略以及策略内的各项规则,然后再通过该规则的定义去处理各目标文件的安全上下文。

怎样才能查看并修改策略说明与规则呢?下面几个是策略管理工具的使用。

①显示当前的 SELinux的信息

[root@python bin]# sestatus -v

②更改当前的SELINUX值

[root@python bin]# setenforce permissive

③semanage

这是一个功能强大的策略管理工具,有了它即使没有策略的源代码,也是可以管理安全策略的。

综上所述,SELinux系统比起通常的Linux系统来,安全性能要高得多,它通过对用户进程权限的最小化,即使受到攻击,进程或者用户权限被夺去也不会对整个系统造成重大影响。SELinux系统对访问的控制彻底化,对于进程只赋予最小的权限,保证了服务器的网络安全。

参考文献

[1] 鸟哥.linux鸟哥私房菜.人民邮电出版社(第3版), 2010.7.

[2] 赵炯.Linux内核完全注释.机械工业出版社,2004.9.