云计算环境中一种跨平台的虚拟机强制访问控制方法与流程

文档序号:15076526发布日期:2018-08-01 01:51阅读:120来源:国知局

本发明涉及云平台中虚拟机强制访问控制方法,尤其涉及云计算环境中一种跨平台的虚拟机强制访问控制方法。属于云计算领域。



背景技术:

根据美国国家标准与技术研究院(nist)对云计算的定义,云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。云计算平台首先将众多物理机(即真实存在的计算机)所拥有的资源抽象出来形成了资源共享池。然后利用资源共享池中的资源创建虚拟机(即通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统)。这些虚拟机将被众多的云计算终端用户使用。

在云计算环境中,所有的虚拟机都将生成一个虚拟机进程,也将同时生成虚拟机镜像,虚拟机进程用于模拟物理计算机,而虚拟机镜像则用于存储虚拟机拥有的相关数据。虚拟机被创建后,二者紧密配合,完成用户的各项操作。

然而云计算环境中的虚拟机也面临着众多的安全威胁,比如,一旦云计算环境中的虚拟机遭到攻击,非法用户便可以通过该虚拟机非法读取其他虚拟机存储的相关数据,或者读取物理服务器上存储的不属于该虚拟机的数据。

随着云计算的不断发展,市场上已经出现了众多的云计算产品。在一些基于apparmor的云计算平台中虽然使用了一些虚拟机强制访问控制策略,但是这些策略全部由系统确定,云平台中的管理员不但不可更改,甚至不可见,因此,还不能满足云计算环境的安全需求。另外,针对麒麟等操作系统的平台中,selinux等强制访问控制软件还未能应用到云计算领域。

虽然云计算产品众多,强制访问控制软件众多,但是目前还没有一种能够跨平台的虚拟机强制访问控制方法。随着云计算技术的发展和普及,云平台中的虚拟机也面临着众多的安全威胁。目前市场上主流的云计算环境便是ubuntu等操作系统,这些操作系统往往使用基于uuid的强制访问控制软件,同时由于各种软件国产化步伐的加快,基于麒麟等操作系统的平台也在我国占据了大量的市场,在这些操作系统中往往使用基于0~1023的数字的强制访问控制软件,但是目前还未应用到云计算领域,因此,亟需研发一种能够跨两种平台的虚拟机强制访问控制策略,以完成对虚拟机进程和虚拟机镜像的绑定,从而保证虚拟机运行的安全和数据的安全,最终保证云计算环境的安全运行。

综上所述,现有云计算环境中虚拟机强制访问控制存在以下问题:

(1)在基于麒麟等操作系统的云计算平台中,尚无合适的虚拟机强制访问控制方法。

(2)目前市场上虽然云计算产品众多,但是尚没有一种虚拟机强制访问控制方法能够跨多种平台使用,尤其是在本文提到的两种平台上使用,第一种平台是使用uuid作为强制访问控制标签的apparmor等强制访问控制软件,第二种平台是使用0~1023的数字作为强制访问控制标签的selinux等强制访问控制软件。

(3)目前没有一种能够由管理员进行全权控制的虚拟机强制访问控制技术,即虚拟机强制访问控制相关的策略全部都是不可见的,因此一旦非法用户篡改了虚拟机强制访问控制策略,也不能被察觉。



技术实现要素:

为了解决上述问题,本发明提供了一种跨平台的虚拟机强制访问控制方法,主要针对两种平台,第一种是使用ubuntu等操作系统,它们使用uuid作为强制访问控制标签的apparmor等强制访问控制软件;第二种则是麒麟等操作系统,它们使用0~1023的数字作为强制访问控制标签的selinux等强制访问控制软件。不论是哪种平台,本强制访问控制方法都将为虚拟机进程和虚拟机镜像设置强制访问控制标签,该强制访问控制标签由云平台中的安全管理员负责设置、修改等管理操作。最终保证运行在云平台上的每台虚拟机都只能够读取和操作属于自身的数据。

具体来说,本发明提供了一种跨平台的虚拟机强制访问控制方法,该方法具体步骤包括:

