一种应用于PaaS的网络隔离方法、装置以及设备与流程

文档序号:15455329发布日期:2018-09-15 00:57阅读:162来源:国知局
本申请涉及计算机
技术领域
:,尤其涉及一种应用于平台即服务(platformasaservice,paas)的网络隔离方法、装置以及设备。
背景技术
::自从以docker为代表的容器技术出现以后,it基础设施在“云化”的基础上,开始向与业务系统紧密结合的新方向发展,这一新发展方向主要以paas平台为代表。paas与以基础设施即服务(iaas)为代表的上一代“云化”技术相比,具有以下特点:不再以虚拟机的方式提供资源,以能够灵活漂移重建的容器作为资源单位;在使用上革新了传统的业务系统部署方式,以全新paas模式进行业务系统部署。目前,paas的技术方案以开源项目为主,主要有“kubernetes”、“swarm”、“marathon”等。但是,在已知的系统当中,对运行在paas上的业务系统,尚未提供有效、细粒度的网络隔离功能。技术实现要素:本申请的一些实施例提供一种应用于paas的网络隔离方法、装置以及设备,用以解决现有技术中的如下技术问题:在已知的系统当中,对运行在paas上的业务系统,尚未提供有效、细粒度的网络隔离功能。本申请的一些实施例采用下述技术方案:一种应用于paas的网络隔离方法,包括:接收用户配置的隔离策略,所述隔离策略包含:目标类型、目标名称、目标端口、目标动作、访问来源;根据所述隔离策略,生成paas平台的服务器支持的ip包过滤策略;针对所述服务器上对应的容器,设置所述ip包过滤策略;根据所述ip包过滤策略,对所述对应的容器进行网络隔离。可选地,所述接收用户配置的隔离策略,具体包括:通过前端接收用户配置的隔离策略;所述根据所述隔离策略,生成paas平台的服务器支持的ip包过滤策略,具体包括:通过所述前端将所述隔离策略转换为json文本,并将所述json文本发送给对应的后端;通过所述后端解读所述json文本,生成paas平台的服务器支持的ip包过滤策略。可选地,所述服务器上预先设置有监听控制程序;所述通过所述后端解读所述json文本,生成paas平台的服务器支持的ip包过滤策略,具体包括:通过所述监听控制程序,监测所述服务器上运行的容器,并获取所述容器对应的json文本;以及,通过解读获取的所述json文本,生成paas平台的服务器支持的ip包过滤策略。可选地,所述ip包过滤策略包括各种应用系统支持的防火墙规则。可选地,所述通过所述前端将所述json文本发送对应的后端后,所述通过所述后端解读所述json文本前,所述方法还包括:通过所述后端将所述json文本转换为paas平台可存储的格式并存储,以供需要时还原为json文本并解读。可选地,所述根据所述ip包过滤策略,对所述对应的容器进行网络隔离,具体包括:接收针对所述对应的容器的连接请求;根据所述ip包过滤策略,检查所述连接请求,以决策是允许连接还是拒绝连接,并执行决策结果。一种应用于paas的网络隔离装置,包括:接收模块,接收用户配置的隔离策略,所述隔离策略包含:目标类型、目标名称、目标端口、目标动作、访问来源;生成模块,根据所述隔离策略,生成paas平台的服务器支持的ip包过滤策略;设置模块,针对所述服务器上对应的容器,设置所述ip包过滤策略;隔离模块,根据所述ip包过滤策略,对所述对应的容器进行网络隔离。可选地,所述接收模块接收用户配置的隔离策略,具体包括:所述接收模块通过前端接收用户配置的隔离策略;所述生成模块根据所述隔离策略,生成paas平台的服务器支持的ip包过滤策略,具体包括:所述生成模块通过所述前端将所述隔离策略转换为json文本,并将所述json文本发送给对应的后端;通过所述后端解读所述json文本,生成paas平台的服务器支持的ip包过滤策略。可选地,所述服务器上预先设置有监听控制程序;所述生成模块通过所述后端解读所述json文本,生成paas平台的服务器支持的ip包过滤策略,具体包括:所述生成模块通过所述监听控制程序,监测所述服务器上运行的容器,并获取所述容器对应的json文本;以及,通过解读获取的所述json文本,生成paas平台的服务器支持的ip包过滤策略。可选地,所述ip包过滤策略包括系统支持的防火墙规则。可选地,所述装置还包括:存储模块,在所述生成模块通过所述前端将所述json文本发送对应的后端后,通过所述后端解读所述json文本前,通过所述后端将所述json文本转换为paas平台可存储的格式并存储,以供需要时还原为json文本并解读。可选地,所述隔离模块根据所述ip包过滤策略,对所述对应的容器进行网络隔离,具体包括:所述隔离模块接收针对所述对应的容器的连接请求;根据所述ip包过滤策略,检查所述连接请求,以决策是允许连接还是拒绝连接,并执行决策结果。一种应用于paas的网络隔离设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:接收用户配置的隔离策略,所述隔离策略包含:目标类型、目标名称、目标端口、目标动作、访问来源;根据所述隔离策略,生成paas平台的服务器支持的ip包过滤策略;针对所述服务器上对应的容器,设置所述ip包过滤策略;根据所述ip包过滤策略,对所述对应的容器进行网络隔离。本申请的一些实施例采用的上述至少一个技术方案能够达到以下有益效果:能够对运行在paas上的业务系统,提供有效、细粒度的网络隔离功能,实现paas上不同用户的业务之间、同一用户的不同业务之间的访问控制。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为本申请的一些实施例提供的一种应用于paas的网络隔离方法的流程示意图;图2为本申请的一些实施例提供的一种实际应用场景下,可供用户配置隔离策略的示例性前端页面示意图;图3为本申请的一些实施例提供的一种实际应用场景下,上述应用于paas的网络隔离方法的实施架构示意图;图4为本申请的一些实施例提供的一种应用于paas的网络隔离装置的结构示意图;图5为本申请的一些实施例提供的一种应用于paas的网络隔离设备的结构示意图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。图1为本申请的一些实施例提供的一种应用于paas的网络隔离方法的流程示意图。在该流程中,从设备角度而言,本申请实施例中的一些步骤的执行主体可以为paas相关设备,如paas平台的服务器、对应的用户终端等,本申请对此不做具体限定。另外,从程序角度而言,本申请实施例中的一些步骤的执行主体可以为上述设备中安装的程序。该程序的形式可以是客户端、浏览器、服务端等,本申请对此不作具体限定。图1中的流程可以包括以下步骤:s102:接收用户配置的隔离策略,所述隔离策略包含:目标类型、目标名称、目标端口、目标动作、访问来源。在本申请的一些实施例中,用户配置的隔离策略可以有多个,同一个隔离策略针对的目标可以有多个。在本申请的一些实施例中,隔离策略主要是针对容器的,所述容器可以指单个容器,也可以指一项服务中包含的多个容器,对于后一种情况,隔离策略同时也是针对服务的。为了实现粒度灵活可控的网络隔离,本申请归纳了隔离策略所适合包含的五大要素。目标类型,用于指示需要被控制开放范围的用户业务,比如,是具体的某个容器、还是包含多个容器的服务等;目标名称,用于指示所针对的用户业务系统的名称;目标端口,用于指示所针对的用户业务系统的服务端口,比如,80端口、8080端口等;目标动作,用于指示所针对的用户业务系统的开放动作,比如,允许访问、拒绝访问、附带指定条件的允许访问等;访问来源,用于指示用户业务的开放范围所针对的访问者,比如,某项其他服务等。需要说明的是,在实际应用中,在配置隔离策略时,未必要用对应的五个配置项配置这五大要素,所配置的配置隔离策略直接或者间接地包含这五大要素的内容即可。在本申请的一些实施例中,用户可以直接在服务端配置隔离策略,或者,也可以通过浏览器或客户端,远程配置隔离策略。s104:根据所述隔离策略,生成paas平台的服务器支持的ip包过滤策略。在本申请的一些实施例中,为了便于用户操作,隔离策略本身可以是直观而易于用户理解的格式,比如,可视界面中的文本字段、选项等。后续执行隔离策略前,需要将隔离策略转换为执行模块能够理解的内容,对于paas平台,其由一个或者多个服务器构成(通常是多个服务器构成的集群),执行模块为服务器上的相应程序,则隔离策略要在paas平台实施,需要适配于各服务器,适配后的隔离策略即为步骤s104中所述的ip包过滤策略,其中,该过滤策略可以是各种应用系统支持的防火墙规则,比如优选地,ip包过滤策略可以是linux的iptables规则等。s106:针对所述服务器上对应的容器,设置所述ip包过滤策略。在本申请的一些实施例中,根据隔离策略包含的目标类型、目标名称、目标端口,能够确定对应的容器,作为ip包过滤策略的实施对象。可以由各服务器分别对运行与自身上的对应容器,设置ip包过滤策略;也可以由统管多个服务器的统管服务器(比如,统管多个工作机的调度机),为其所管的服务器上的对应容器设置ip包过滤策略。s108:根据所述ip包过滤策略,对所述对应的容器进行网络隔离。在本说明书实施例中,通过根据ip包过滤策略,对发往对应的容器的ip包进行过滤,能够实现网络隔离。通过图1的方法,能够对运行在paas上的业务系统,提供有效、细粒度的网络隔离功能,实现paas上不同用户的业务之间、同一用户的不同业务之间的访问控制。基于图1的方法,本申请的一些实施例还提供了该方法的一些具体实施方案,以及扩展方案,下面进行说明。在本申请的一些实施例中,对于步骤s102,所述接收用户配置的隔离策略,具体可以包括:通过前端接收用户配置的隔离策略;所述根据所述隔离策略,生成paas平台的服务器支持的ip包过滤策略,具体可以包括:通过所述前端将所述隔离策略转换为json(直译式脚本语言对象标记)文本,并将所述json文本发送给对应的后端;通过所述后端解读所述json文本,生成paas平台的服务器支持的ip包过滤策略。所述前端比如是浏览器或者paas平台的客户端。更直观地,本申请的一些实施例还提供了一种实际应用场景下,可供用户配置隔离策略的示例性前端页面示意图,如图2所示。在图2中,用户能够通过浏览器登录paas平台,登录后,若用户想要配置隔离策略,则可以打开图2中的“添加网络隔离”页面。用户通过鼠标和键盘进行操作,选中了目标类型、填写了目标名称(即用户的业务系统名称)、选择了目标动作,填写了目标端口(可以设置多个端口)、填写了访问来源(可以选择多个访问来源)之后,点击“确定”按钮,浏览器端脚本会将用户配置的隔离策略组合成一段json文本,通过https协议将其发送给paas平台的后端。进一步地,给出一段示例性的所述json文本如下:在该json文本中,“type”项表示目标类型,当前选择的是服务(service),“name”项表示目标名称,当前填写的是nginx2,“port”项表示目标端口,当前填写的是tcp协议的60端口,“action”项表示目标动作,当前填写的是允许(allow),“from”项填写的是访问来源,当前填写的是pod类型的lijiao。需要说明的是,除了json格式以外,其他适合传递配置信息的格式也适用,比如,xml格式等。相应地,上述json文本也可以替换为xml文本等。在本申请的一些实施例中,后端在接收到前端发送的json文本后,可以将其进行存储,以待服务器使用。当然,为了顺利存储,可能需要转换为paas平台可存储的格式,虽然格式可能变化,但是,json文本中的实质内容不会发生变化,比如,将json文本进行序列化,转化为二进制数据流后再存储。在这种情况下,后续需要使用时,先还原出json文本,再对json文本进行解读。在本申请的一些实施例中,服务器上可以预先设置有监听控制程序,以便及时地响应用户的配置。则所述通过所述后端解读所述json文本,生成paas平台的服务器支持的ip包过滤策略,具体可以包括:通过所述监听控制程序,监测所述服务器上运行的容器,并获取所述容器对应的json文本(比如,还原出之前存储的json文本);以及,通过解读获取的所述json文本,生成paas平台的服务器支持的ip包过滤策略。需要说明的是,解读json文本、生成ip包过滤策略、以及设置ip包过滤策略这些动作中的一种或者多种也可以由监听控制程序执行。假定每个服务器分别对自身上运行的容器进行网络隔离。则各服务器可以分别预先设置有监听控制程序。在本申请的一些实施例中,对于步骤s108,所述根据所述ip包过滤策略,对所述对应的容器进行网络隔离,具体可以包括:接收针对所述对应的容器的连接请求;根据所述ip包过滤策略,检查所述连接请求,以决策是允许连接还是拒绝连接,并执行决策结果。根据上面的说明,本申请的一些实施例还提供了一种实际应用场景下,上述应用于paas的网络隔离方法的实施架构示意图,如图3所示。在图3中,通过前端的隔离策略配置页面,接收到用户配置的隔离策略五要素;前端通过预设脚本,根据五要素,生成json文件,并通过https协议向paas后端发送;paas后端服务将该json文件转换为paas平台可存储的格式并存储;利用在paas平台的每个服务器上分别预先设置的监听控制程序,由每个监听控制程序监测自己所在的服务器上的运行的容器,监听控制程序从后端读取出每个容器所属用户设置的隔离策略,通过解读json文件,计算出需要为容器设置的iptables规则,并在服务器上进行设置;进而服务器根据设置的iptables,对容器进行网络隔离。基于同样的思路,本申请的一些实施例还提供了上述方法对应的装置、设备和非易失性计算机存储介质,参见图4、图5。图4为本申请的一些实施例提供的一种应用于paas的网络隔离装置的结构示意图,所述装置包括:接收模块401,接收用户配置的隔离策略,所述隔离策略包含:目标类型、目标名称、目标端口、目标动作、访问来源;生成模块402,根据所述隔离策略,生成paas平台的服务器支持的ip包过滤策略;设置模块403,针对所述服务器上对应的容器,设置所述ip包过滤策略;隔离模块404,根据所述ip包过滤策略,对所述对应的容器进行网络隔离。可选地,所述接收模块401接收用户配置的隔离策略,具体包括:所述接收模块401通过前端接收用户配置的隔离策略;所述生成模块402根据所述隔离策略,生成paas平台的服务器支持的ip包过滤策略,具体包括:所述生成模块402通过所述前端将所述隔离策略转换为json文本,并将所述json文本发送给对应的后端;通过所述后端解读所述json文本,生成paas平台的服务器支持的ip包过滤策略。可选地,所述服务器上预先设置有监听控制程序;所述生成模块402通过所述后端解读所述json文本,生成paas平台的服务器支持的ip包过滤策略,具体包括:所述生成模块402通过所述监听控制程序,监测所述服务器上运行的容器,并获取所述容器对应的json文本;以及,通过解读获取的所述json文本,生成paas平台的服务器支持的ip包过滤策略。可选地,所述ip包过滤策略包括各种应用系统支持的防火墙规则。可选地,所述装置还包括:存储模块405,在所述生成模块402通过所述前端将所述json文本发送对应的后端后,通过所述后端解读所述json文本前,通过所述后端将所述json文本转换为paas平台可存储的格式并存储,以供需要时还原为json文本并解读。可选地,所述隔离模块404根据所述ip包过滤策略,对所述对应的容器进行网络隔离,具体包括:所述隔离模块404接收针对所述对应的容器的连接请求;根据所述ip包过滤策略,检查所述连接请求,以决策是允许连接还是拒绝连接,并执行决策结果。图5为本申请的一些实施例提供的一种应用于paas的网络隔离设备的结构示意图,所述设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:接收用户配置的隔离策略,所述隔离策略包含:目标类型、目标名称、目标端口、目标动作、访问来源;根据所述隔离策略,生成paas平台的服务器支持的ip包过滤策略;针对所述服务器上对应的容器,设置所述ip包过滤策略;根据所述ip包过滤策略,对所述对应的容器进行网络隔离。本申请的一些实施例提供的对应于图1的非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:接收用户配置的隔离策略,所述隔离策略包含:目标类型、目标名称、目标端口、目标动作、访问来源;根据所述隔离策略,生成paas平台的服务器支持的ip包过滤策略;针对所述服务器上对应的容器,设置所述ip包过滤策略;根据所述ip包过滤策略,对所述对应的容器进行网络隔离。本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备和介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。本申请实施例提供的设备和介质与方法是一一对应的,因此,设备和介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述设备和介质的有益技术效果。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1