CN109254831A - 基于云管理平台的虚拟机网络安全管理方法 - Google Patents
基于云管理平台的虚拟机网络安全管理方法 Download PDFInfo
- Publication number
- CN109254831A CN109254831A CN201811037214.0A CN201811037214A CN109254831A CN 109254831 A CN109254831 A CN 109254831A CN 201811037214 A CN201811037214 A CN 201811037214A CN 109254831 A CN109254831 A CN 109254831A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- security
- network
- port
- domain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000012217 deletion Methods 0.000 claims description 10
- 230000037430 deletion Effects 0.000 claims description 10
- 238000011217 control strategy Methods 0.000 claims description 8
- 239000011800 void material Substances 0.000 claims description 6
- DIWRORZWFLOCLC-UHFFFAOYSA-N Lorazepam Chemical group C12=CC(Cl)=CC=C2NC(=O)C(O)N=C1C1=CC=CC=C1Cl DIWRORZWFLOCLC-UHFFFAOYSA-N 0.000 claims description 3
- 230000009172 bursting Effects 0.000 claims description 3
- 238000012986 modification Methods 0.000 claims description 3
- 230000004048 modification Effects 0.000 claims description 3
- 230000006855 networking Effects 0.000 claims description 3
- RJKFOVLPORLFTN-LEKSSAKUSA-N Progesterone Chemical compound C1CC2=CC(=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H](C(=O)C)[C@@]1(C)CC2 RJKFOVLPORLFTN-LEKSSAKUSA-N 0.000 claims 1
- 238000007726 management method Methods 0.000 description 39
- 230000006870 function Effects 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了基于云管理平台的虚拟机网络安全管理方法,包括:步骤(1):云管理平台调用OpenStack云操作系统REST API实现安全域的创建:创建自服务网络;在自服务网络上创建子网;每一个自服务网络对应一个安全域;步骤(2):云管理平台创建虚拟机,同时为虚拟机指定安全域;如果安全域中的虚拟机有添加或删除操作,则修改虚拟机所属的网络;步骤(3):设置安全域之间的访问规则;虚拟机基于访问规则进行访问。
Description
技术领域
本发明涉及基于云管理平台的虚拟机网络安全管理方法。
背景技术
随着各行业的迅速发展,IT行业也进入了新的时代,各类软硬件技术陆续出现。虚拟化技术是指计算原件不是在真实的基础上而是在虚拟的基础上运行,虚拟化技术能够在一定程度上扩大计算机硬件的容量,简化软件的从新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内互不影响的运行,从而使得计算机的运行速度有明显的提高。在未出现虚拟化技术之前,一台物理计算机仅能够配置几个程序,大量的资源因此而得不到充分的利用,造成资源的浪费,后来出现了可以在服务器上启动虚拟机,可以实现一台服务器上多台虚拟机被同时运行,根据用户不同的需求将物理计算机中内存和硬盘等硬件资源进行划分,避免了物理资源被大量的浪费,很大程度上节约了物理资源。
虚拟机是一个完整的计算机系统,它通过模拟软件的功能而拥有了完整的硬件系统功能,可以运行在一个被隔离的独立空间中,虚拟机具有可以在一台物理计算机中模拟出多台虚拟机的特性,所被模拟出来的虚拟的计算机同真正的计算机一样,用户可以根据需要安装操作系统、安装应用程序、访问网络资源等等。对于用户来说,他只是在物理计算机上安装的一个应用程序,但是他对于在虚拟机上运行的应用程序来讲,就是一个完整的、真正的计算机。所以,当我们在虚拟机中对软件进行评测时,系统同样可能会崩溃,但是,所崩溃的并不是真正的计算机系统,而仅仅是虚拟机上的操作系统,并且,使用虚拟机的“Undo”(恢复)功能,可以马上恢复虚拟机到安装软件之前的状态。
OpenStack是最近几年被推出的一款云操作系统管理平台,并且这个平台是开源免费的应用该系统能够很方便地对服务器上的虚拟机进行管理和操作。OpenStack主要配置在云平台的各个节点中,由几个大的组件组成。它增加了一个可视化的用户操作界面,通过该可视化界面,用户能够方便地对虚拟机进行创建、管理和删除操作。当用户需要对虚拟机进行一系列的操作时,该系统中各组件会统筹兼顾,通过各类算法计算出哪一个节点可以配置用户所需要的虚拟机,很大程度上方便了用户管理,同时也推动了整个云平台的发展。该系统主要有以下几个重要的组件,第一个为Horizon组件,该组件是云操作系统的控制台,它配置了一个Web端的页面,用户可以通过该组件进行各类操作。第二个为Nova组件,该组件提供了云操作系统的计算服务,当发出请求后,系统会通过该组件各类算法,计算出虚拟机最优节点以及最佳配置,进行虚拟机的创建或删除,当虚拟机需要修改配置时,也会通过该组件进行计算。第三个为Neutron网络组件,该组件提供了系统中各台虚拟机的网络配置,为每一个虚拟机进行网络ip地址的划分或修改,创建安全区域等功能。第四个为Glance镜像组件,该组件提供了虚拟机镜像文件的存储方案,每台虚拟机都需要一个镜像文件,该组件可以管理各个镜像文件。第五个为Keystone认证组件,该组件提供了云操作系统中的各类认证机制,包括用户权限认证,虚拟机启动认证等,可以说是整个系统的通行证。目前,针对Linux系统环境下,基于云操作系统各节点启动虚拟机时存在的安全问题,尚缺乏有效的解决方案,因此,需要以Linux操作系统为基础建设安全管理方法。
发明内容
为了解决现有技术的不足,本发明提供了基于云管理平台的虚拟机网络安全管理方法;
为了实现上述目的,本发明提出如下技术方案:
基于云管理平台的虚拟机网络安全管理方法,具体包括:
步骤(1):云管理平台调用OpenStack云操作系统REST API实现安全域的创建:创建自服务网络;在自服务网络上创建子网,目的为了对网络进行进一步划分,同时可以指定IP等参数;每一个自服务网络对应一个安全域;
步骤(2):云管理平台创建虚拟机,同时为虚拟机指定安全域;如果安全域中的虚拟机有添加或删除操作,则修改虚拟机所属的网络;
步骤(3):设置安全域之间的访问规则;虚拟机基于访问规则进行访问。
进一步的,所述步骤(2)的创建虚拟机具体步骤为:
步骤(201):云管理平台向计算节点发起创建虚拟机请求,并将安全域ID传送给已经创建的虚拟机,即VXLAN ID;
步骤(202):计算节点接收创建虚拟机请求,调用OpenStack云操作系统的虚拟网络端口POST,并在network.-id参数中指定虚拟机所属安全域ID;
步骤(203):OpenStack云操作系统的nova-compute向OpenStack云操作系统的Neutron-server请求虚拟机对应的port资源;
步骤(204):OpenStack云操作系统的Neutron-server根据OpenStack云操作系统的neutron-database生成port资源,在计算节点的br-int上创建port端口,并将port端口连接到指定的安全域;每创建一个虚拟机,虚拟机所在计算节点的br-int上就会创建一个port端口,供该虚拟机连接;
步骤(205):OpenStack云操作系统自动生成接口Interface,连接新创建的虚拟机和port端口;当虚拟机连接到port端口时,虚拟机才能获得MAC地址和fixed IP地址;
步骤(206):OpenStack云操作系统的Neutron-server将虚拟机信息传输给OpenStack云操作系统的Neutron DHCP-agent;
步骤(207):OpenStack云操作系统的Neutron DHCP agent将虚拟机信息传输给OpenStack云操作系统的DHCP server;
步骤(208):虚拟机接入网络并启动;
步骤(209):虚拟机从DHCP server处获得IP地址。
虚拟机信息,例如虚拟机安全状态。
进一步的,所述步骤(2)修改虚拟机所属的网络的具体步骤为:
步骤(211):解除虚拟机绑定的端口接口port Interface,从而解除虚拟机所在原网络上的port,通过DELETE/servers/{server_id}/os-interface/{port_id}实现;
步骤(212):在新网络上的创建一个port,通POST/v2.0/ports实现,在参数中指定新网络id;
步骤(213):创建一个新的端口接口port Interface,把新创建的port连接到虚拟机上,通过POST/servers/{server_id}/os-interface实现。
进一步的,所述步骤(3)的步骤为:
在实现安全域的创建和添加/删除虚拟机后,安全域间访问控制、虚拟机间的访问
控制都由iptables来实现,通过security_group_rules这组REST API来制定访问规则。
创建规则:POST/v2.0/security-groups/
删除规则:DELETE/v2.0/security-groups/{security_group_id}
通过步骤(301)-步骤(303)为虚拟机制定访问规则:
步骤(301):每个虚拟机创建时都会被分配一个port端口,port端口的参数device_id指定使用该端口的设备ID,即虚拟机ID,并自动创建interface将port连接到虚拟机上;
步骤(302):每个port端口包含若干个安全组security group,在port端口的参数security_groups中指定附加在该端口上的所有security groups;
步骤(303):每个安全组security group中包含若干条安全域规则securitygroup rule,创建安全域规则security group rule时提供安全组编号security groupID,指定安全域规则security group rule归属的安全组security group。
安全管理平台为虚拟机制定访问规则时,借助OpenStack REST API securit_group_rules,指定的参数,包括:标识id,输入端口from_port,IP协议ip_protocol,IP地址范围ip_range,输出端口to_port,其中,标识id表示当前规则所归属的securit group,ip_range中的无类域间路由选择(CIDR)指定为某个IP或某个IP地址段。
在安全域管理和虚拟网络访问规则管理的基础上,最终实现租户网络部署,虚拟
机安全规则在iptables即IP表中实现;每个子网对应一个DHCP,为该子网内虚拟机自动分
配IP地址。
所述创建自服务网络是通过POST/v2.0/networks创建自服务网络,即创建安全域;
所述创建子网是在自服务网络上使用POST/v2.0/subnets创建子网。
创建子网的目的是为了对网络进行进一步划分,同时可以指定IP等参数。每一个自服务网络对应一个安全域。
注:Interface(接口)、port(端口)、DHCP(Dynamic Host ConfigurationProtocol,动态主机配置协议);Nova(计算服务组件),Nova组件是云操作系统中很重要的一个组件,它提供了整个系统的计算服务。Neutorn(网络服务组件),该组件为整个云操作系统提供网路服务,网络的创建分为私有网络和公有网络,当系统接收到虚拟机创建请求命令时,该组件会创建一个虚拟交换机。在虚拟交换机中,网络划分为三种方式,如网桥模式等,当配置好虚拟机所属网络的安全区域,并为该虚拟机创建两个IP地址,一个外网IP地址和一个内网IP地址,实现虚拟机的网络结构。
计算节点上配置有安全功能层,所述安全功能层,包括:网络安全模块,所述网络安全模块,包括:网络拓扑结构查看单元、虚拟机安全状态查看单元、安全域创建或删除单元、为安全域添加或删除虚拟机单元、安全域间访问规则设置单元和虚拟机间访问规则设置单元。
进一步的,所述网络拓扑结构查看单元,用于从OpenStack云操作系统获取网络信息,例如虚拟机的ip地址,mac地址等,并进一步分析获取的网络信息,得到网络拓扑,对得到的网络拓扑进行展示。
进一步的,所述虚拟机安全状态查看单元,用于从OpenStack云操作系统获取虚拟机访问规则执行的结果,并分析判定虚拟机的安全状态;虚拟机的安全状态包括:未接入安全域、接入安全域、边界安全域、在线安全域,并用Undefined、Defined、Bound、Online来标识这四种安全状态;不同安全状态的虚拟机具有不同的访问权限。
未接入安全域:该状态下VM的网络访问受到限制,即VM不能够在访问网络,也不能通过网络被访问。有MAC地址,但没有IP。
接入安全域:可以与自身安全域内的其他虚拟机相互访问,但不具有访问域外的VM以及公共网络的功能。
边界安全域:能够与自身安全域内VM进行相互交互,与特定安全域内VM也可以交互,但不具有上网能力和对外服务功能。
在线安全域:该状态出现的VM有访问网络的需要或者对外服务的情况,该状态下的VM可以与自身安全域的VM交互,并具有上网和对外服务功能。
进一步的,所述安全域创建或删除单元,用于接收用户的创建安全域请求,并创建安全域;还用于接收用户的删除安全域请求,并删除安全域;
进一步的,所述为安全域添加或删除虚拟机单元,用于对虚拟机间的相互能否访问进行控制。
进一步的,所述安全域间访问规则设置单元,用于制定不同安全域之间的虚拟机的访问限制。
进一步的,所述虚拟机间访问规则设置单元,用于控制虚拟机之间的相互访问权限。
进一步的,所述网络安全模块,将同一物理环境中的虚拟机通过划分若干个区域的方式将每台虚拟机的网络分隔开来,每个区域成为网络安全域,每个网络安全域内的网络设置,按虚拟机的四种安全标识状态要求结果来设置访问控制策略和边界控制策略,即对网络IP地址对外界访问进行限制,通过标签进行安全域标签划分进行边界控制;处于相同安全域中的虚拟机共享一种安全策略,处于不同的安全域中的虚拟机,相互之间是无法进行访问的;
所述安全域是指:一种子网或网络,他们拥有相同的安全访问控制策略以及边界控制策略,在同一系统内有相同的安全保护需求并且相互信任,且相同的网络安全域共享一样的安全策略。
与现有技术相比,本发明的有益效果是:
通过云管理平台实现用户可视化操作界面,并且可以达到易操作、速度快的用户体验效果,该方法在云操作系统的基础上,达到了将Linux内核功能加以完善的目的,解决了很多网络问题,比如越过防火墙的数据流,或者在虚拟交换机中的数据交换,在虚拟网络中,也有恶意的虚拟机窃听程序的风险,在网络中的安全域划分,最后通过Restful Api接口使得整个虚拟机安全管理平台的设计方案更加完善与安全。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1为本发明的架构图;
图2为本发明的网络安全部署图;
图3为虚拟机端口关系;
图4为安全域增加新虚拟机;
图5为安全组规则关联图;
具体实施方式
应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
总体方案架构包括OpenStack云操作系统、云管理平台以及配置安全功能层的计算节点,各部分协同合作,完成虚拟化安全管理平台的安全运行。
本发明主要以OpenStack操作系统为基础,针对Linux系统环境下,基于云操作系统各节点启动虚拟机时存在的安全问题,针对安全功能层的网络安全配置研究,提出一种基于云操作系统平台的虚拟机网络安全方法。具体方案内容如下:
网络安全主要目的在于将每台虚拟机的网络分隔开来,同一物理环境中的虚拟机通过划分网络安全域的方法,可以进一步加强了虚拟机的安全性,处于不同的安全区域中的虚拟机,相互之间是无法进行访问的,能够让用户操作每台机器的情况时更加安全。
所谓网络安全域,就是指一种子网或网络,他们拥有相同的安全访问控制策略以及边界控制策略,在同一系统内有相同的安全保护需求并且相互信任,且相同的网络安全域共享一样的安全策略。
虚拟网络与实体网络是不同的网络,所以在虚拟的网络中很多数据的流向经常不可控制,在整个网络中,很容易出现网络安全问题,比如越过防火墙的数据流,或者在虚拟交换机中的数据交换,在虚拟网络中,也有恶意的虚拟机窃听程序的风险,所以针对以上问题,将网络进行了安全区域的划分,通过OVS虚拟交换机实现网络的访问控制。如图1所示OpenvSwitch简称OVS,正如其官网所述,OVS是一个高质量、多层的虚拟交换软件。它的目的是通过编程扩展支持大规模网络自动化,同时还支持标准的管理接口和协议。
虚拟网络安全管理提供查看当前网络拓扑结构、查看虚拟机安全状态、创建或删除安全域、为安全域添加或删除虚拟机、设置安全域间访问规则、设置虚拟机间访问规则等功能。各子功能实现原理如下:
1)查看当前网络拓扑结构
虚拟机安全管理平台的虚拟网络安全管理模块从云操作系统获取网络信息,并进一步分析获取的网络信息,得到网络拓扑,在安全管理平台展示。
2)查看虚拟机安全状态
虚拟机安全状态是一类访问规则执行的结果。安全管理平台中的虚拟网络安全管理模块从OpenStack云操作系统获取虚拟机访问规则,并分析判定虚拟机的安全状态。
虚拟机的安全状态划分为四种:未接入安全域、接入安全域、边界安全域、在线安全域,并用Undefined、Defined、Bound、Online来标识这四种安全状态。不同安全状态的虚拟机具有不同的访问权限。
3)安全域及访问规则管理
用户通过云管理平台界面发起请求,比如创建安全域,云管理平台向Web服务器发起对应的请求,应用程序与云操作系统交互,完成安全域的创建等请求。
如图2所示的是在用户态和内核态分布情况,其中,计算安全部署于物理节点的内核态和用户态,存储安全部署于物理节点的内核态和用户态,虚拟机的内核态和用户态;网络安全部署于物理节点的纯用户态。
安全域管理
在进行虚拟网络的创建的时候,云操作系统首先会将虚拟接口和虚拟网络设备,如port端口,可以将该端口理解成为虚拟网络中的网线头,在虚拟机需要与网络进行连接时,会优先通过该端口。interface也是一个虚拟的网络接口,它的URL(统一资源定位符)路径为POST/servers/{server_id}/os-interface,参数包括虚拟机id,port id(可选),netid(可选)等,其中的参数值是该端口所连接的虚拟机id等相关信息。在创建port时,使用POST/v2.0/ports,参数包括network id(网络id),security group(可选),device id服务id(可选)等。虚拟机、Interface、port、安全域关系如图3所示。
创建安全域:
登录安全管理平台后,调用云操作系统REST API实现安全域的创建。通过POST/v2.0/networks创建自服务网络,进而在自服务网络上使用POST/v2.0/subnets创建子网,同时可以指定IP等参数。每一个自服务网络对应一个安全域。为安全域添加/删除虚拟机:
1)创建虚拟机时指定安全域
在创建网络结束后,管理员登录安全管理平台创建新的虚拟机,同时将其加入指定安全域,只需要在发起请求的同时,指定虚拟机所在的安全域,即VXLANID,流程设计如图4所示。
a)管理员登录安全管理平台,通过浏览器发起创建虚拟机请求,并传送VXLAN ID。
b)服务器接收到浏览器传送来的请求,执行对应的应用程序,进而调用云操作系统的POST/servers,并在network.id参数中指定所属网络ID。
c)nova-compute向Neutron-server请求虚拟机对应的port资源。
d)Neutron-server根据neutron-database生成port资源,此时便会在该计算节点的br-int上创建这个port,并将port连接到指定的VXLAN。每创建一个虚拟机,所在计算节点的br-int上就会创建一个port端口,供该虚拟机连接。
e)自动生成Interface,连接新创建的虚拟机和port端口。当虚拟机连接到该port端口时,虚拟机才能获得MAC和fixed IP地址。
f)Neutron-server通知DHCP agent虚拟机信息。
g)DHCP agent将虚拟机信息通知给DHCP,server。
h)虚拟机接入并启动。
i)虚拟机从dhcp server处获得IP地址。
2)修改虚拟机所属安全域
为了完成安全域中虚拟机的添加和删除操作,需要更新虚拟机所属的网络,具体如下:
解除虚拟机绑定的port Interface,从而解除虚拟机所在原网络上的port,通过DELETE/servers/{server_id}/os-interface/{port_id}实现。
在新网络上的创建一个port,通POST/v2.0/ports实现,在参数中指定新网络id。
创建一个新的port Interface,把新创建的port连接到虚拟机上,通过POST/servers/{server_id}/os-interface实现。
虚拟网络访问规则管理
在实现安全域的创建和添加/删除虚拟机后,安全域间访问控制、虚拟机间的访问
控制都由iptables来实现,通过security_group_rules这组REST API来制定访问规则。
创建规则:POST/v2.0/security-groups/
删除规则:DELETE/v2.0/security-groups/{security_group_id}
步骤(301)-步骤(303)涉及虚拟机、port、security group、security grouprule,四者关系如图5所示。注:security group为安全组,security group rule为安全组规则,security group ID为安全组ID。
具体指定如下:
步骤(301)每个虚拟机创建时都会分配一个port端口,port端口的参数device_id会指定使用该端口的设备ID,即虚拟机ID,并自动创建interface将port连接到虚拟机上。
步骤(302)每个port端口可能包含多个security group,同样是在port端口的参数security_groups中指定附加在该端口上的所有security groups;
步骤(303)一个security group中可以包含多条security group rule创建security grouprule时需提供security groupID这个参数,指定其归属的securitygroup。
安全管理平台为虚拟机制定访问规则时,需要借助OpenStack REST APIsecurit_group_rules,需要指定的参数包括id、from_port、ip_protocol、ip_range、to_port,其中,id指明了该规则所归属的securit group,ip_range中的cidr可以指定为某个IP,也可以是某个IP地址段。
在安全域管理和虚拟网络访问规则管理的基础上,最终实现租户网络部署,虚拟
机安全规则在iptables中实现;每个子网对应一个DHCP,为该子网内虚拟机自动分配IP地
址。
该网络管理模块界面主要展示各台虚拟机的网络配置情况,可以在界面中查看整个网络拓扑图,以及每台虚拟机的ip地址分配情况,当需要对某一台虚拟机的网络进行设置的时候,我们可以在虚拟机列表中选中,通过表格设置该虚拟机的网络状况,包括ip地址的静态与动态划分,安全域的选择,设置完毕以后,数据会记录到数据库中,方便后期管理员的查看与操作。
以下为网络功能模块的测试用例图,表1为网络安全服务测试用例,具体数据如下
表1网络安全服务测试用例
通过对虚拟化技术以及云操作系统的深入研究,发现并找到了目前云操作系统中的安全问题,并针对这些问题设计解决方案,针对性的提出了网络安全管理办法,提高了虚拟机的安全性,为虚拟化技术的发展提供了强有力的保障。
在进行虚拟网络的创建时,云操作系统首先会将虚拟接口和虚拟网络设备创建出来,如port端口,可以将该端口理解成为虚拟网络中的网线头,在虚拟机需要与网络进行连接时,会优先通过该端口。interface也是一个虚拟的网络接口,它的url路径为POST/servers/{server_id}/os-interface,参数包括虚拟机id,port id(可选),net id(可选)等,其中的参数值是该端口所连接的虚拟机id等相关信息。在创建port时,使用POST/v2.0/ports,参数包括network id(网络ID),security group(安全组可选),device id(可选)等。虚拟机、Interface(接口)、port(端口)、安全域关系如图3所示。
本发明公开了一种基于云管理平台的虚拟机网络安全管理方案,虚拟网络安全管理的实现需要通过调用云操作系统的REST API,这个实现存在两个难点,一是后台与云操作系统的对接,且需要仅从安全管理平台配置网络,二是通过一个简洁直观的虚拟网络操作界面实现网络管理,本发明的创新点是虚拟网络的安全隔离与防护已经不能通过已有的传统的安全防护手段来实现,因此在虚拟网络中存在着安全问题。本发明提出安全域的概念,建立清晰的虚拟网络边界,并通过安全域间的访问控制实现虚拟网络的安全隔离与防护。更好的实现网络安全。将网络安全功能模块嵌入到云操作系统中,是整个虚拟机安全管理平台的重点创新。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.基于云管理平台的虚拟机网络安全管理方法,其特征是,包括:
步骤(1):云管理平台调用OpenStack云操作系统REST API实现安全域的创建:创建自服务网络;在自服务网络上创建子网;每一个自服务网络对应一个安全域;
步骤(2):云管理平台创建虚拟机,同时为虚拟机指定安全域;
如果安全域中的虚拟机有添加或删除操作,则修改虚拟机所属的网络;
步骤(3):设置安全域之间的访问规则;虚拟机基于访问规则进行访问。
2.如权利要求1所述的基于云管理平台的虚拟机网络安全管理方法,其特征是,所述步骤(2)的创建虚拟机具体步骤为:
步骤(201):云管理平台向计算节点发起创建虚拟机请求,并将安全域ID传送给已经创建的虚拟机,即VXLAN ID;
步骤(202):计算节点接收创建虚拟机请求,调用OpenStack云操作系统的虚拟网络端口POST,并在虚拟网络端口POST的network.-id参数中指定虚拟机所属安全域ID;
步骤(203):OpenStack云操作系统的nova-compute向OpenStack云操作系统的Neutron-server请求虚拟机对应的port端口;
步骤(204):OpenStack云操作系统的Neutron-server根据OpenStack云操作系统的neutron-database生成port端口,在计算节点的br-int上创建port端口,并将port端口连接到指定的安全域;每创建一个虚拟机,虚拟机所在计算节点的br-int上就会创建一个port端口,供该虚拟机连接;
步骤(205):OpenStack云操作系统自动生成接口Interface,连接新创建的虚拟机和port端口;当虚拟机连接到port端口时,虚拟机才能获得MAC地址和fixed IP地址;
步骤(206):OpenStack云操作系统的Neutron-server将虚拟机信息传输给OpenStack云操作系统的Neutron DHCP-agent;
步骤(207):OpenStack云操作系统的Neutron DHCP agent将虚拟机信息传输给OpenStack云操作系统的DHCP server;
步骤(208):虚拟机接入网络并启动;
步骤(209):虚拟机从DHCP server处获得IP地址。
3.如权利要求1所述的基于云管理平台的虚拟机网络安全管理方法,其特征是,
所述步骤(2)修改虚拟机所属的网络的具体步骤为:
步骤(211):解除虚拟机绑定的端口接口port Interface,从而解除虚拟机所在原网络上的port,通过DELETE/servers/{server_id}/os-interface/{port_id}实现;
步骤(212):在新网络上的创建一个port,通POST/v2.0/ports实现,在参数中指定新网络id;
步骤(213):创建一个新的端口接口port Interface,把新创建的port连接到虚拟机上,通过POST/servers/{server_id}/os-interface实现。
4.如权利要求1所述的基于云管理平台的虚拟机网络安全管理方法,其特征是,所述步骤(3)的步骤为:
在实现安全域的创建和添加/删除虚拟机后,安全域间访问控制、虚拟机间的访问控制都由iptables来实现,通过security_group_rules这组REST API来制定访问规则;
创建规则:POST/v2.0/security-groups/
删除规则:DELETE/v2.0/security-groups/{security_group_id}。
5.如权利要求4所述的基于云管理平台的虚拟机网络安全管理方法,其特征是,通过步骤(301)-步骤(303)为虚拟机制定访问规则:
步骤(301):每个虚拟机创建时都会被分配一个port端口,port端口的参数device_id指定使用该端口的设备ID,即虚拟机ID,并自动创建interface将port连接到虚拟机上;
步骤(302):每个port端口包含若干个安全组security group,在port端口的参数security_groups中指定附加在该端口上的所有security groups;
步骤(303):每个安全组security group中包含若干条安全域规则security grouprule,创建安全域规则security group rule时提供安全组编号security group ID,指定安全域规则security group rule归属的安全组security group。
6.如权利要求4所述的基于云管理平台的虚拟机网络安全管理方法,其特征是,安全管理平台为虚拟机制定访问规则时,借助OpenStack REST API securit_group_rules,指定的参数,包括:标识id,输入端口from_port,IP协议ip_protocol,IP地址范围ip_range,输出端口to_port,其中,标识id表示当前规则所归属的securit group,ip_range中的无类域间路由选择CIDR指定为某个IP或某个IP地址段;
在安全域管理和虚拟网络访问规则管理的基础上,最终实现租户网络部署,虚拟机安全规则在iptables即IP表中实现;每个子网对应一个DHCP,为该子网内虚拟机自动分配IP地址。
7.如权利要求2所述的基于云管理平台的虚拟机网络安全管理方法,其特征是,
计算节点上配置有安全功能层,所述安全功能层,包括:网络安全模块,所述网络安全模块,包括:网络拓扑结构查看单元、虚拟机安全状态查看单元、安全域创建或删除单元、为安全域添加或删除虚拟机单元、安全域间访问规则设置单元和虚拟机间访问规则设置单元。
8.如权利要求7所述的基于云管理平台的虚拟机网络安全管理方法,其特征是,
所述虚拟机安全状态查看单元,用于从OpenStack云操作系统获取虚拟机访问规则执行的结果,并分析判定虚拟机的安全状态;虚拟机的安全状态包括:未接入安全域、接入安全域、边界安全域和在线安全域,并用Undefined、Defined、Bound和Online来标识这四种安全状态;不同安全状态的虚拟机具有不同的访问权限;
未接入安全域:该状态下VM的网络访问受到限制,即VM不能够在访问网络,也不能通过网络被访问;有MAC地址,但没有IP;
接入安全域:与自身安全域内的其他虚拟机相互访问,但不具有访问域外的VM以及公共网络的功能;
边界安全域:能够与自身安全域内VM进行相互交互,与特定安全域内VM也可以交互,但不具有上网能力和对外服务功能;
在线安全域:该状态出现的VM有访问网络的需要或者对外服务的情况,该状态下的VM与自身安全域的VM交互,并具有上网和对外服务功能。
9.如权利要求7所述的基于云管理平台的虚拟机网络安全管理方法,其特征是,
所述网络拓扑结构查看单元,用于从OpenStack云操作系统获取网络信息,并进一步分析获取的网络信息,得到网络拓扑,对得到的网络拓扑进行展示;
所述安全域创建或删除单元,用于接收用户的创建安全域请求,并创建安全域;还用于接收用户的删除安全域请求,并删除安全域;
所述为安全域添加或删除虚拟机单元,用于对虚拟机间的相互能否访问进行控制;
所述安全域间访问规则设置单元,用于制定不同安全域之间的虚拟机的访问限制;
所述虚拟机间访问规则设置单元,用于控制虚拟机之间的相互访问权限。
10.如权利要求9所述的基于云管理平台的虚拟机网络安全管理方法,其特征是,
所述网络安全模块,将同一物理环境中的虚拟机通过划分若干个区域的方式将每台虚拟机的网络分隔开来,每个区域成为网络安全域,每个网络安全域内的网络设置,按虚拟机的四种安全标识状态要求结果来设置访问控制策略和边界控制策略,即通过网络IP地址对外界访问进行限制,通过标签进行安全域标签划分进行边界控制;处于相同安全域中的虚拟机共享一种安全策略,处于不同的安全域中的虚拟机,相互之间是无法进行访问的;所述安全域是指:一种子网或网络,拥有相同的安全访问控制策略以及边界控制策略,在同一系统内有相同的安全保护需求并且相互信任,且相同的网络安全域共享一样的安全策略。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811037214.0A CN109254831B (zh) | 2018-09-06 | 2018-09-06 | 基于云管理平台的虚拟机网络安全管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811037214.0A CN109254831B (zh) | 2018-09-06 | 2018-09-06 | 基于云管理平台的虚拟机网络安全管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109254831A true CN109254831A (zh) | 2019-01-22 |
CN109254831B CN109254831B (zh) | 2020-05-29 |
Family
ID=65047315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811037214.0A Expired - Fee Related CN109254831B (zh) | 2018-09-06 | 2018-09-06 | 基于云管理平台的虚拟机网络安全管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109254831B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110233837A (zh) * | 2019-06-06 | 2019-09-13 | 上海思询信息科技有限公司 | 一种基于云平台用户网络安全结构 |
CN110417741A (zh) * | 2019-06-28 | 2019-11-05 | 苏州浪潮智能科技有限公司 | 一种过滤安全组的方法和装置 |
CN110474913A (zh) * | 2019-08-20 | 2019-11-19 | 福建伊时代信息科技股份有限公司 | 一种云环境下的虚拟化防护方法及终端 |
CN111131212A (zh) * | 2019-12-17 | 2020-05-08 | 紫光云(南京)数字技术有限公司 | 一种基于OpenStack绑定安全组方法 |
CN111221655A (zh) * | 2020-01-08 | 2020-06-02 | 山东汇贸电子口岸有限公司 | 管理OpenStack平台的资源的方法及装置 |
CN112398960A (zh) * | 2019-08-16 | 2021-02-23 | 中移(苏州)软件技术有限公司 | 一种网络创建方法、设备、装置和计算机存储介质 |
CN113467988A (zh) * | 2020-03-30 | 2021-10-01 | 阿里巴巴集团控股有限公司 | 容灾系统的处理方法、装置和系统 |
CN113472563A (zh) * | 2021-05-13 | 2021-10-01 | 新华三大数据技术有限公司 | 一种网络配置下发方法及装置 |
CN113810283A (zh) * | 2021-09-16 | 2021-12-17 | 中国联合网络通信集团有限公司 | 网络安全配置方法、装置、服务器及存储介质 |
CN113821268A (zh) * | 2020-06-18 | 2021-12-21 | 复旦大学 | 一种与OpenStack Neutron融合的Kubernetes网络插件方法 |
CN114363226A (zh) * | 2021-12-27 | 2022-04-15 | 北京安博通科技股份有限公司 | 一种基于虚拟化复杂网络场景中设备自动测试方法和系统 |
CN115102720A (zh) * | 2022-05-31 | 2022-09-23 | 苏州浪潮智能科技有限公司 | 虚拟机安全管理方法、系统和计算机设备 |
US11456987B1 (en) | 2021-05-07 | 2022-09-27 | State Farm Mutual Automobile Insurance Company | Systems and methods for automatic internet protocol address management |
CN115801391A (zh) * | 2022-11-14 | 2023-03-14 | 浪潮云信息技术股份公司 | 一种使用Openstack安全组纳管云物理主机的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100180266A1 (en) * | 2009-01-14 | 2010-07-15 | Microsoft Corporation | Multi Level Virtual Function Tables |
CN103457933A (zh) * | 2013-08-15 | 2013-12-18 | 中电长城网际系统应用有限公司 | 一种虚拟机迁移安全策略动态配置系统和方法 |
CN103607308A (zh) * | 2013-11-29 | 2014-02-26 | 杭州东信北邮信息技术有限公司 | 云计算环境下的虚拟机多网络管理系统和方法 |
CN105491061A (zh) * | 2015-12-30 | 2016-04-13 | 中电长城网际系统应用有限公司 | 一种访问控制系统及其方法 |
-
2018
- 2018-09-06 CN CN201811037214.0A patent/CN109254831B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100180266A1 (en) * | 2009-01-14 | 2010-07-15 | Microsoft Corporation | Multi Level Virtual Function Tables |
CN103457933A (zh) * | 2013-08-15 | 2013-12-18 | 中电长城网际系统应用有限公司 | 一种虚拟机迁移安全策略动态配置系统和方法 |
CN103607308A (zh) * | 2013-11-29 | 2014-02-26 | 杭州东信北邮信息技术有限公司 | 云计算环境下的虚拟机多网络管理系统和方法 |
CN105491061A (zh) * | 2015-12-30 | 2016-04-13 | 中电长城网际系统应用有限公司 | 一种访问控制系统及其方法 |
Non-Patent Citations (2)
Title |
---|
张杰: "基于OpenStack的安全认证研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
王景学: "云计算虚拟机防护系统设计与实现", 《中国优秀硕士论文全文数据库信息科技辑》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110233837A (zh) * | 2019-06-06 | 2019-09-13 | 上海思询信息科技有限公司 | 一种基于云平台用户网络安全结构 |
CN110417741B (zh) * | 2019-06-28 | 2022-07-12 | 苏州浪潮智能科技有限公司 | 一种过滤安全组的方法和装置 |
CN110417741A (zh) * | 2019-06-28 | 2019-11-05 | 苏州浪潮智能科技有限公司 | 一种过滤安全组的方法和装置 |
CN112398960A (zh) * | 2019-08-16 | 2021-02-23 | 中移(苏州)软件技术有限公司 | 一种网络创建方法、设备、装置和计算机存储介质 |
CN110474913A (zh) * | 2019-08-20 | 2019-11-19 | 福建伊时代信息科技股份有限公司 | 一种云环境下的虚拟化防护方法及终端 |
CN111131212A (zh) * | 2019-12-17 | 2020-05-08 | 紫光云(南京)数字技术有限公司 | 一种基于OpenStack绑定安全组方法 |
CN111221655B (zh) * | 2020-01-08 | 2023-04-07 | 山东汇贸电子口岸有限公司 | 管理OpenStack平台的资源的方法及装置 |
CN111221655A (zh) * | 2020-01-08 | 2020-06-02 | 山东汇贸电子口岸有限公司 | 管理OpenStack平台的资源的方法及装置 |
CN113467988A (zh) * | 2020-03-30 | 2021-10-01 | 阿里巴巴集团控股有限公司 | 容灾系统的处理方法、装置和系统 |
CN113821268A (zh) * | 2020-06-18 | 2021-12-21 | 复旦大学 | 一种与OpenStack Neutron融合的Kubernetes网络插件方法 |
CN113821268B (zh) * | 2020-06-18 | 2024-06-04 | 复旦大学 | 一种与OpenStack Neutron融合的Kubernetes网络插件方法 |
US12113769B2 (en) | 2021-05-07 | 2024-10-08 | State Farm Mutual Automobile Insurance Company | Systems and methods for automatic internet protocol address management |
US11456987B1 (en) | 2021-05-07 | 2022-09-27 | State Farm Mutual Automobile Insurance Company | Systems and methods for automatic internet protocol address management |
CN113472563B (zh) * | 2021-05-13 | 2023-12-26 | 新华三大数据技术有限公司 | 一种网络配置下发方法及装置 |
CN113472563A (zh) * | 2021-05-13 | 2021-10-01 | 新华三大数据技术有限公司 | 一种网络配置下发方法及装置 |
CN113810283A (zh) * | 2021-09-16 | 2021-12-17 | 中国联合网络通信集团有限公司 | 网络安全配置方法、装置、服务器及存储介质 |
CN114363226A (zh) * | 2021-12-27 | 2022-04-15 | 北京安博通科技股份有限公司 | 一种基于虚拟化复杂网络场景中设备自动测试方法和系统 |
CN114363226B (zh) * | 2021-12-27 | 2024-03-01 | 北京安博通科技股份有限公司 | 一种基于虚拟化复杂网络场景中设备自动测试方法和系统 |
CN115102720B (zh) * | 2022-05-31 | 2023-08-11 | 苏州浪潮智能科技有限公司 | 虚拟机安全管理方法、系统和计算机设备 |
CN115102720A (zh) * | 2022-05-31 | 2022-09-23 | 苏州浪潮智能科技有限公司 | 虚拟机安全管理方法、系统和计算机设备 |
CN115801391A (zh) * | 2022-11-14 | 2023-03-14 | 浪潮云信息技术股份公司 | 一种使用Openstack安全组纳管云物理主机的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109254831B (zh) | 2020-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109254831A (zh) | 基于云管理平台的虚拟机网络安全管理方法 | |
CN109067828B (zh) | 基于Kubernetes和OpenStack容器云平台多集群构建方法、介质、设备 | |
CN109067827B (zh) | 基于Kubernetes和OpenStack容器云平台多租户构建方法、介质、设备 | |
US11418512B2 (en) | Method for virtual machine to access physical server in cloud computing system, apparatus, and system | |
CN105657081B (zh) | 提供dhcp服务的方法、装置及系统 | |
CN102571698B (zh) | 一种虚拟机访问权限的控制方法、系统及装置 | |
Soulé et al. | Merlin: A language for provisioning network resources | |
CN105579965B (zh) | 经由提供商定义接口的客户端驻地资源控制 | |
JP4788711B2 (ja) | ワークフロー実行システム、ワークフロー実行方法、及び、プログラム | |
CN103346981B (zh) | 虚拟交换方法、相关装置和计算机系统 | |
CN103946834B (zh) | 虚拟网络接口对象 | |
CN110430259A (zh) | 数据服务系统、服务器和计算机可读存储介质 | |
JP4567293B2 (ja) | ファイルサーバ | |
CN105379185B (zh) | 用于创建和管理网络群组的方法和系统 | |
CN105684357A (zh) | 虚拟机中地址的管理 | |
JP2013097394A (ja) | ネットワークシステムの管理方法、ネットワークシステム及び管理サーバ | |
CN107153565A (zh) | 配置资源的方法及其网络设备 | |
KR20200126794A (ko) | 블록체인 기반의 인증을 위한 컨테이너 클러스터 시스템 | |
US9686237B2 (en) | Secure communication channel using a blade server | |
US10333901B1 (en) | Policy based data aggregation | |
JP2013239867A (ja) | 管理サーバおよび検証方法 | |
US20160057206A1 (en) | Application profile to configure and manage a software defined environment | |
CN107979614A (zh) | 数据包检测方法及装置 | |
CN109445912A (zh) | 一种虚拟机的配置方法、配置系统及sdn控制器 | |
CN111818081A (zh) | 虚拟加密机管理方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200529 |
|
CF01 | Termination of patent right due to non-payment of annual fee |