步骤1,对云平台用户进行角色划分,首先将云平台用户分为两大类:管理员和普通用户,其中管理员又可以分为三种:系统管理员、安全管理员、审计管理员,

步骤2,普通用户通过云平台提供的操作接口创建虚拟机,但是由于云平台添加了安全措施,所以此时虚拟机只是可以创建,但是无法启动,

步骤3,云平台的平台检测模块对平台类型进行检测,并根据检测结果向安全管理员提供相应的强制访问控制操作接口,

步骤4,云平台中的安全管理员针对不同的平台为虚拟机设置不同的强制访问控制标签,强制访问控制标签分为虚拟机进程强制访问控制标签和虚拟机镜像强制访问控制标签,

步骤5,云平台将安全管理员在前端页面设置虚拟机强制访问控制标签,这些标签将被存储到数据库中,数据库中将存储虚拟机的id、虚拟机进程强制访问控制标签、虚拟机镜像强制访问控制标签,其中虚拟机的id在云平台中是唯一的,它能够唯一标识一台云平台中的虚拟机,不同平台的强制访问控制标签格式是不同的,虽然平台不同,但是同一个虚拟机不可能运行在不同的平台上,因此,两种平台的强制访问控制标签都将存储到同一个数据库表中,

步骤6,普通用户便启动设置过强制访问控制标签的虚拟机,

步骤7,云平台中的计算模块在接收到虚拟机的启动命令后,根据虚拟机id到数据库中查询相应虚拟机的强制访问控制标签,

步骤8,平台检测模块检测平台类型,如果标签格式符合相应的格式,则将该虚拟机的强制访问控制标签绑定到虚拟机进程和虚拟机镜像上,否则,停止虚拟机启动过程,并向安全管理员和审计管理员发出相应的报警信息,

步骤9,云平台计算模块完成虚拟机的启动,

步骤10,安全管理员修改虚拟机强制访问控制标签,这些标签将被云平台中的虚拟机强制访问控制模块存储到数据库中,但不会立刻生效,

步骤11,虚拟机再次启动时,云平台中的计算模块从数据库中读取虚拟机的强制访问控制标签,

步骤12,重新执行步骤7~步骤9,完成虚拟机的启动,

步骤13,当虚拟机进行迁移时,虚拟机将暂时无法启动,重新执行步骤3~步骤9,完成虚拟机的迁移和启动。

其中,步骤4包括:

步骤41,安全管理员为虚拟机进程设置强制访问控制标签,在使用uuid作为强制访问控制标签的apparmor等强制访问控制软件的平台中,虚拟机进程标签为一个uuid,在使用0~1023的数字作为强制访问控制标签的selinux等强制访问控制软件的平台中,虚拟机进程标签为0~1023范围内的数字,

步骤42,安全管理员为虚拟机镜像设置强制访问控制标签,不论基于何种平台,虚拟机镜像的强制访问控制标签都必须和虚拟机进程的强制访问控制标签保持一致,

步骤43,在虚拟机强制访问控制标签设置完成后,安全管理员可以对其进行修改、删除操作。

其中,步骤8包括:

步骤81,获取物理服务器的操作系统信息,

步骤82,获取强制访问控制软件类型,

步骤83,根据平台类型确定虚拟机强制访问控制标签是否符合相应的格式,

步骤84,将强制访问控制标签检测结果返回给云平台。

本发明的有益功效在于:

(1)在基于麒麟等操作系统的云计算平台中,实现虚拟机强制访问控制方法,在该平台中将使用selinux等强制访问控制软件,从而提高该平台运行的安全性。

(2)提供一种能够跨多种平台使用的虚拟机强制访问控制方法,尤其是在本文提到的两种平台上使用,第一种平台是使用uuid作为强制访问控制标签的apparmor等强制访问控制软件,第二种平台是使用0~1023的数字作为强制访问控制标签的selinux等强制访问控制软件。

(3)提供一种能够由管理员进行全权控制的虚拟机强制访问控制方法,即虚拟机强制访问控制相关的策略全部都是对安全管理员可见的,因此一旦非法用户篡改了虚拟机强制访问控制策略,便可被迅速察觉。

附图说明

