APP下载

以Apache服务器为例探讨SELinux的安全模型

2016-02-10金京犬

关键词:安全策略管理器访问控制

金京犬

(安徽邮电职业技术学院 计算机系, 合肥 230031)

以Apache服务器为例探讨SELinux的安全模型

金京犬

(安徽邮电职业技术学院 计算机系, 合肥 230031)

目前,能够使用的安全操作系统模型较多,主要包括SELinux、AppAHnor安全模型等,针对上述强制性访问控制模型有所差异.美国安全局发布集成在Linux内核中访问SELinux控制机制,SELinux借助RBAC模型、TE模型对主体和客体设计合理的安全策略,合理解决自主访问控制脆弱性不灵活性等问题.以Apache服务器为例介绍SELinux的安全模型,深入研究SELinux体系结构、安全模型等内容,表述SELinux如何增加系统策略的灵活性,从而确保通用操作系统的安全.

Apache服务器;SELinux;安全模型

随着信息化技术的快速发展,计算机广泛应用到社会生活各个方面,采用计算机对信息实施加工和处理成为必不可少的手段.由于网络的日益发展,开放式网络安全问题更加突出,信息安全性受到多数人的重视和关注.由于网络技术的日益发展,网络病毒、黑客攻击等情况层出不穷,传统的杀毒软件无法适应时代发展的需求,导致防护工作力不从心.

目前,主流的操作系统使用自主访问控制确保系统稳定性和安全性,根据用户标志、属主权限判断是否执行方案.这种机制的缺点在于忽视用户角色、程序可信性等内容,因此无法提供恰当的安全保障.为改革传统MAC控制系统的不足之处,美国安全局设计一种新型的安全机制(SELinux),并将其当做标准模块集成在Linux内核中.Linux操作系统提供满足多种安全要求的targeted配置,用来保护系统的网络服务.文中以Apache服务器为例,研究SELinux的结构框架、安全模型和策略,满足操作系统对其安全性的要求.

1 SELinux的体系结构

图1 SELinux整体框架结构图

SELinux作为FLASK架构在Linux内核中实现效果,FLASK架构属于比较灵活、细粒度强制性访问控制机制.SELinux成功把安全策略和实施效果相互分离.改变安全策略时并不会影响系统其他部件,此时制定策略非常容易.其中,安全策略与某个通用接口均封装在安全服务器独立组件内,其通用接口作为连接安全服务器和系统其他各部分相互访问的接口,在客体管理器组件内执行策略实施,具体架构如图1所示.

客户管理器由用户进程接收到基于某个客体的访问请求,随之询问安全服务器判定是否允许其请求.安全服务器读取已有的安全策略配置,做出准确判断后将结果返回至客体管理器,客体管理器依据判断结果执行下一步操作.SELinux安全服务器可支持多类安全策略模型,在默认状况下SELinux定义为混合安全策略,主要包括类型增强、可选多级安全策略等部分组成,该策略从安全服务器引导过程中进行读取.安全服务器作为Linux内核的独立组件,能够定制一系列安全措施.主体A对客体B执行访问操作时,客体管理器根据主、客体安全上下文,设计相对应的安全通用接口.通过安全服务器获得所需的安全策略,随之根据策略选择接受或拒绝对客体发出的访问请求.默认设置下,主体不允许访问客体,只有明确允许访问策略方可实施访问.为降低客体服务器的执行速度,Flask模型提供相应的向量缓存组件,主要用来缓解服务器的访问规则,客体管理器可直接读取相应的规则.SELinux体系主客体运行流程如图2.

图2 主体与客体运行流程图

2 基于Apache服务器设计安全模型

2.1 Apache服务器简述

Web服务器也称作HTTP服务器,它是Internet上使用频繁率最高、最常见的服务器之一,Web服务器能够为用户提供网页浏览、论坛访问等服务.一般情况下,用户通过Web浏览器访问相应的信息资源,无需关注与技术相关的细节,并设计良好的交互界面.目前,Web服务器成为Internet上最大的计算机群,Web服务器的数量日益增多,导致Web服务器软件市场竞争力更加激烈.本文以使用最频繁的Web服务器软件——Apache为例展开研究.Apache属于免费的软件,Apache允许各个领域、地区的人对其提供新特性.如果将新代码提供至Apache Group后,Apache Group对其具体内容进行测试和质量检查.如果检验者满意,该代码会集成到Apache发行版本中.

