CN112748985B - 拟态应用的网络隔离方法、装置、计算机设备和存储介质 - Google Patents

拟态应用的网络隔离方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN112748985B
CN112748985B CN202011633883.1A CN202011633883A CN112748985B CN 112748985 B CN112748985 B CN 112748985B CN 202011633883 A CN202011633883 A CN 202011633883A CN 112748985 B CN112748985 B CN 112748985B
Authority
CN
China
Prior art keywords
virtual machine
network
executable
cloud computing
application
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.)
Active
Application number
CN202011633883.1A
Other languages
English (en)
Other versions
CN112748985A (zh
Inventor
孔飞
刘文彦
池瑞清
李晓娟
胡艺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Network Communication and Security Zijinshan Laboratory
Original Assignee
Network Communication and Security Zijinshan Laboratory
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Network Communication and Security Zijinshan Laboratory filed Critical Network Communication and Security Zijinshan Laboratory
Priority to CN202011633883.1A priority Critical patent/CN112748985B/zh
Publication of CN112748985A publication Critical patent/CN112748985A/zh
Application granted granted Critical
Publication of CN112748985B publication Critical patent/CN112748985B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Abstract

本申请涉及一种拟态应用的网络隔离方法、装置、计算机设备和存储介质。方法包括:接收拟态应用创建请求;发送网络创建请求至云计算平台,网络创建请求用于指示云计算平台为拟态应用创建单独的虚拟机网络;根据拟态应用的应用属性,选择执行体虚拟机镜像组合;发送执行体虚拟机部署请求至云计算平台,执行体虚拟机部署请求用于指示云计算平台创建与执行体虚拟机镜像组合对应的执行体虚拟机组合中的每个执行体虚拟机,并将执行体虚拟机组合中的全部执行体虚拟机部署到虚拟机网络中。采用本方法能够提升云计算技术的使用安全性。

Description

拟态应用的网络隔离方法、装置、计算机设备和存储介质
技术领域
本申请涉及云计算技术领域,特别是涉及一种拟态应用的网络隔离方法、装置、计算机设备和存储介质。
背景技术
近年来,云计算技术得到了迅速发展和广泛应用。云计算管理平台以虚拟化技术为基础,整合基础设施虚拟化后的计算、网络和存储资源,向用户提供弹性服务,大大提高了资源的利用效率。OpenStack云计算平台作为开源云服务项目的代表之一,形成了具有数以千计的开发者的活跃社区,拥有广泛的用户群体和市场占用空间。
然而,虚拟化的基础设施存在基础设施同质化、安全边界趋于模糊、攻击目标更聚焦、内在威胁易滋生等安全威胁新特征,安全问题日益突出。OpenStack作为开源软件,其源码漏洞容易被攻击者获取。攻击者通过OpenStack的源码漏洞,容易侵入OpenStack云计算平台中,窃取用户数据、篡改信息、传播病毒甚至发动大规模的云攻击,导致在OpenStack云计算平台的云资源使用安全性较低。
发明内容
基于此,有必要针对现有云计算管理平台上的云资源使用安全性较低的技术问题,提供一种拟态应用的网络隔离方法、装置、计算机设备和存储介质。
在一方面,提供一种拟态应用的网络隔离方法,包括:
接收拟态应用创建请求;
发送网络创建请求至云计算平台,网络创建请求用于指示云计算平台为拟态应用创建单独的虚拟机网络;
根据拟态应用的应用属性,选择执行体虚拟机镜像组合;
发送执行体虚拟机部署请求至云计算平台,执行体虚拟机部署请求用于指示云计算平台创建与执行体虚拟机镜像组合对应的执行体虚拟机组合中的每个执行体虚拟机,并将执行体虚拟机组合中的全部执行体虚拟机部署到虚拟机网络中。
在另一方面,提供一种拟态应用的网络隔离装置,包括:
应用创建请求接收模块,用于接收拟态应用创建请求;
网络创建模块,用于发送网络创建请求至云计算平台,网络创建请求用于指示云计算平台为拟态应用创建单独的虚拟机网络;
执行体虚拟机镜像组合选择模块,用于根据拟态应用的应用属性,选择执行体虚拟机镜像组合;
执行体虚拟机部署模块,用于发送执行体虚拟机部署请求至云计算平台,执行体虚拟机部署请求用于指示云计算平台创建与执行体虚拟机镜像组合对应的执行体虚拟机组合中的每个执行体虚拟机,并将执行体虚拟机组合中的全部执行体虚拟机部署到虚拟机网络中。
在另一方面,提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现如下步骤:
接收拟态应用创建请求;
发送网络创建请求至云计算平台,网络创建请求用于指示云计算平台为拟态应用创建单独的虚拟机网络;
根据拟态应用的应用属性,选择执行体虚拟机镜像组合;
发送执行体虚拟机部署请求至云计算平台,执行体虚拟机部署请求用于指示云计算平台创建与执行体虚拟机镜像组合对应的执行体虚拟机组合中的每个执行体虚拟机,并将执行体虚拟机组合中的全部执行体虚拟机部署到虚拟机网络中。
在另一方面,提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如下步骤:
接收拟态应用创建请求;
发送网络创建请求至云计算平台,网络创建请求用于指示云计算平台为拟态应用创建单独的虚拟机网络;
根据拟态应用的应用属性,选择执行体虚拟机镜像组合;
发送执行体虚拟机部署请求至云计算平台,执行体虚拟机部署请求用于指示云计算平台创建与执行体虚拟机镜像组合对应的执行体虚拟机组合中的每个执行体虚拟机,并将执行体虚拟机组合中的全部执行体虚拟机部署到虚拟机网络中。
上述拟态应用的网络隔离方法、装置、计算机设备和存储介质,针对每个拟态应用,分别创建单独的虚拟机网络,并将该拟态应用的执行体虚拟机组合全部部署到该单独的虚拟机网络中,从而不同的拟态化网元部署在各自单独的虚拟机网络中,不同拟态化网元的虚拟机网络之间相互隔离,从而不同拟态化网元的执行体虚拟机之间不能直接跨越虚拟机网络进行通信,避免了网络攻击者的跨拟态化网元攻击,提升了云计算技术的使用安全性。
附图说明
图1为一个实施例中拟态应用的网络隔离方法的应用环境图;
图2为另一个实施例中拟态应用的网络隔离方法的应用环境图;
图3为一个实施例中拟态应用的网络隔离方法的流程示意图;
图4为一个实施例中拟态化网元执行体虚拟机网络架构图;
图5为另一个实施例中拟态应用的网络隔离方法的流程示意图;
图6为另一个实施例中拟态应用的网络隔离方法的流程示意图;
图7为另一个实施例中拟态化网元执行体虚拟机网络架构图;
图8为一个实施例中shell脚本文件伪代码图;
图9为另一个实施例中拟态应用的网络隔离方法的流程示意图;
图10为另一个实施例中拟态应用的网络隔离方法的流程示意图;
图11为另一个实施例中拟态化网元执行体虚拟机网络架构图;
图12为另一个实施例中拟态应用的网络隔离方法的流程示意图;
图13为另一个实施例中拟态化网元执行体虚拟机网络架构图;
图14为一个实施例中拟态应用的网络隔离装置的结构框图;
图15为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的拟态应用的网络隔离方法,可以应用于如图1所示的应用环境中。其中,拟态管理系统110通过网络与云计算平台120进行通信,拟态管理系统110与管理终端130通信连接,一个或多个用户终端140可通过输入/输出(I/O)业务代理模块访问云计算平台120,该I/O业务代理模块可以部署在拟态管理系统110中,或者也可以作为虚拟机方式部署在云计算平台120中。管理员可通过管理终端130输入拟态应用创建请求,管理终端130根据管理员的输入生成拟态应用创建请求,并将拟态应用创建请求发送至拟态管理系统110,拟态管理系统110执行本申请任意实施例的拟态应用的网络隔离方法,以控制云计算平台120为该拟态应用创建和部署对应的拟态化网元,该拟态化网元包括由一个或多个执行体虚拟机构成的执行体虚拟机组合。其中,管理终端130和用户终端140可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和专用设备等,拟态管理系统110和云计算平台120均可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
本领域技术人员可以理解,以上图1中所示的应用环境仅为示例,本领域技术人员可以根据本申请公开的实施例得到更多的变形,本申请拟态应用的网络隔离方法的应用环境还可以包括比图1更多或更少的组成部分,这些都应当包含在本申请的保护范围内。
例如,如图2所示,当I/O业务代理采用独立部署方式(下文中将详细描述)的情况下,I/O业务代理模块部署在拟态管理系统110中,本申请一个实施例的拟态管理系统110可以包括拟态控制服务器111、拟态管理界面服务器112和I/O业务代理服务器113。拟态控制服务器111分别与拟态管理界面服务器112和I/O业务代理服务器113通信连接,拟态管理界面服务器112与管理终端130通信连接,I/O业务代理服务器113通过网络与用户终端140通信连接。
以将云计算平台120实施为OpenStack云计算平台为例,在云计算平台120中,部署有OpenStack云计算平台软件,OpenStack云计算平台的底层云基础设施按操作系统、CPU架构异构性划分有多个不同的异构计算资源池,每个计算资源池中可以包括多个计算节点,每个计算节点上可以创建和部署多个执行体虚拟机(Virtual Machine,VM)。在封装拟态化网元时,一个拟态化网元包括的多个执行体虚拟机可以根据需求分散部署在不同计算资源池的多个不同计算节点上。
拟态控制服务器111中安装部署有拟态化反馈和控制模块软件,拟态化反馈和控制模块包含拟态化封装模块、通信与控制模块和数据库等组件。拟态控制服务器111可通过OpenStack云计算平台的管理网络与OpenStack云计算平台的控制节点进行对接,并可通过OpenStack云计算平台提供的应用程序接口(Application Programming Interface,API)(OpenStack API)调用OpenStack云计算平台提供的各种功能。
拟态管理界面服务器112中安装部署有拟态云管理界面软件,以向管理终端130的管理员提供网页用户界面(User Interface,UI)服务,拟态云管理界面通过拟态化封装模块对外暴露的Restful API访问拟态化封装模块,进行拟态应用的增加(Create)、检索(Retrieve)、更新(Update)和删除(Delete),即CRUD操作。作为一种变形,也可以不设置单独的拟态管理界面服务器112,而是将拟态云管理界面软件集成在拟态控制服务器111中。
I/O业务代理服务器113中安装部署有I/O业务代理模块软件,I/O业务代理模块对用户终端140提供拟态化网元的唯一访问入口,用户终端140经过I/O业务代理模块访问拟态化网元。I/O业务代理模块对各执行体虚拟机的应答结果进行裁决,当裁决为正常状态时将该应答结果返回给用户终端140,将裁决的异常状态通过套接字(socket)上报给拟态控制服务器111中的通信与控制模块进行处理,通信与控制模块通过该处理,将云计算平台120中异常状态的执行体虚拟机替换为正常状态的执行体虚拟机。作为一种变形,也可以不设置单独的I/O业务代理服务器113,而是将I/O业务代理模块集成在拟态控制服务器111中。
在一个实施例中,提供了一种拟态应用的网络隔离方法,以该方法应用于图1和图2中的拟态管理系统110为例进行说明,如图3所示,该方法包括以下步骤:
步骤S100,拟态管理系统从管理终端接收拟态应用创建请求。
在本步骤中,例如,管理员可以通过管理终端130的网页UI服务输入拟态应用1创建信息,管理终端130生成并发送拟态应用1创建请求至拟态管理系统110的拟态化封装模块,从而拟态管理系统110从管理终端130接收拟态应用1创建请求。
步骤S200,拟态管理系统发送网络创建请求至云计算平台,网络创建请求用于指示云计算平台为拟态应用创建单独的虚拟机网络。
在本步骤中,例如,拟态管理系统110的拟态化封装模块为该拟态应用1调用OpenStack Neutron API,以发送网络创建请求至云计算平台120,以指示云计算平台120为该拟态应用1创建单独的虚拟机网络以及对应的子网。示例地,在图4中,拟态应用1的虚拟机网络是VXLAN1二层虚拟网络;在其他示例中,虚拟机网络例如也可以是VLAN二层虚拟网络。
步骤S300,拟态管理系统根据拟态应用的应用属性,选择执行体虚拟机镜像组合。
在创建拟态应用之前,管理终端130预先在云计算平台120中存储有执行体虚拟机镜像集合。具体地,可以通过拟态管理系统110在云计算平台120中存储有该执行体虚拟机镜像集合,并且将该执行体虚拟机镜像集合中各个执行体虚拟机镜像的镜像信息存储在拟态管理系统110的数据库中。替代地,管理终端130也可以直接在云计算平台120中存储有该执行体虚拟机镜像集合,并且将该执行体虚拟机镜像集合中各个执行体虚拟机镜像的镜像信息存储在云计算平台120中,拟态管理系统110在需要使用这些镜像信息时,拟态管理系统110可通过调用云计算平台120的接口来获取执行体虚拟机镜像集合中各个执行体虚拟机镜像的镜像信息。
在创建各个拟态应用之前,拟态管理系统110预先进行初始化,拟态管理系统110从本端数据库中获取执行体虚拟机镜像集合的所有镜像信息,或者是通过GLANCE API从云计算平台120获取预先存储在云计算平台的执行体虚拟机镜像集合的所有镜像信息,镜像信息可以包括各个镜像的名称、所属拟态应用类型、OS、CPU架构、服务端口等相关属性。拟态管理系统110的拟态化封装模块通过NOVA API从云计算平台获取云计算平台的计算资源池信息,并根据特定的拟态算法为每种拟态应用类型,组合创建成多个异构的执行体虚拟机镜像组合,每个异构执行体虚拟机镜像组合包括选择的执行体虚拟机镜像的镜像参数(通过该镜像参数,云计算平台就可以调取到对应的执行体虚拟机镜像,镜像参数例如可以是镜像标识)以及这些执行体镜像的部署位置信息。每种拟态应用类型,都可以有多种异构执行体虚拟机镜像组合,这些异构执行体虚拟机镜像组合会根据异构度划分出不同的安全等级,然后将这些信息存储在拟态管理系统110的数据库中,以备创建每个拟态应用时调取使用。
在本步骤中,例如,拟态管理系统110的拟态化封装模块可以从数据库中读取到该拟态应用1对应的所有可供选择的执行体虚拟机镜像组合的信息,并根据该拟态应用1的应用类型、安全等级等应用属性,所有可供选择的执行体虚拟机镜像组合中为该拟态应用1选择一个合适的执行体虚拟机镜像组合1。具体地,可以先根据该拟态应用1的应用类型从数据库中确定与该该拟态应用1的应用类型匹配的一个或多个执行体虚拟机镜像组合,然后从这些执行体虚拟机镜像组合中,选择与当前的安全等级匹配的一个或多个执行体虚拟机镜像组合,最后从与当前的安全等级匹配的这些执行体虚拟机镜像组合中,选择部署成本最低的一个执行体虚拟机镜像组合,作为本步骤中最终选择的执行体虚拟机镜像组合1。该执行体虚拟机镜像组合1中可以包括一个或多个执行体虚拟机镜像的镜像参数和部署位置信息。每个执行体虚拟机镜像可用于对应创建一个执行体虚拟机。示例地,在图4中,拟态应用1的执行体虚拟机镜像组合1对应于执行体虚拟机VM1a和VM1b。
步骤S400,拟态管理系统发送执行体虚拟机部署请求至云计算平台,执行体虚拟机部署请求用于指示云计算平台创建与执行体虚拟机镜像组合对应的执行体虚拟机组合中的每个执行体虚拟机,并将执行体虚拟机组合中的全部执行体虚拟机部署到虚拟机网络中。
在本步骤中,拟态管理系统110的拟态化封装模块调用OpenStack Nova API,以发送执行体虚拟机部署请求至云计算平台120,该执行体虚拟机部署请求可以包括步骤S300中选择的执行体虚拟机镜像组合中各个执行体虚拟机镜像的镜像参数、各个执行体虚拟机镜像的部署位置信息(部署位置信息可以包括计算资源池标识)和虚拟机网络参数,以指示云计算平台120将执行体虚拟机镜像组合1对应的各个执行体虚拟机分别创建和部署到对应的异构计算资源池中,并使得执行体虚拟机镜像组合1对应的全部执行体虚拟机均部署到步骤S200中创建的同一虚拟机网络中。在图4中,拟态应用1的执行体虚拟机镜像组合1对应的执行体虚拟机VM1a和VM1b均部署到VXLAN1中。
在完成对该拟态应用选择的执行体虚拟机镜像组合对应的执行体虚拟机组合中所有执行体虚拟机的创建和部署之后,即完成对该拟态应用的拟态化网元的封装和部署。
上述步骤S100-S400为对单个拟态应用的部署过程,当需要部署多个拟态应用时,针对每个拟态应用,重复执行步骤S100-S400,从而可以实现对每个拟态应用的部署,并且每个拟态应用的执行体虚拟机组合分别部署在各自不同的虚拟机网络中。例如,当需要创建拟态应用2时,重复执行步骤S100-S400,以将拟态应用2的执行体虚拟机VM2a和VM2b均部署到其虚拟机网络VXLAN2中。
以分别创建拟态应用1和拟态应用2为例,根据上述实施例的拟态应用的网络隔离方法,可以得到如图4中所示的拟态化网元执行体虚拟机网络架构。其中拟态应用1封装得到的拟态化网元1可以包括VM1a和VM1b,拟态应用2封装得到的拟态化网元2可以包括VM2a和VM2b。VM1a和VM2a布置在计算节点a上,VM1b和VM2b布置在计算节点b上。VM1a和VM1b布置在单独的虚拟机网络VXLAN1中,该VXLAN1配备有相应的虚拟交换机br-net1;VM2a和VM2b布置在单独的虚拟机网络VXLAN2中,该VXLAN2配备有相应的虚拟交换机br-net2。计算节点a上的不同虚拟机网络VXLAN1和VXLAN2通过二者各自的虚拟交换机br-net1和br-net2以计算节点a上的执行体虚拟机内部网络接口网卡eth1作为VTEP(VXLAN Tunnel End Point)。计算节点b上与计算节点a上同理地配置有管理网络接口网卡eth0和执行体虚拟机内部网络接口网卡eth1。不同计算节点a和计算节点b各自的管理网络接口网卡eth0连接至同一管理网络交换机,并且不同计算节点a和计算节点b各自的执行体虚拟机内部网络接口网卡eth1连接至同一执行体虚拟机内部网络交换机。可以理解,在本申请实施例中,所列举的拟态应用的数目和每个拟态应用所具有的执行体虚拟机的数目仅为示例,在其他示例中,还可以具有更多或更少的拟态应用的数目或执行体虚拟机的数目。
本申请的上述拟态应用的网络隔离方法,针对每个拟态应用,分别创建单独的虚拟机网络,并将该拟态应用的执行体虚拟机组合全部部署到该单独的虚拟机网络中,从而不同的拟态化网元部署在各自单独的虚拟机网络中,不同拟态化网元的虚拟机网络之间相互隔离,从而不同拟态化网元的执行体虚拟机之间不能直接跨越虚拟机网络进行通信,避免了网络攻击者的跨拟态化网元攻击,提升了云计算技术的使用安全性。
在一个实施例中,如图5所示,上述步骤S400包括:拟态管理系统依次针对执行体虚拟机镜像组合中的每个执行体虚拟机镜像,创建和部署对应的执行体虚拟机,直至完成对执行体虚拟机镜像组合对应的执行体虚拟机组合中所有执行体虚拟机的创建和部署。创建和部署对应的执行体虚拟机包括:步骤S410,拟态管理系统设置当前执行体虚拟机镜像对应的执行体虚拟机的内网访问控制参数,根据内网访问控制参数、虚拟机网络参数、当前执行体虚拟机镜像的镜像参数以及当前执行体虚拟机镜像的部署位置信息,控制云计算平台基于当前执行体虚拟机镜像创建执行体虚拟机并将执行体虚拟机部署到虚拟机网络中。
在本实施例中,拟态管理系统110依次对执行体虚拟机镜像组合对应的执行体虚拟机组合中每个执行体虚拟机逐一执行创建和部署,并将当前执行体虚拟机部署到虚拟机网络中,直至执行体虚拟机镜像组合对应的全部执行体虚拟机部署完毕,从而完整有序地将同一拟态化网元的所有执行体虚拟机部署到同一虚拟机网络中。
在一个实施例中,在步骤S400之后,方法还可以包括:拟态管理系统将拟态应用的拟态封装信息保存在拟态管理系统的数据库中,拟态封装信息包括拟态应用的与虚拟机网络和执行体虚拟机组合有关的信息。
其中,拟态封装信息可以包括任何与拟态化网元封装的有关的信息,其具体可以根据实际需要设置。拟态封装信息可以包括例如虚拟机网络的名称、标识(Identity,ID)、子网的ID、子网配置的互联网协议(Internet Protocol,IP)地址池等与该拟态应用对应的虚拟机网络有关的信息,以及可以包括例如执行体虚拟机的数量、名称、ID、IP地址、所在的计算节点信息、所在的计算资源池的信息、镜像、操作系统(Operating System,OS)、中央处理单元(Central Processing Unit,CPU)结构、运行状态、角色等与该拟态应用对应的执行体虚拟机组合相关的信息。通过将拟态封装信息保存在数据库中,可以方便在需要时对这些数据进行调取和使用。
在一个实施例中,如图6所示,步骤S410包括:
S411,拟态管理系统为当前执行体虚拟机创建安全组策略参数,安全组策略参数用于在执行体虚拟机所在的计算节点上为该执行体虚拟机创建安全组策略。
在一个实施例中,该安全组策略的规则配置为仅允许I/O业务代理与执行体虚拟机中业务应用服务端口之间的双向流量通过。具体地,在一个实施例中,安全组策略的规则配置为仅允许源互联网协议地址为输入/输出业务代理互联网协议、目的端口为执行体虚拟机中业务应用服务端口、协议类型为执行体虚拟机的应用传输协议类型的访问流量进入执行体虚拟机,并且仅允许目的互联网协议地址为输入/输出业务代理互联网协议的外出流量从执行体虚拟机流出。
在本步骤中,以当前创建的拟态应用为拟态应用1,当前执行体虚拟机为VM1a为例,拟态化封装单元针对执行体虚拟机组合中的当前执行体虚拟机VM1a,获取I/O业务代理模块的I/O业务代理IP,利用该I/O业务代理IP,调用Neutron API创建执行体虚拟机VM1a的安全组策略Security Group1a,并将Security Group1a的规则配置为仅允许I/O业务代理与执行体虚拟机VM1a中业务应用服务端口之间的双向流量通过。
具体地,在一个实施例中,安全组策略Security Group1a的规则配置为:在ingress方向(即进入执行体虚拟机VM1a的方向),仅允许源IP地址为I/O业务代理IP、目的端口为执行体虚拟机VM1a中业务应用服务端口、协议类型为执行体虚拟机VM1a的应用传输协议类型的访问流量通过,并且在engress方向(即从执行体虚拟机VM1a流出的方向),仅允许目的IP地址为I/O业务代理IP的外出流量通过。
S412,拟态管理系统为当前执行体虚拟机创建壳脚本文件参数,壳脚本文件参数用于在执行体虚拟机上创建壳脚本文件,壳脚本文件在执行体虚拟机初始化时运行,壳脚本文件包含本机IP获取命令、IP信息包过滤系统配置命令和应用层访问控制程序配置命令;IP信息包过滤系统配置命令用于在当前执行体虚拟机上创建IP信息包过滤系统和应用层访问控制程序。
在一个实施例中,IP信息包过滤系统的规则配置为仅允许I/O业务代理与执行体虚拟机中业务应用服务端口之间的双向流量通过,应用层访问控制程序的规则配置为仅允许来自I/O业务代理的访问流量通过。具体地,在一个实施例中,互联网协议信息包过滤系统的规则配置为仅允许源互联网协议地址为输入/输出业务代理互联网协议、目的端口为执行体虚拟机中业务应用服务端口、协议类型为执行体虚拟机的应用传输协议类型的访问流量进入执行体虚拟机,并且仅允许目的互联网协议地址为输入/输出业务代理互联网协议的外出流量从执行体虚拟机流出。应用层访问控制程序的规则配置为仅允许源互联网协议地址为输入/输出业务代理互联网协议的访问流量通过访问。
在本步骤中,创建壳脚本文件(shell脚本文件),shell脚本文件中包含本机IP获取命令、IP信息包过滤系统配置命令以及应用层访问控制程序配置命令,IP信息包过滤系统配置命令用于在当前执行体VM1a上创建IP信息包过滤系统,并将IP信息包过滤系统的规则配置为仅允许I/O业务代理与执行体虚拟机VM1a中业务应用服务端口之间的双向流量通过,应用层访问控制程序配置命令用于在当前执行体VM1a上创建应用层访问控制程序,并将应用层访问控制程序的规则配置为仅允许来自I/O业务代理的访问流量通过。
具体地,在一个实施例中,以IP信息包过滤系统为iptables,应用层访问控制程序为tcp wapper为例,iptables配置命令用于先清除iptables所有链的规则,将iptables所有链(包括INPUT链、FORWARD链和OUTPUT链)的默认规则设置为DROP,即拒绝所有流量;然后将iptables的规则配置为:在INPUT链(即进入执行体虚拟机VM1a的方向),仅允许源IP地址为I/O业务代理IP、目的端口为执行体虚拟机VM1a中业务应用服务端口、协议类型为执行体虚拟机VM1a的应用传输协议类型的访问流量通过,并且在OUTPUT链(即从执行体虚拟机VM1a流出的方向),仅允许目的IP地址为I/O业务代理IP的外出流量通过。tcp wapper配置命令用于先清除tcp wapper的规则,然后将tcp wapper的规则设置为在允许通过名单(/etc/hosts.allow)中添加I/O业务代理IP,在拒绝通过名单(/etc/hosts.deny)中添加除了I/O业务代理IP拒绝其他的访问的配置,从而将tcp wapper的规则配置为仅允许源IP地址为I/O业务代理IP的访问流量通过访问。
S413,拟态管理系统发送执行体虚拟机创建请求至云计算平台,执行体虚拟机创建请求携带安全组策略参数、壳脚本文件参数和虚拟机网络参数、当前执行体虚拟机镜像的镜像参数以及当前执行体虚拟机镜像的部署位置信息,执行体虚拟机创建请求用于指示云计算平台利用安全组策略参数、壳脚本文件参数、虚拟机网络参数、当前执行体虚拟机镜像的镜像参数以及当前执行体虚拟机镜像的部署位置信息,创建执行体虚拟机,以在执行体虚拟机所在的计算节点上为该执行体虚拟机部署安全组策略,并且在执行体虚拟机上部署IP信息包过滤系统和应用层访问控制程序,并将执行体虚拟机部署到虚拟机网络中。
在本步骤中,拟态化封装单元调用Nova API,以发送执行体虚拟机创建请求至云计算平台120,该执行体虚拟机创建请求携带shell脚本文件参数、安全组策略SecurityGroup1a参数、VXLAN1网络参数、当前执行体虚拟机镜像的镜像参数以及当前执行体虚拟机镜像的部署位置信息等参数创建执行体虚拟机VM1a,并将执行体虚拟机VM1a部署到相应的异构计算资源池的计算节点中。
在VM1a初始化时(即VM1a启动时),将运行shell脚本文件,即可以完成本执行体虚拟机VM1a内iptables、tcp wapper的访问策略配置,然后启动应用服务。
上述步骤S411-S413为对单个执行体虚拟机部署过程,对于同一执行体虚拟机组合中的各个执行体虚拟机,依次重复执行步骤S411-S413,从而可以实现对同一执行体虚拟机镜像组合对应的执行体虚拟机组合中全部执行体虚拟机的部署。例如,在完成执行体虚拟机VM1a的部署后,可以继续重复执行步骤S411-S413以完成执行体虚拟机VM1b的部署,从而完成执行体虚拟机组合1中所有执行体虚拟机VM1a和VM1b的部署。
根据本实施例的拟态应用的网络隔离方法,分别创建拟态应用1的VM1a和VM1b,以及拟态应用2的VM2a和VM2b,可以得到如图7中所示的拟态化网元执行体虚拟机网络架构。其中,图7在图4的基础上,进一步在执行体虚拟机VM1a所在的计算节点上创建安全组策略Security Group1a,并且在执行体虚拟机VM1a上创建有IP信息包过滤系统iptables和应用层访问控制程序tcp wapper;在执行体虚拟机VM1b所在的计算节点上创建安全组策略Security Group1b,并且在执行体虚拟机VM1b上创建IP信息包过滤系统iptables和应用层访问控制程序tcp wapper。图7中的其余细节均可参见上文中对图4的描述。
本实施例的上述技术方案,针对每个执行体虚拟机,分别在该执行体虚拟机所处的计算节点配置有安全组策略,并在该执行体虚拟机上配置有IP信息包过滤系统和应用层访问控制程序,这些过滤组件的规则均配置为只允许该执行体虚拟机与I/O业务代理之间的双向流量通过,从而同一拟态应用网元中的不同执行体虚拟机之间相互隔离,不同执行体虚拟机之间不能直接跨越执行体虚拟机进行通信,避免了网络攻击者的跨执行体虚拟机攻击,提升了云计算技术的使用安全性。由于分别在执行体虚拟机所处的计算节点和该执行体虚拟机上配置了过滤组件,可以实现双层过滤,进一步提升了该执行体虚拟机流量访问的安全性。
在一个实施例中,如图8所示,提供了一个实施例的上述S412步骤中创建的shell脚本文件伪代码的具体示例。该shell脚本文件,由拟态封装单元在创建异构执行体虚拟机组合时,自定义生成。通过config_drive或nova-api-metadata,携带该shell脚本文件创建执行体虚拟机,执行体虚拟机启动后,执行体虚拟机初始化模块clould-init会自动运行该脚本,以使该shell脚本文件中包含的配置命令生效。
在图8中的shell脚本文件伪代码中,PORXY_IP为I/O业务代理与执行体虚拟机网元通信使用的IP;SERVER_NAME、SERVER_PORT、SERVER_PROTOCOL为执行体虚拟机服务名称、端口、协议类型,这些应用参数,在执行体虚拟机镜像的标签中预先定义,拟态封装单元通过OpenStack Glance API可获取;HOST_IP为执行体虚拟机本机IP,需实时获取。
执行体虚拟机本机采用iptables规则实现网络隔离,采用通策略,首先清除所有规则,设置默认规则为DROP,即拒绝所有流量。
然后在INPUT和OUTPUT链仅开放I/O业务代理与本机HOST_IP、服务端口SERVER_PORT、服务类型SERVER_PROTOCOL间的双向流量。
执行体虚拟机本机采用tcp_wapper规则实现Layer 4TCP层面的访问隔离,tcp_wapper规则的前提是应用程序基于TCP协议提供服务、并且链接了libwrap库,这也需要在执行体虚拟机镜像的标签中预先定义是否可以使用tcp_wapper规则BOOL类型字段,拟态封装单元通过OpenStack Glance API可获取,如满足,则在shell脚本文件添加tcp_wapper规则,先清除tcp_wapper规则,然后在/etc/hosts.deny配置拒绝所有访问,在/etc/hosts.allow配置仅开放I/O业务代理访问。
在本申请的上述实施例中,对虚拟机网络内的执行体虚拟机的内网访问策略进行了配置,进一步地,在以下实施例中,还可以对来自外部网络侧的用户终端的访问通过I/O业务代理与执行体虚拟机之间的外网访问策略进行配置。
在一个实施例中,如图9所示,上述针对每个执行体虚拟机执行的创建和部署,还包括:步骤S420,拟态管理系统设置执行体虚拟机的外网访问控制参数,拟态管理系统根据外网访问控制参数,控制云计算平台部署执行体虚拟机的外网访问设置。
具体地,可以通过独立部署I/O业务代理以及随拟态化网元的执行体虚拟机一起部署I/O业务代理两种方式来部署I/O业务代理,相应地,其外网访问策略也有不同的部署方式。
对于外网访问,在创建拟态应用之前,管理员可以预先通过拟态管理系统110在云计算平台120中配置好相应的外网访问组件,包括:云计算平台120中配置Neutron L3agent服务,创建外部网络br-ex,该外部网络br-ex,配置外部网络br-ex的网段地址无类别域间路由(Classless Inter-Domain Routing,CIDR)、网关、IP地址分配池,再创建虚拟路由器vrouter,添加虚拟路由器vrouter的外网接口网卡eth2,同时添加外部网络br-ex到虚拟路由器vrouter作为外部网关。拟态化封装单元调用OpenStack Neutron API创建不包含任何规则的防火墙firewall,将该防火墙firewall应用到虚拟路由器vrouter,默认情况下,无规则的防火墙firewall会阻止任何跨子网的流量。在云计算平台120中配置上述外网访问组件的情况下,可以执行下述两个实施例的方案以对每个拟态应用的外网访问策略进行部署。
在一个实施例中,在接收拟态应用创建请求之前,I/O业务代理模块已经独立部署在拟态控制服务器111中。如图10所示,相应地,上述网络创建请求还用于指示云计算平台将虚拟机网络添加至执行体虚拟机所在的网络节点上的虚拟路由器。
相应地,步骤S420可以在步骤S410之后执行,步骤S420包括:
步骤S421,拟态管理系统发送第一浮动IP分配请求至云计算平台,第一浮动IP分配请求用于指示云计算平台为执行体虚拟机分配外部网络br-ex的第一浮动IP。
在本步骤中,拟态化封装单元调用OpenStack Neutron API为当前执行体虚拟机VM1a分配外部网络的第一浮动IP(Floating IP)。
步骤S422,拟态管理系统发送防火墙配置请求至云计算平台,防火墙配置请求用于指示云计算平台在虚拟路由器上的防火墙中新增规则,新增的规则配置为仅允许源IP地址为I/O业务代理IP、目的IP地址为第一浮动IP、目的端口为执行体虚拟机的应用服务端口的访问流量通过访问。
在本步骤中,拟态化封装单元发送防火墙配置请求至云计算平台120,以在虚拟路由器vrouter上的防火墙firewall中新增规则rule1,仅允许源IP地址为I/O业务代理IP,目的IP地址为步骤S421中分配的第一浮动IP(Floating ip),目的端口为执行体虚拟机VM1a的应用服务端口的流量通过访问。
根据本实施例的拟态应用的网络隔离方法,分别创建拟态应用1和拟态应用2,可以得到如图11中所示的拟态化网元执行体虚拟机网络架构。图11在图7的基础上,在网络节点上创建有外部网络br-ex以及虚拟路由器vrouter,拟态化网元1的VXLAN1和拟态化网元2的VXLAN2均加入到虚拟路由器vrouter,在网络节点上还添加了虚拟路由器vrouter的外网接口网卡eth2,并添加外部网络br-ex到虚拟路由器vrouter作为外部网关,虚拟路由器vrouter上配置有防火墙firewall。在图11中,独立部署有I/O业务代理服务器113,I/O业务代理服务器113连接用户终端140。通过外网接口网卡eth2依次连接外部网络交换机、接入路由器、防火墙,从而通过外部网络连接到I/O业务代理服务器113。图11中的其余细节均可参见上文中对图7的描述。
在本实施例的技术方案中,当外部网络侧的用户终端需要访问执行体虚拟机时,需要访问I/O业务代理模块,I/O业务代理模块通过执行体虚拟机的第一浮动IP进行相互通信,I/O业务代理经由网络节点虚拟路由器,虚拟路由器的防火墙、计算节点上的安全组策略、执行体虚拟机的IP信息包过滤系统和应用层访问控制程序过滤后,才能最终访问执行体虚拟机服务,保证了网络的安全性。
在另一个实施例中,I/O业务代理模块可以不用预先部署,而是通过以下步骤调用云计算平台120资源来为每个当前执行体虚拟机实时部署I/O业务代理。如图12所示,相应地,网络创建请求还用于指示云计算平台将虚拟机网络添加至执行体虚拟机所在的网络节点上的虚拟路由器。
相应地,步骤S420可以在步骤S410之前执行,步骤S420包括:
步骤S431,拟态管理系统根据应用属性,获取对应的I/O业务代理镜像,发送I/O业务代理创建请求至云计算平台,I/O业务代理创建请求用于指示云计算平台为当前执行体虚拟机创建I/O业务代理虚拟机,以使得I/O业务代理虚拟机所处执行体虚拟机网络为该当前执行体虚拟机的虚拟机网络;
在本步骤中,拟态化封装单元根据拟态应用类型,获取对应的I/O业务代理1(I/OProxy1)镜像,调用OpenStack Nova API携带I/O业务代理1镜像信息以创建I/O业务代理虚拟机I/O Proxy1,I/O业务代理虚拟机I/O Proxy1所处执行体虚拟机网络为VXLAN1网络。拟态化封装单元获取I/O业务代理虚拟机I/O Proxy1的IP并保存该IP,以备后续创建执行体虚拟机需要使用该IP。I/O业务代理虚拟机的IP用于访问其所属的同一拟态化网元内部的各个执行体虚拟机。在后续使用时,I/O业务代理虚拟机的IP即作为I/O业务代理IP,例如shell脚本文件中的IP信息包过滤系统配置命令中将要用到该I/O业务代理IP。
步骤S432,拟态管理系统发送第二浮动IP分配请求至云计算平台,第二浮动IP分配请求用于指示云计算平台为I/O业务代理虚拟机分配外部网络的第二浮动IP。
在本步骤中,拟态化封装单元调用OpenStack Neutron API为I/O业务代理虚拟机I/O Proxy1分配外部网络br-ex的第二浮动IP。
步骤S433,拟态管理系统发送防火墙配置请求至云计算平台,防火墙配置请求用于指示云计算平台在虚拟路由器上的防火墙中新增规则,新增的规则配置为仅允许源IP地址为来自外部网络br-ex的用户网段IP、目的IP地址为第二浮动IP、目的端口为I/O业务代理虚拟机的应用服务端口的访问流量通过访问。
在本步骤中,拟态化封装单元发送防火墙配置请求至云计算平台120,以在虚拟路由器vrouter上的防火墙firewall中新增规则rule1’,规则rule1’配置为仅允许源IP地址为外部网络br-ex用户终端的网段地址、目的IP为步骤S424中分配的第二浮动IP,目的端口为I/O业务代理虚拟机的应用服务端口的流量通过。
根据本实施例的拟态应用的网络隔离方法,分别创建拟态应用1和拟态应用2,可以得到如图13中所示的拟态化网元执行体虚拟机网络架构。图13在图7的基础上,在网络节点上创建有外部网络br-ex以及虚拟路由器vrouter,拟态化网元1的VXLAN1和拟态化网元2的VXLAN2均加入到虚拟路由器vrouter,在网络节点上还添加了虚拟路由器vrouter的外网接口网卡eth2,并添加外部网络br-ex到虚拟路由器vrouter作为外部网关,虚拟路由器vrouter上配置有防火墙firewall。与图11中不同的是,在图13中,并未独立部署I/O业务代理服务器113,外网接口网卡eth2依次连接外部网络交换机、接入路由器、防火墙,然后用户终端140可通过外部网络直接访问防火墙。替代地,在图13中,在计算节点c上为拟态化网元1布置了I/O业务代理虚拟机I/O Proxy1,并为拟态化网元2布置了I/O业务代理虚拟机I/OProxy2,I/O Proxy1布置在VXLAN1中,I/O Proxy2布置在VXLAN2中。计算节点c的VXLAN1和VXLAN2连接到计算节点c的eth1然后连接到虚拟机内部网络交换机。图13中的其余细节均可参见上文中对图7的描述。
在本实施例的技术方案中,当用户终端需要访问执行体虚拟机时,需要通过第二浮动IP访问I/O业务代理虚拟机,I/O业务代理虚拟机通过执行体虚拟机内部网络VXLAN访问同一拟态应用的异构执行体虚拟机,用户终端经由网络节点虚拟路由器,虚拟路由器的防火墙、计算节点上的安全组策略、执行体虚拟机的IP信息包过滤系统和应用层访问控制程序过滤后,才能最终访问执行体虚拟机服务,保证了网络的安全性。
应该理解的是,虽然图3、图5、图6、图9、图10、图12的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3、图5、图6、图9、图10、图12中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图14所示,提供一种拟态应用的网络隔离装置1400,包括应用创建请求接收模块1401、网络创建模块1402、执行体虚拟机镜像组合选择模块1403和执行体虚拟机部署模块1404。
应用创建请求接收模块1401,用于接收拟态应用创建请求;
网络创建模块1402,用于发送网络创建请求至云计算平台,网络创建请求用于指示云计算平台为拟态应用创建单独的虚拟机网络;
执行体虚拟机镜像组合选择模块1403,用于根据拟态应用的应用属性,选择执行体虚拟机镜像组合;
执行体虚拟机部署模块1404,用于发送执行体虚拟机部署请求至云计算平台,执行体虚拟机部署请求用于指示云计算平台创建与执行体虚拟机镜像组合对应的执行体虚拟机组合中的每个执行体虚拟机,并将执行体虚拟机组合中的全部执行体虚拟机部署到虚拟机网络中。
关于拟态应用的网络隔离装置1400的具体限定可以参见上文中对于拟态应用的网络隔离方法的限定,在此不再赘述。上述拟态应用的网络隔离装置1400中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图15所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储拟态封装信息。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种拟态应用的网络隔离方法。
本领域技术人员可以理解,图15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
接收拟态应用创建请求;
发送网络创建请求至云计算平台,网络创建请求用于指示云计算平台为拟态应用创建单独的虚拟机网络;
根据拟态应用的应用属性,选择执行体虚拟机镜像组合;
发送执行体虚拟机部署请求至云计算平台,执行体虚拟机部署请求用于指示云计算平台创建与执行体虚拟机镜像组合对应的执行体虚拟机组合中的每个执行体虚拟机,并将执行体虚拟机组合中的全部执行体虚拟机部署到虚拟机网络中。
在其他实施例中,处理器执行计算机程序时还实现如上任意实施例的拟态应用的网络隔离方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收拟态应用创建请求;
发送网络创建请求至云计算平台,网络创建请求用于指示云计算平台为拟态应用创建单独的虚拟机网络;
根据拟态应用的应用属性,选择执行体虚拟机镜像组合;
发送执行体虚拟机部署请求至云计算平台,执行体虚拟机部署请求用于指示云计算平台创建与执行体虚拟机镜像组合对应的执行体虚拟机组合中的每个执行体虚拟机,并将执行体虚拟机组合中的全部执行体虚拟机部署到虚拟机网络中。
在其他实施例中,计算机程序被处理器执行时还实现如上任意实施例的拟态应用的网络隔离方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (14)

1.一种拟态应用的网络隔离方法,所述方法包括:
接收拟态应用创建请求;
发送网络创建请求至云计算平台,所述网络创建请求用于指示所述云计算平台为所述拟态应用创建单独的虚拟机网络;
根据所述拟态应用的应用属性,选择执行体虚拟机镜像组合;
发送执行体虚拟机部署请求至所述云计算平台,所述执行体虚拟机部署请求用于指示所述云计算平台创建与所述执行体虚拟机镜像组合对应的执行体虚拟机组合中的每个执行体虚拟机,并将所述执行体虚拟机组合中的全部所述执行体虚拟机部署到所述虚拟机网络中。
2.根据权利要求1所述的方法,所述发送执行体虚拟机部署请求至所述云计算平台,所述执行体虚拟机部署请求用于指示所述云计算平台创建与所述执行体虚拟机镜像组合对应的执行体虚拟机组合中的每个执行体虚拟机,并将所述执行体虚拟机组合中的全部所述执行体虚拟机部署到所述虚拟机网络中,包括:
依次针对所述执行体虚拟机镜像组合中的每个执行体虚拟机镜像,创建和部署对应的执行体虚拟机,所述创建和部署对应的执行体虚拟机包括:
设置所述执行体虚拟机的内网访问控制参数,根据所述内网访问控制参数和所述虚拟机网络参数,控制所述云计算平台基于当前执行体虚拟机镜像创建所述执行体虚拟机并将所述执行体虚拟机部署到所述虚拟机网络中;
直至完成对所述执行体虚拟机镜像组合对应的执行体虚拟机组合中所有所述执行体虚拟机的创建和部署。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
将所述拟态应用的拟态封装信息保存在数据库中,所述拟态封装信息包括所述拟态应用的与所述虚拟机网络和所述执行体虚拟机组合有关的信息。
4.根据权利要求2所述的方法,其特征在于,所述设置所述执行体虚拟机的内网访问控制参数,根据所述内网访问控制参数和所述虚拟机网络参数,控制所述云计算平台基于当前执行体虚拟机镜像创建所述执行体虚拟机并将所述执行体虚拟机部署到所述虚拟机网络中,包括:
为所述执行体虚拟机创建安全组策略参数,所述安全组策略参数用于在所述执行体虚拟机所在的计算节点上为所述执行体虚拟机创建安全组策略;
为所述执行体虚拟机创建壳脚本文件参数,所述壳脚本文件参数用于在所述执行体虚拟机上创建壳脚本文件,所述壳脚本文件在所述执行体虚拟机初始化时运行,所述壳脚本文件用于在所述执行体虚拟机上创建互联网协议信息包过滤系统和应用层访问控制程序;
发送执行体虚拟机创建请求至所述云计算平台,所述执行体虚拟机创建请求携带所述安全组策略参数、所述壳脚本文件参数和所述虚拟机网络参数,所述执行体虚拟机创建请求用于指示所述云计算平台利用所述安全组策略参数、所述壳脚本文件参数和所述虚拟机网络参数,创建所述执行体虚拟机并将所述执行体虚拟机部署到所述虚拟机网络中。
5.根据权利要求4所述的方法,其特征在于,所述安全组策略的规则配置为仅允许输入/输出业务代理与所述执行体虚拟机中业务应用服务端口之间的双向流量通过。
6.根据权利要求4所述的方法,其特征在于,所述互联网协议信息包过滤系统的规则配置为仅允许输入/输出业务代理与所述执行体虚拟机中业务应用服务端口之间的双向流量通过,所述应用层访问控制程序的规则配置为仅允许来自输入/输出业务代理的访问流量通过。
7.根据权利要求5所述的方法,其特征在于,所述安全组策略的规则配置为仅允许源互联网协议地址为输入/输出业务代理互联网协议、目的端口为所述执行体虚拟机中业务应用服务端口、协议类型为所述执行体虚拟机的应用传输协议类型的访问流量进入所述执行体虚拟机,并且仅允许目的互联网协议地址为输入/输出业务代理互联网协议的外出流量从所述执行体虚拟机流出。
8.根据权利要求6所述的方法,其特征在于,所述互联网协议信息包过滤系统的规则配置为仅允许源互联网协议地址为输入/输出业务代理互联网协议、目的端口为所述执行体虚拟机中业务应用服务端口、协议类型为所述执行体虚拟机的应用传输协议类型的访问流量进入所述执行体虚拟机,并且仅允许目的互联网协议地址为输入/输出业务代理互联网协议的外出流量从所述执行体虚拟机流出;
所述应用层访问控制程序的规则配置为仅允许源互联网协议地址为输入/输出业务代理互联网协议的访问流量通过访问。
9.根据权利要求1至8中任一项所述的方法,其特征在于,依次针对所述执行体虚拟机镜像组合中的每个执行体虚拟机镜像执行的所述创建和部署对应的执行体虚拟机,还包括:
设置所述执行体虚拟机的外网访问控制参数,根据所述外网访问控制参数,控制所述云计算平台部署所述执行体虚拟机的外网访问设置。
10.根据权利要求9所述的方法,其特征在于,所述网络创建请求还用于指示所述云计算平台将所述虚拟机网络添加至网络节点上的虚拟路由器;
所述设置所述执行体虚拟机的外网访问控制参数,根据所述外网访问控制参数,控制所述云计算平台部署所述执行体虚拟机的外网访问设置,包括:
发送第一浮动互联网协议分配请求至所述云计算平台,所述第一浮动互联网协议分配请求用于指示所述云计算平台为所述执行体虚拟机分配外部网络的第一浮动互联网协议;
发送防火墙配置请求至所述云计算平台,所述防火墙配置请求用于指示所述云计算平台在所述虚拟路由器上的防火墙中新增规则,新增的所述规则配置为仅允许源互联网协议地址为输入/输出业务代理互联网协议、目的互联网协议地址为所述第一浮动互联网协议、目的端口为所述执行体虚拟机的应用服务端口的访问流量通过访问。
11.根据权利要求9所述的方法,其特征在于,所述网络创建请求还用于指示所述云计算平台将所述虚拟机网络添加至所述执行体虚拟机所在的网络节点上的虚拟路由器;
所述设置所述执行体虚拟机的外网访问控制参数,根据所述外网访问控制参数,控制所述云计算平台部署所述执行体虚拟机的外网访问设置,包括:
根据所述应用属性,获取对应的输入/输出业务代理镜像,发送输入/输出业务代理创建请求至所述云计算平台,所述输入/输出业务代理创建请求指示所述云计算平台创建输入/输出业务代理虚拟机,以使得所述输入/输出业务代理虚拟机所处执行体虚拟机网络为所述虚拟机网络;
发送第二浮动互联网协议分配请求至所述云计算平台,所述第二浮动互联网协议分配请求用于指示所述云计算平台为所述输入/输出业务代理虚拟机分配外部网络的第二浮动互联网协议;
发送防火墙配置请求至所述云计算平台,所述防火墙配置请求用于指示所述云计算平台在所述虚拟路由器上的防火墙中新增规则,新增的所述规则配置为仅允许源互联网协议地址为来自所述外部网络侧的用户终端网段互联网协议、目的互联网协议地址为所述第二浮动互联网协议、目的端口为所述输入/输出业务代理虚拟机的应用服务端口的访问流量通过访问。
12.一种拟态应用的网络隔离装置,其特征在于,所述装置包括:
应用创建请求接收模块,用于接收拟态应用创建请求;
网络创建模块,用于发送网络创建请求至云计算平台,所述网络创建请求用于指示所述云计算平台为所述拟态应用创建单独的虚拟机网络;
执行体虚拟机镜像组合选择模块,用于根据所述拟态应用的应用属性,选择执行体虚拟机镜像组合;
执行体虚拟机部署模块,用于发送执行体虚拟机部署请求至所述云计算平台,所述执行体虚拟机部署请求用于指示所述云计算平台创建所述执行体虚拟机镜像组合中的每个执行体虚拟机,并将所述执行体虚拟机镜像组合中的全部所述执行体虚拟机部署到所述虚拟机网络中。
13.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述的拟态应用的网络隔离方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的拟态应用的网络隔离方法的步骤。
CN202011633883.1A 2020-12-31 2020-12-31 拟态应用的网络隔离方法、装置、计算机设备和存储介质 Active CN112748985B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011633883.1A CN112748985B (zh) 2020-12-31 2020-12-31 拟态应用的网络隔离方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011633883.1A CN112748985B (zh) 2020-12-31 2020-12-31 拟态应用的网络隔离方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN112748985A CN112748985A (zh) 2021-05-04
CN112748985B true CN112748985B (zh) 2023-09-26

Family

ID=75650967

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011633883.1A Active CN112748985B (zh) 2020-12-31 2020-12-31 拟态应用的网络隔离方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN112748985B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113452830B (zh) * 2021-06-15 2022-11-01 华云数据控股集团有限公司 安卓云手机的批量控制方法、计算机可读介质及电子设备
US11463544B1 (en) * 2021-11-29 2022-10-04 Salesforce.Com, Inc. Administration of services executing in cloud platform based datacenters
CN114513372B (zh) * 2022-04-20 2022-06-28 中科星启(北京)科技有限公司 基于宿主的拟态威胁感知预警方法及系统
CN116015978B (zh) * 2023-02-13 2023-12-05 中国南方电网有限责任公司 一种基于拟态安全技术的异构冗余流量检测系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107786568A (zh) * 2017-11-03 2018-03-09 中国人民解放军信息工程大学 一种拟态云主机的自动构建装置、方法及系统
CN109656686A (zh) * 2018-12-17 2019-04-19 武汉烽火信息集成技术有限公司 OpenStack上部署容器云方法、存储介质、电子设备及系统
CN110764871A (zh) * 2019-10-11 2020-02-07 中国人民解放军战略支援部队信息工程大学 一种基于云平台的拟态化应用封装与控制系统和方法
CN110928554A (zh) * 2019-10-31 2020-03-27 北京浪潮数据技术有限公司 一种部署方法、装置、设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107786568A (zh) * 2017-11-03 2018-03-09 中国人民解放军信息工程大学 一种拟态云主机的自动构建装置、方法及系统
CN109656686A (zh) * 2018-12-17 2019-04-19 武汉烽火信息集成技术有限公司 OpenStack上部署容器云方法、存储介质、电子设备及系统
CN110764871A (zh) * 2019-10-11 2020-02-07 中国人民解放军战略支援部队信息工程大学 一种基于云平台的拟态化应用封装与控制系统和方法
CN110928554A (zh) * 2019-10-31 2020-03-27 北京浪潮数据技术有限公司 一种部署方法、装置、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于拟态防御的以太网交换机内生安全体系结构;宋克 等;《通信学报》;第第41卷卷(第第5期期);18-26页 *

Also Published As

Publication number Publication date
CN112748985A (zh) 2021-05-04

Similar Documents

Publication Publication Date Title
CN112748985B (zh) 拟态应用的网络隔离方法、装置、计算机设备和存储介质
US10581873B2 (en) Securing micro-services
CN108370368B (zh) 安全策略部署方法与装置
US8484353B1 (en) Resource placement templates for virtual networks
CN108062482B (zh) 向虚拟云基础结构提供虚拟安全装置架构的方法和装置
EP2586160B1 (en) Distributed virtual network gateways
CN108255497B (zh) 一种应用的部署方法及装置
CN106487556B (zh) 业务功能sf的部署方法及装置
US11153145B2 (en) System and method of a centralized gateway that coordinates between multiple external controllers without explicit awareness
US9686237B2 (en) Secure communication channel using a blade server
CN112491789B (zh) 一种基于OpenStack框架的虚拟防火墙构建方法及存储介质
CN115686729A (zh) 容器集群网络系统、数据处理方法、设备及计算机程序产品
CN113709052B (zh) 一种网络报文的处理方法、装置、电子设备和存储介质
CN111371608B (zh) 一种部署sfc业务链的方法、装置和介质
Krude et al. Online reprogrammable multi tenant switches
Katsikas et al. Metron: High-performance NFV service chaining even in the presence of blackboxes
CN115086166A (zh) 计算系统、容器网络配置方法及存储介质
CN114448978A (zh) 一种网络接入方法、装置、电子设备及存储介质
CN111818081B (zh) 虚拟加密机管理方法、装置、计算机设备和存储介质
CN110795209B (zh) 一种控制方法和装置
CN110430234B (zh) 一种为容器搭建并行信息传递接口集群的方法与装置
US20220083365A1 (en) Hybrid computing apparatus and hybrid computing architectures applicable to on premises, cloud, and edge computing applications
US11824874B2 (en) Application security enforcement
CN114884955A (zh) 透明代理部署系统和方法
KR102187301B1 (ko) 가상 라우터를 이용한 다중 가상 네트워크 통신 시스템 및 방법

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