图1是本发明的云计算环境中一种跨平台的虚拟机强制访问控制方法流程图。

具体实施方式

以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。

图1是本发明的云计算环境中一种跨平台的虚拟机强制访问控制方法流程图。如图1所示,该方法包括:

步骤1,划分云平台的用户角色,将云平台用户分为两大类:管理员和普通用户,其中管理员分为三种:系统管理员、安全管理员、审计管理员,

步骤2,普通用户创建虚拟机,但是虚拟机创建后是无法启动的,需等待安全管理员为其设置强制访问控制标签,

步骤3,云平台的平台检测模块检测平台类型,并根据检测结果向安全管理员提供相应的强制访问控制操作接口,

步骤4,安全管理员为虚拟机设置强制访问控制标签,强制访问控制标签分为虚拟机进程强制访问控制标签和虚拟机镜像强制访问控制标签,

步骤5,强制访问控制模块将安全管理员在前端页面设置虚拟机强制访问控制标签存储到数据库中,数据库中将存储虚拟机的id、虚拟机进程强制访问控制标签、虚拟机镜像强制访问控制标签,其中虚拟机的id能够唯一标识一台云平台中的虚拟机,不同平台的强制访问控制标签格式是不同的,虽然平台不同,但是同一个虚拟机不可能运行在不同的平台上,因此,两种平台的强制访问控制标签都将存储到同一个数据库表中,

步骤6,普通用户启动设置过强制访问控制标签的虚拟机,

步骤7,云平台中的计算模块在接收到虚拟机的启动命令后,根据虚拟机id到数据库中查询相应虚拟机的强制访问控制标签,

步骤8,平台检测模块检测平台类型,根据平台对强制访问控制标签进行校验,如果标签格式正确,则将该虚拟机的强制访问控制标签绑定到虚拟机进程和虚拟机镜像上,否则,停止虚拟机启动过程,并向安全管理员和审计管理员发出相应的报警信息,

步骤9,云平台计算模块完成虚拟机的启动,

步骤10,安全管理员在前端页面修改虚拟机强制访问控制标签,这些标签将被云平台中的虚拟机强制访问控制模块存储到数据库中,但不会立刻生效,

步骤11,虚拟机再次启动时,云平台中的计算模块从数据库中读取虚拟机的强制访问控制标签,

步骤12,重新执行步骤7~步骤9,完成虚拟机的启动,

步骤13,当虚拟机进行迁移时,虚拟机将暂时无法启动,重新执行步骤3~步骤9,完成虚拟机的迁移和启动。

其中,步骤3包括:

步骤31,平台检测模块通过运行命令:cat/proc/version查看物理服务器中正在运行的操作系统的信息,

步骤32,平台检测模块检测强制访问控制软件类型,

步骤33,根据平台检测结果,将相应的强制访问控制标签修改接口提供给安全管理员。

其中,步骤4包括:

步骤41,安全管理员为虚拟机进程设置强制访问控制标签,在第一种平台中,该平台使用apparmor等强制访问控制软件,虚拟机进程标签为一个uuid,在基第二种平台中,该平台使用selinux等强制访问控制软件,虚拟机进程标签为0~1023范围内的数字,

步骤42,安全管理员为虚拟机镜像设置强制访问控制标签,不论基于何种平台,虚拟机镜像的强制访问控制标签都必须和虚拟机进程的强制访问控制标签保持一致,

步骤43,在虚拟机强制访问控制标签设置完成后,安全管理员可以对其进行查询、修改、删除操作。

其中,步骤8包括:

步骤81,平台检测模块通过运行命令:cat/proc/version查看物理服务器中正在运行的操作系统的信息,

步骤82,平台检测模块检测强制访问控制软件的类型,

步骤83,根据平台类型确定虚拟机强制访问控制标签是否符合相应的格式,

步骤84,将强制访问控制标签检测结果返回给云平台。

其中,步骤13如果虚拟位置发生变更,则调用云平台中的虚拟机迁移模块对虚拟机进行迁移。虚拟机迁移是指将虚拟机从一个物理机或存储位置移动到另一个物理机或存储位置的过程。

当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1