李志 徐时新 蒋东兴
清华大学计算机与信息管理中心(北京 100084)
摘要 信息技术的发展伴随着安全问题的产生,长期以来安全技术防范的目标都是外部闯入者,而忽视了内部人员的非法操作和主机(服务器)本身的安全。本文提出一种主机安全的模型框架,力图同时防范来自内、外部的攻击,全面增强主机安全。
关键词 主机安全 基于角色的访问控制 闯入发现并阻止
Constructing Host Security System
Li Zhi Xu Shixin Jiang Dongxing
(Tsinghua University Computer & Information Center, Beijing 100084)
Abstract:The development of information technology follows the problem of security . But the main focus of security has been put on outside intruders , neglecting the inside intruders and host security .The paper presents a model of host (server) security trying to check attacks from both outsiders and insiders and to increase host security in every aspects . .
Keywords:Host security Role-based access control Intrusion detection and inhibition
1 引言
随着网络技术的发展及网上应用的不断增多,Internet上原有的安全隐患也不断暴露出来。以往所听到的网络犯罪、黑客等词语离我们不再遥远,他们无时无刻不在危害着我们各种重要信息的安全。
按照网络安全技术与实际应用结合的紧密程度,可以把网络信息安全技术分为以下几类:通信安全、主机系统(服务器)安全和各种应用的安全等。通信安全主要是防止数据在被传输过程中不被修改、窃取或伪造。这一部分的功能可以通过对数据实行各种加密技术来实现。各种应用的安全技术发展也比较顺利,如SHTTP,SSH等。相对来说主机安全就显得更加重要:服务器上往往存放一单位或部门的关键信息。目前而言,对主机的安全保护主要依赖于防火墙、IDS(闯入发现系统)和操作系统本身固有的安全特性。
但是防火墙的最大缺点就是它的防外不防内的特点,而服务器经常是对外提供服务,这样实际上防火墙并不能从根本上解决主机安全问题。IDS是一种被动的防御措施,它并不能阻止任何非法行为。操作系统虽然提供了一些安全措施,但是其功能非常有限,并且经常存在各种漏洞,这只有经验丰富的系统管理员才能保证操作系统的安全。因此,如何保证主机安全,同时防止内、外非法用户的攻击就成为我们当前信息系统建设中一个至关重要的问题。
根据这种需要,可以结合防火墙技术、访问控制技术、IDS技术建立一套适合实际需要的主机安全系统。
2 主机安全系统的结构
2.1系统目标
主机安全系统应实现下列目标:
①把整个系统的用户根据需要分为不同级别;不同级别的用户享有对系统的文件、数据、网络、进程等资源的权限,并进行记费管理;还可根据不同的用户设置不同的安全策略,将超级用户的权限细化(可分为系统管理员、安全管理员、数据库管理员、用户管理员等)。
②所有用户的登录都要进行认证,并且用户和主机之间的关键信息的传输,都采取加密的方式进行传输。
③对访问系统的数据包进行分析,整个系统应能识别合法数据包和非法数据包;并可设置合法及非法地址的访问;建设攻击特征库,力图实现智能化,争取实现自学习能力,不断增强识别包内容的能力。
④应能克服操作系统本身存在的漏洞,防止TROJAN 和系统的后门,不断发现新的漏洞并进行补救。
⑤能对系统用户的行为进行跟踪,确保其对自己的行为负责,预测并阻止其非法行为对系统造成的损害。
2.2系统的设计原则
主机安全系统的设计按下列原则进行详细的描述:
①不修改系统内核程序;
②系统的安装和拆卸不停机;
③用户的进入不需要繁琐的输入;
④是一种预防和保卫系统,但不影响访问信息和资源的方便性。
下面对整个系统结构进行详细描述:
安全管理员主要有两个工作界面,一个就是整个系统的安全策略管理(相当于一个防火墙,对来访或出去的数据的协议,端口,来源等做限制);另外一个就是对系统的用户的管理界面(包括用户级别的管理、权利管理。在实现上有两个模块:对主机上资源的访问控制和对网络资源的访问控制)。
安全特征数据库是系统的一个关键部件,系统具有一个安全数据库,不断的补充新发现的网络安全漏洞,攻击手段和系统漏洞。
图1 主机网络安全系统结构
如图1所示,系统包含用户认证、安全检查、用户访问控制(包括外部资源访问控制、内部资源访问控制)等部件,各模块主要功能如下:
用户认证是对访问系统的用户进行比现有的操作系统所提供的口令认证更高安全性的认证。
安全检查中包括对外部进来的可疑信息的检查、对系统漏洞的补救、发现并防止攻击。它还执行一部分防火墙的执能,对系统与网络之间的数据报交换进行相应控制(可以根据IP和端口号)。
用户访问控制对系统的用户权限进行更加详细的划分,并对用户的行为进行跟踪、非法行为的发现和控制。它主要包括两个模块:内部资源访问控制和外部资源访问控制。
内部资源访问控制:主要是对内部合法用户的权限进行限制,规范用户的行为。包括对用户的权限进行详细的分类控制,跟踪(这一部分是执行传统的IDS)并阻止非法行为,防止用户利用系统存在的安全漏洞所进行的攻击。
外部资源访问控制:对用户访问系统之外信息资源(网络上其他资源)的控制,并进行计费管理。
主控制模块是对安全检查的策略和用户的访问控制进行设置,同时也可以提供WWW服务,便于远程安全管理员进行设置。
2.3系统的协议栈结构
系统的协议栈结构如图2所示:
图 2 系统协议栈结构
访问控制模块可以与安全检查模块进行通信,以便能同时从用户和IP的角度对进/出系统的数据包进行控制,更好的实现系统安全。
3 基于角色的访问控制模块
系统的访问控制模块就其所控制的用户要访问资源的位置来看,可分为内部资源访问控制和外部资源访问控制。就其所实现的功能来看可分为:闯入发现并阻止模块和用户资源访问控制模块两部分。
在系统发挥作用后,用户的命令或系统调用的执行过程如图3所示。
图3 用户命令执行流程
典型的UNIX系统对用户的控制是通过用户组进行管理的,而用户的所有权是根据文件或目录的属性来确定的。这样如果要确定具体用户的权限,对用户进行有效的管理需要对整个文件系统进行全面的审查。
为了从整体上增强系统的安全,在用户资源访问控制模块中采用了基于角色基础上的访问控制技术。基于角色的访问控制是这样的:系统管理员根据部门内部的实际需要建立角色,并赋予角色一定的权利,然后再将用户赋予一定的角色。角色不但定义了用户可访问资源的权限而且也定义了权限的大小。在这种情况下,用户所享有的权利是可以变化的,而角色所享有的权利是相对稳定的。这种划分可以使系统用户权限的划分粒度更加精细,从而增加系统安全。
在进行角色的划分时采用以下两个原则;
①最小权利原则:只有用户真正需要的权利才被允许。
②分离权利和责任。
用户和角色:用户主要是指人;角色是指在一个组织内部的职位并被赋予一定的权利和义务。角色和组的根本区别在于:组是用户的集合而不是权利的集合;角色作为中介,既是用户又是权利的集合体。
权利:是指服务对一定的对象访问,执行,读写等权利。均是与在系统内执行一定的行为相关连的。对象包括数据对象和资源对象。权利包含有:从访问一个特定的子网到访问某一个文件,或使用内存或磁盘的情况、目录、设备等等。
图 4 角色基础上的访问控制模型
图4中指明了用户分配和授权情况,均可以是多对多的关系。
会话:当激活一个或多个角色时,用户可以建立会话。每个会话可以将用户分配到多个角色上。每个会话只能属于一个用户。但是,每个用户同时可以激活多个会话。这种分配体现了最小分配原则。如果一个用户属于多个角色,他在一个会话中只使用必要的角色权限。
4 闯入发现并阻止模块
闯入发现系统最初是通过对系统审计或日志记录的结果分析确定用户是否有非法行为来增强系统安全。系统可以把现有的安全系统技术与专家系统技术相结合,及时、迅速、准确的发现用户的行为。这种系统只有达到实时工作状态才能起到作用,但是目前还很难达到这种要求。
闯入发现并阻止模块在对用户的命令或系统调用等进行访问控制并确定用户是否有非法行为后,再嵌入阻止模块,更能很好的达到安全效果。
对主机安全造成威胁的用户有以下几类:
①外部的闯入者
②内部的闯入者:A.内部人员的伪装者(借用另一个人的用户名和口令);B.内部人员的偷猎者(使用一定的方法避过审计和访问控制手段)
③授权用户滥用权利
针对上述不同的用户可以采取不同的对策:
对①类用户可以根据检查其失败的登录的次数来进行控制。
对②类内部的用户可以
阅读(307) | 评论(0) | 转发(0) |