技术领域
[0001] 本
发明涉及
云计算技术领域,尤其是涉及一种
基础设置即服务(英文:Infrastructure as a Service,缩写:IaaS)管理平台及方法。
背景技术
[0002] 自云计算概念提出以来,云计算的热潮已席卷了整个IT行业,改变着全社会的信息服务提供与使用方式,掀起了国内外云计算在IaaS、平台即服务(英文:Platform as a Service缩写:PaaS)、程序即服务(英文:Software as a Service,缩写:SaaS)的研究热潮。
[0003] 其中,IaaS主要向用户交付可远程
访问的
虚拟机;当前,主流IaaS服务包括商业公司Amazon EC2、开源组织Eucalyptus、OpenStack、OpenNebula等。目前情况下,在当前主流的IaaS解决方案中,涉及底层的主流虚拟化
软件,例如Xen、KVM、VM Ware、Hyper-V等,以及上层的Amazon EC2、Eucalyptus、Open Stack、Open Nebula等。目前绝大多数企业或研究机构在构建和研究IaaS时,倾向于以主流开源技术为基础,将虚拟机所需使用的互联网协议(英文:Internet Protocol,缩写:IP)地址与虚拟机实例进行绑定,可以防止用户更改IP地址带来的管理和安全问题。
[0004] 然而,由开源机构推出的IaaS解决方法,从底层虚拟化软件如Xen、KVM、Hyper-V,到上层的IaaS软件如Eucalyptus、Open Stack、Open Nebula针对基于虚拟化技术构建的IaaS环境下的网络环境进行安全加固,无法解决用户更改IP地址或媒体接入控制(英文:Madia Access Control,缩写:MAC)地址带来的管理和安全问题,网络环境的安全性较差。
发明内容
[0005] 本发明提供了一种IaaS管理平台及方法,用以解决用户有意或无意更改IP地址或MAC地址时带来的管理和安全问题,提高网络环境的安全性。
[0006] 一种IaaS管理平台,包括:
[0007] 网络加固单元,用于在检测到客户域虚拟机用户执行自主网络配置操作时,拦截所述自主网络配置操作;并向服务单元发送页表
修改服务
请求;
[0008] 虚拟机监视器中的服务单元,用于接收所述网络加固单元发送的页表修改服务请求,并根据所述页表修改服务请求确定系统调用表,修改所述网络加固单元对所述系统调用表对应的页表项操作权限,以及向所述网络加固单元发送页表修改服务响应指令;
[0009] 所述网络加固单元,还用于按照接收到的所述虚拟机监视器发送的页表修改服务响应指令,对拦截的所述客户域虚拟机用户的自主网络配置操作进行处理。
[0010] 所述网络加固单元检测的客户域虚拟机用户执行的自主网络配置操作包括:对网络配置文件的永久性或临时性修改。
[0011] 所述网络加固单元检测的客户域虚拟机用户执行的网络配置文件,包括:客户域虚拟机的互联网协议IP地址;和/或客户域虚拟机的媒体接入控制MAC地址。
[0012] 所述网络加固单元,还用于注册用于请求对客户域虚拟机用户执行自主网络配置操作进行检测的网络环境。
[0013] 所述网络加固单元,具体用于向服务单元发送内存资源操作请求;
[0014] 所述服务单元,具体用于接收内存资源操作请求,并根据所述内存资源操作请求,设置所述网络加固单元对内存资源的修改权限;以及向网络加固单元发送内存资源操作响应消息;
[0015] 所述网络加固单元,具体用于接收所述虚拟机监视器发送的内存资源操作响应消息;按照所述内存资源操作响应消息中的内存设置权限,修改所述内存资源。
[0016] 所述服务单元,还用于在所述网络加固单元修改所述内存资源之后,还原所述内存资源的修改权限,并禁止对所述内存资源进行修改。
[0017] 还包括:
[0018] 模
块隐藏单元,用于隐藏所述网络加固单元。
[0019] 一种IaaS方法,包括:
[0020] 在检测到客户域虚拟机用户执行自主网络配置操作时,拦截所述自主网络配置操作;并
[0021] 向虚拟机监视器发送页表修改服务请求;以及
[0022] 按照接收到的所述虚拟机监视器发送的页表修改服务响应指令,对拦截的所述客户域虚拟机用户的自主网络配置操作进行处理。
[0023] 所述自主网络配置操作包括:
[0024] 对网络配置文件的永久性或临时性修改。
[0025] 网络配置文件,包括:
[0026] 客户域虚拟机的互联网协议IP地址;和/或
[0027] 客户域虚拟机的媒体接入控制MAC地址。
[0028] 在对客户域虚拟机用户执行自主网络配置操作检测之前,还包括:
[0029] 注册用于请求对客户域虚拟机用户执行自主网络配置操作进行检测的网络环境。
[0030] 注册用于请求对客户域虚拟机用户执行自主网络配置操作进行检测的网络环境,包括:
[0031] 向虚拟机监视器发送内存资源操作请求;并
[0032] 接收所述虚拟机监视器发送的内存资源操作响应消息;
[0033] 按照所述内存资源操作响应消息中的内存设置权限,修改所述内存资源。
[0034] 还包括:
[0035] 隐藏用于请求对客户域虚拟机用户执行自主网络配置操作进行检测的网络环境。
[0036] 一种IaaS方法,包括:
[0037] 接收页表修改服务请求;并
[0038] 根据所述页表修改服务请求确定系统调用表,修改所述网络加固单元对所述系统调用表对应的页表项操作权限;以及
[0039] 发送页表修改服务响应指令,指示按照接收到的所述虚拟机监视器发送的页表修改服务响应指令,对拦截的所述客户域虚拟机用户的自主网络配置操作进行处理。
[0040] 在接收页表修改服务请求之前,还包括:
[0041] 接收内存资源操作请求;并
[0042] 根据所述内存资源操作请求,设置对内存资源的修改权限;以及
[0043] 发送内存资源操作响应消息。
[0044] 在发送内存资源操作响应消息之后,还包括:
[0045] 还原所述内存资源的修改权限,并禁止对所述内存资源进行修改。
[0046] 通过采用上述技术方案,将客户域虚拟机用户执行的子
帧网络配置操作进行重定向,并通过服务单元发送的页表修改服务响应指令,对拦截的客户域虚拟机用户的自主网络配置操作进行处理,实现拦截自主网络配置操作,用以解决用户有意或无意更改IP地址或MAC地址时带来的管理和安全问题,提高网络环境的安全性。
附图说明
[0047] 图1为本发明
实施例一中,提出的IaaS管理平台结构组成示意图;
[0048] 图2a为本发明实施例一中,提出的IaaS管理平台拦截网络自主配置行为示意图;
[0049] 图2b为本发明实施例一中,提出的网络加固单元处理网络自主配置行为示意图;
[0050] 图3为本发明实施例二中,提出的IaaS方法
流程图;
[0051] 图4为本发明实施例二中,提出的IaaS方法流程图。
具体实施方式
[0052] 针对开源环境下,用户有意或无意更改IP地址或MAC地址时带来的管理和安全问题,网络环境的安全性较差的问题,本发明提出一种技术方案,通过增加网络加固单元,用于在检测到客户域虚拟机用户执行自主网络配置操作时,拦截所述自主网络配置操作;并向服务单元发送页表修改服务请求,以及服务单元,接收所述网络加固单元发送的页表修改服务请求,并根据页表修改服务请求确定系统调用表,修改网络加固单元对所述系统调用表对应的页表项操作权限,以及向网络加固单元发送页表修改服务响应指令,网络加固单元,还用于按照接收到的所述虚拟机监视器发送的页表修改服务响应指令,对拦截的所述客户域虚拟机用户的自主网络配置操作进行处理。用以解决用户有意或无意更改IP地址或MAC地址时带来的管理和安全问题,提高网络环境的安全性。
[0053] 下面将结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细地阐述。
[0054] 实施例一
[0055] 本发明实施例一提出一种IaaS管理平台,如图1所示,包括用于对整个系统进行管理的云计算平台、交换机以及至少一个物理机,物理机中设置有至少一个虚拟机,物理机之间通过交换机连接,进行数据传输。其中:
[0056] 本发明实施例一提出的技术方案中,以虚拟机监视器的
操作系统为Xen、客户域虚拟机的操作系统为Linux为例来进行详细阐述,但是具体实施中,虚拟机监视器的操作系统,以及客户域虚拟机的操作系统并不局限于这种方式。针对物理机中的虚拟机,添加网络加固单元以及服务单元2。
[0057] 网络加固单元,部署于客户域虚拟机中,可以设置为系统开机自动加载。在系统开机时,初始化客户域虚拟机网络加固环境,网络加固单元注册用于请求对客户域虚拟机用户执行自主网络配置操作进行检测的网络环境。网络加固单元,向服务单元发送内存资源操作请求。
[0058] 服务单元,部署于虚拟机监视器中,在系统开机时,用于接收网络加固单元发送的内存资源操作请求,并根据接收到的内存资源操作请求,设置网络加固单元对内存资源的修改权限,以及向网络加固单元发送内存资源操作响应消息。
[0059] 具体地,服务单元根据接收到的内存资源操作请求,设置内存资源的写权限。
[0060] 网络加固单元,接收虚拟机监视器中的服务单元发送的内存资源操作响应消息,按照接收到的内存资源操作响应消息中的内存设置权限,修改内存资源。
[0061] 具体地,网络加固单元在权限范围内,修改该内存资源,将系统的默认网络配置处理过程引向网络加固单元。
[0062] 服务单元,还用于在网络加固单元修改内存资源之后,还原内存资源的修改权限,并禁止对该内存资源进行修改。
[0063] 具体地,服务单元还原内存资源的操作权限,并拒绝之后对该内存资源的任何修改请求。
[0064] 通过上述过程,在客户域虚拟机启动时已经构建完成网络加固单元所需的运行环境之后,当用户进行网络配置时,所触发的系统调用将被重定向至网络加固单元,由网络加固单元对具体的网络操作请求进行处理,从而实现对用户网络自主配置行为的实时拦截。
[0065] 其中,上述IaaS管理平台,还可以包括模块隐藏单元,设置于客户域虚拟机中,用于隐藏网络加固单元。
[0066] 通过模块隐藏单元可以防止用户有意或无意地删除/卸载网络加固单元。
[0067] 在客户域虚拟机启动时已经构建完成网络加固单元所需的运行环境之后,如图2a所示,拦截用户执行自主网络配置操作。
[0068] 网络加固单元,用于在检测到客户域虚拟机用户执行自主网络配置操作时,拦截该自主网络配置操作,并向服务单元发送页表修改服务请求。
[0069] 如图2b所示,客户域虚拟机用户通过调用应用程序,执行相应操作时,
内核查询系统调用表获取对应处理函数的入口地址。与网络配置相关的系统调用执行流程转向网络加固单元,其余系统调用则转向系统默认流程。网络加固单元判断系统调用操作是否与网络配置相关,如果判断结果为是,则返回应用层不予执行,否则转向系统默认处理流程。
[0070] 例如,以客户域虚拟机用户修改MAC地址为例,来进一步详细阐述网络加固单元的拦截方案。客户域虚拟机用户在客户域虚拟机Linux操作系统中执行ip link set eth0address 00:E0:4C:6A:1A:8E修改MAC地址,用户执行ip link set eth0address 00:E0:4C:6A:1A:8E,该过程会发起execve系统调用,并将特征字符串ip link set eth0address 00:E0:4C:6A:1A:8E作为其参数,该系统调用转向网络加固单元。网络加固单元依据特征字符串ip link set eth0address00:E0:4C:6A:1A:8E判断出用户操作是网络配置行为,直接返回。其中,网络加固单元在拦截网络配置行为之前还可以包括日志记录或发送警告等。
[0071] 其中,网络加固单元检测的客户域虚拟机用户执行的自主网络配置操作包括下述两种情况:
[0072] 第一种:对网络配置文件的永久性修改。
[0073] 第二种:对网络配置文件的临时性修改。
[0074] 上述网络配置文件包括:
[0075] 客户域虚拟机的IP地址;和/或客户域虚拟机的MAC地址。
[0076] 具体地,网络加固单元通过超级调用向服务单元发送页表修改服务请求。
[0077] 服务单元,用于接收网络加固单元发送的页表修改服务请求,并根据页表修改服务请求确定系统调用表,修改网络加固单元对系统调用表对应的页表项操作权限,以及向网络加固单元发送页表修改服务响应指令。
[0078] 具体地,服务单元接收网络加固单元发送的页表修改服务请求,修改系统调用表对应的页表项,将页表项的操作权限映射为可写。
[0079] 网络加固单元,用于按照接收到的虚拟机监视器发送的页表修改服务响应指令,对拦截的客户域虚拟机用户的自主网络配置操作进行处理。
[0080] 具体地,网络加固单元修改系统调用表,将系统默认网络配置处理过程引向网络加固单元。
[0081] 服务单元还原系统调用表对应的页表项操作权限。
[0082] 具体地,服务单元还原系统调用表对应的页表项,将操作权限还原为只读,拒绝网络加固单元对该页表项的任意修改。
[0083] 本发明实施例上述提出的IaaS管理平台,如图1示出了本发明实施一给出的部署图,其中,网络加固单元、服务单元以及模块隐藏单元。其中网络加固单元与模块隐藏单元均部署于客户域虚拟机中,均设置为系统开机自动加载模式。由于IaaS管理平台在为用户提供虚拟机服务时,客户域虚拟机通常由虚拟机模板实例化而成,因此本发明实施例提出的技术方案中,将网络加固单元101与模块隐藏单元102直接封装于虚拟机模板中。服务单元103则设置于虚拟机监视器中,用于处理来自网络加固单元的资源请求。
[0084] 实施例二
[0085] 基于上述图1所示的IaaS管理平台,本发明实施例二提出一种IaaS方法,如图3所示,其具体处理流程如下述:
[0086] 步骤30,注册用于请求对客户域虚拟机用户执行自主网络配置操作进行检测的网络环境。
[0087] 首先,向虚拟机监视器发送内存资源操作请求。
[0088] 其次,接收所述虚拟机监视器发送的内存资源操作响应消息。
[0089] 最后,按照内存资源操作响应消息中的内存设置权限,修改内存资源。
[0090] 通过上述过程,在客户域虚拟机启动时已经构建完成所需的运行环境之后,当用户进行网络配置时,所触发的系统调用将被重定向,从而实现对用户网络自主配置行为的实时拦截。
[0091] 步骤31,在检测到客户域虚拟机用户执行自主网络配置操作时,拦截自主网络配置操作。
[0092] 其中,自主网络配置操作包括:对网络配置文件的永久性或临时性修改。
[0093] 其中,网络配置文件,包括:
[0094] 客户域虚拟机的IP地址;和/或
[0095] 客户域虚拟机的MAC地址。
[0096] 客户域虚拟机用户通过调用应用程序,执行相应操作时,内核查询系统调用表获取对应处理函数的入口地址。与网络配置相关的系统调用执行流程重定向,其余系统调用则转向系统默认流程。判断系统调用操作是否与网络配置相关,如果判断结果为是,则返回应用层不予执行,否则转向系统默认处理流程。
[0097] 例如,以客户域虚拟机用户修改MAC地址为例,来进一步详细阐述拦截方案。客户域虚拟机用户在客户域虚拟机Linux操作系统中执行ip link set eth0address 00:E0:4C:6A:1A:8E修改MAC地址,用户执行ip link set eth0address00:E0:4C:6A:1A:8E,该过程会发起execve系统调用,并将特征字符串ip link set eth0address 00:E0:4C:6A:1A:
8E作为其参数,该系统调用被重定向。依据特征字符串ip link set eth0address 00:E0:
4C:6A:1A:8E判断出用户操作是网络配置行为,直接返回。其中,在拦截网络配置行为之前还可以包括日志记录或发送警告等。
[0098] 步骤32,向虚拟机监视器发送页表修改服务请求。
[0099] 步骤33,按照接收到的虚拟机监视器发送的页表修改服务响应指令,对拦截的客户域虚拟机用户的自主网络配置操作进行处理。
[0100] 其中,上述方法还包括:
[0101] 隐藏用于请求对客户域虚拟机用户执行自主网络配置操作进行检测的网络环境。
[0102] 可以防止用户有意或无意地删除/卸载网络加固单元。
[0103] 相应地,本发明实施例二还提出一种IaaS方法,如图4所示,其具体处理流程如下述:
[0104] 步骤41,接收页表修改服务请求。
[0105] 步骤42,根据页表修改服务请求确定系统调用表,修改所述网络加固单元对所述系统调用表对应的页表项操作权限。
[0106] 具体地,接收页表修改服务请求,修改系统调用表对应的页表项,将页表项的操作权限映射为可写。
[0107] 步骤43,发送页表修改服务响应指令,指示按照接收到的虚拟机监视器发送的页表修改服务响应指令,对拦截的客户域虚拟机用户的自主网络配置操作进行处理。
[0108] 可选地,在上述步骤41接收页表修改服务请求之前,还包括:
[0109] 步骤一,接收内存资源操作请求。
[0110] 步骤二,根据内存资源操作请求,设置对内存资源的修改权限。
[0111] 具体地,服务单元根据接收到的内存资源操作请求,设置内存资源的写权限。
[0112] 步骤三,发送内存资源操作响应消息。
[0113] 可选地,在上述步骤43发送内存资源操作响应消息之后,还可以包括:
[0114] 还原内存资源的修改权限,并禁止对所述内存资源进行修改。
[0115] 具体地,还原系统调用表对应的页表项,将操作权限还原为只读,拒绝对该页表项的任意修改。
[0116] 通过上述步骤一~步骤三的处理过程,在客户域虚拟机启动时已经构建完成网络加固单元所需的运行环境之后,当用户进行网络配置时,所触发的系统调用将被重定向至网络加固单元,由网络加固单元对具体的网络操作请求进行处理,从而实现对用户网络自主配置行为的实时拦截。
[0117] 本领域的技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或
计算机程序产品。因此,本发明可采用完全
硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘
存储器、只读光盘、光学存储器等)上实施的计算机程序产品的形式。
[0118] 本发明是参照根据本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方
框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程
数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中
指定的功能的装置。
[0119] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0120] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0121] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附
权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0122] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。