2.2 设计合理的TE模型

TE过程模型先以FORTRAN源代码形式提供给控制系统,主要用来描述装置、能量、物料的非线性关系.TE模型主要用来设计装置控制方案,非线性控制、过程故障诊断等方面.TE模型也是SELinux安全模型的主要部分,依照安全等价性将主体和客体划分为多个组,每个组均称作一个类型(type).如,把Apache服务器内的hnpd进程设定为类型(htqxi_t),文件客体为(httpd_exec_t),以上分组与主客体内容无关.从客体层面来说,若它们由某组主体依据同一种方式展开访问操作,那么上述客体处在安全等价状态.同样,如果某个主体和其他主体均为相同权限,这些为等价的.

模型使用某一个安全属性type表示进程域或客体的类型,使得SELinttx可根据Flask模型明确相应的权限.同时,TE模型明确设置类型转换规则,基于域-类型状态下,TE模型会建立相对应的规则,为域访问类型赋予一定的权限,合理控制系统方案操作情况.如:以targeted为研究实例,其源代码设计3条规则,域httpd_t访问类型设定相应的权限值.源代码编译完成后形成二进制文件,开启系统时装载至内核空间,从而组成相应的策略库.客体管理器根据上述控制规则快速进行安全裁决,对进程和客体提供所需的保护.

2.3 设计RBAC模型

RBAC是美国Sandhu教授等人提出的角色访问控制模型,该模型灵活性、较强,容易管理,可依据用户的各项需求,借助不同的配置便于展开自主和强制性访问控制.RBAC的设计思想为:安全管理人员依据需要定义的各类角色,并配置相应的访问权限,对用户根据责任、资历为其指派相应的角色.角色作为域与用户之间的层次,导致域被授予针对性的角色.借助RBAC模型及时降低管理的复杂性和不必要开销,满足企业对系统安全性的要求.但是,为域设计的访问权限由TE模型实现,以上方法将RBAC模型便于管理、TE模型有效保护相互结合,安全管理效果较好.

2.4 设定特权程序权限

特权程序权限时常被用来破坏系统的安全性,SELinux配置实例以通用为目的,挑选一般认为不安全因素的特权程序并对其设定单独域,借助对域权限的合理控制,促使特权程序仅具有正常运行最小权限.对配置策略进行设计时,可依据具体应用环境对特权程序进行限制,具体配置策略如下:

Allow sendmaiLt_smtp-port-t:tep_socket name-bind;

Allowsendmail_t mail_spool_t:file

{treat read write unlink};

fread search add name remove_name};

Allowsendmail_t mqueue_spoolt:dir

{read searchadd_name remove name}.

设定的第一条规则允许sendmail对SMTP端口进行绑定操作,随之两条规则允许sendmail管理mail_spool目录,最下边的两条规则sendmail管理mail_squeue目录.即使采用sendmail缺陷,其访问资产局限在策略定义目录内,达到限定特权程序的效果.

3 制定SELinux策略

虽然SELinux为主体和客体合理设计灵活通用的访问策略,尽量满足多数系统管理工作要求.但对某些服务来说,SELinux复杂性使得部分系统管理人员不敢下手.事实上,有些管理人员时常禁用SELinux机制达到简化管理的目的.文中选用Linux系统内最复杂的的Apache服务器为例阐述SELinux的工作原理,促使系统管理员可以充分理解并利用SELinux提升整个系统的安全性.

假定用户在浏览器上输入地址http:∥192.168.1.3/-ton/index.htrnl,其IP地址为192.168.1.3Linux系统上网页文件index.html.想要实现这个操作,本系统Apache服务器的hnpd必须读取/home/tom/public_-htnd目录下index.htnd,并将其发送给Web用户的浏览器.因此,Linux系统要依据httpd进程的用户标志和客体、index.html文件的属主权限对其DAC安全许可检查.若读取操作借助DAC的安全检查,依据Flask模型SELinux实施以下操作.客体管理器有效收集主体、客体安全上下文,将这些上下文发送至安全服务器内,后者查询有关访问策略.例如“httpd_User_content_t作为类型httpd_user_contnet_t的别名,此时,安全服务器可以在策略文件内找出域httpd_t访问类型htqxl_sys_content_t定义的访问规则.同时,客体管理器可依据安全策略展开安全裁决,若安全策略允许主体对客体的操作,这个操作方可进行.反之,如果测量不允许主体开展这项操作,操作要求遭到拒绝,并在系统日志上增加一个或多个AVC拒绝记录.这时,系统管理人员可适当修改安全上下文或策略规划,确保这项操作顺利完成.

4 结语

总之,加强操作系统安全需采用强制性访问控制,但单一的安全模型无法满足现实操作环境复杂安全需求.因此,设计通用的解决方案尤为重要.SELinux安全结构能够清晰地将策略裁决组件和实施组件进行分割,支持多种策略模型和动态改变.借助SELinux策略配置文件轻易修改和扩展策略,根据具体需求制定相应的策略,在一定程度上提升系统安全性.

[1] 高深.龙广在线web服务性能测试及其优化方法[J].活力,2013,23(12):30.

[2] 王雷.一种强制访问控制机制的审计方法[J].网络安全技术与应用,2013,10(2):13-15.

[3] 杨嘉,曾庆凯.基于信息流的程序权限控制技术[J].计算机工程与设计,2013,34(1):23-27.

[4] 王金龙,宋斌,丁锐,等.Node.js:一种新的Web应用构建技术[J].现代电子技术,2015,11(6):70-73.

[5] 周军宏.Centos7中支持虚拟用户vsftpd服务的配置[J].电脑知识与技术,2015,11(30):41-42.

[6] 郭庆涛,孙强强,李永攀,等.高性能网络服务器框架的研究与实现[J].计算机工程,2013,23(12):70-74,78.

[7] 郭光,张严心.基于自校正分散控制的Web服务器比例延迟保证[J].计算机应用,2014,34(4):973-976.

[8] 李燕萍,丁其鹏.SELinux在网络服务安全中的研究与分析[J].现代计算机(专业版),2014,31(20):32-34.

[9] 郭涛,翟高寿.基于有色Petri网的SELinux安全策略自动化分析[J].信息安全与技术,2013,4(11):35-40.

[10]刘洋,邵旭东,潘程达,等.立体安全防御系统TDSD-Droid的实现[J].计算机科学,2013,40(z2):228-234,250.

[11]胡伟,姬东耀.基于信息流模型的TCB完整性策略分析方法与工具[J].武汉大学学报(理学版),2013,59(5):431-437.

[12]张涛,张勇,宁戈,等.基于SELinux强制访问控制的进程权限控制技术研究与实现[J].信息网络安全,2015,20(12):34-41.

[责任编辑 王新奇]

Taking Apache Server as An Example toDiscuss the Security Model of SELinux

JIN Jing-quan

(Department of Computer Science, Anhui Post and Telecommunications College, Hefei 230031, China)

At present, there are many security operating system models that can be used, including SELinux, AppAHnor security model and so on, but the mandatory access control model is different. National Security Agency (NSA) release integrated access to SELinux control mechanism in the Linux kernel, SELinux designs a reasonable security strategy for the main body and the object with the help of RBAC model and TE model, therefore the problems of vulnerability and inflexibility of the independent access control are reasonably solved. In this paper, the Apache Server is took as an example to introduce the security model of SELinux, The paper deeply studies the SELinux system structure, security model and so on, and expresses the SELinux how to increase the flexibility of the system policy. Eventually, the security of the general operating system is ensured.

Apache server; SELinux; security model

1008-5564(2016)05-0044-04

2016-01-19

安徽省高校自然科学

“企业Linux服务器的安全应用研究”(KJ2016A382)

金京犬(1982—),男,安徽安庆人,安徽邮电职业技术学院计算机系讲师,硕士,主要从事嵌入式研究.

TP393.08

A

猜你喜欢

安全策略管理器访问控制
启动Windows11任务管理器的几种方法
应急状态启动磁盘管理器
基于飞行疲劳角度探究民航飞行员飞行安全策略
Windows文件缓冲处理技术概述
一种防火墙安全策略冲突检测方法*
浅析涉密信息系统安全策略
ONVIF的全新主张:一致性及最访问控制的Profile A
动态自适应访问控制模型
浅析云计算环境下等级保护访问控制测评技术
大数据平台访问控制方法的设计与实现