CN117597903A - 对应用容器的动态代理响应 - Google Patents

对应用容器的动态代理响应 Download PDF

Info

Publication number
CN117597903A
CN117597903A CN202280046541.0A CN202280046541A CN117597903A CN 117597903 A CN117597903 A CN 117597903A CN 202280046541 A CN202280046541 A CN 202280046541A CN 117597903 A CN117597903 A CN 117597903A
Authority
CN
China
Prior art keywords
traffic
application container
container
application
dynamic proxy
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.)
Pending
Application number
CN202280046541.0A
Other languages
English (en)
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.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
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 Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN117597903A publication Critical patent/CN117597903A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y10/00Economic sectors
    • G16Y10/75Information technology; Communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Environmental & Geological Engineering (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开描述了使用动态代理来保护云环境内的源和应用容器之间的通信。该技术包括拦截被引导到应用容器的流量,分析流量和流量模式,以及基于该分析允许或阻止流量被传递到应用容器。流量分析引擎可以确定流量是否被认为是安全的并被允许传递到应用容器,或者流量是否被认为是不安全的并被阻止传递到应用容器。根据一些配置,网络接口(例如,WIFI或Eth0)的(一个或多个)地址被抽象化以帮助确保应用容器的安全性。

Description

对应用容器的动态代理响应
相关申请的交叉引用
本申请要求于2021年6月28日提交的美国专利申请号17/304,891的优先权,该申请通过引用以其全文并入本文。
技术领域
本公开总体上涉及用于在云环境中保护与容器的通信的技术。
背景技术
企业正在转向不同的云模型,例如混合云、多云和连接的云网络。在多云环境中,常常有被托管在物联网(IoT)网关或边缘计算硬件上的不同的微服务和应用容器,以用于执行各种处理功能并且与云服务的不同实例集成。在许多示例中,应用容器的通信模式(在云的边缘处运行)使用发布-订阅通信方法,或者某种类型的客户端-代理通信方法,例如消息队列遥测传输(MQTT)。然而,保护与可在不同的公共/专用网络中的应用容器的通信可能是具有挑战性的。例如,仅通过使用访问控制列表(ACL)或IP网络地址转换(NAT),无法100%保护多云环境中的应用容器。
附图说明
下面参考附图给出详细描述。在附图中,附图标记最左边的(一个或多个)数字标识该附图标记首次出现的附图。在不同的图中使用相同的附图标记表示相似或相同的项目。附图中描绘的系统不是按比例绘制的,并且附图中的组件可能彼此不是按比例绘制的。
图1示出了使用动态委托代理来帮助保护与多云环境中的应用容器的通信的系统。
图2示出了配置和使用动态委托代理来帮助保护源自不同云服务的通信的系统。
图3示出了使用动态委托代理来保护通信的IoT边缘网关节点。
图4是示出了用于保护与多云环境中的应用容器的通信的过程的流程图。
图5是示出了用于对被引导到应用容器的流量执行流量分析的过程的流程图。
图6示出了能够执行程序组件以用于实现本文描述的功能的计算机的示例计算机架构。
具体实施方式
概述
本发明的各个方面在独立权利要求中阐述,并且优选特征在从属权利要求中阐述。一个方面的特征可以单独应用于各个方面或者与其他方面相结合地应用于各个方面。
本公开描述了用于使用动态代理来保护云环境内的源和应用容器之间的通信的技术。该技术包括拦截被引导到应用容器的流量,分析流量和流量模式,以及基于该分析允许或阻止流量被传递到应用容器。根据一些示例,网络接口(例如,WIFI或Eth0)的(一个或多个)地址被抽象化(abstract)以帮助确保应用容器的安全性。本文描述的技术可以由具有存储计算机可执行指令的非暂时性计算机可读介质的系统和/或设备来执行,这些指令当由一个或多个处理器执行时,执行所描述的方法。
示例实施例
云原生应用(包括由服务网格支持的多个“微服务”应用)正在得到越来越广泛的应用。微服务应用的实例可以被托管在不同的位置,并且微服务应用实例可以通过一个或多个网络(例如,软件定义的广域网SD-WAN)相互通信。云原生应用是小型、独立和松散耦合的服务的集合。与采用单体架构相比,许多云原生应用采用微服务架构。在单体架构中,应用通常被构建为单个可部署单元。相比之下,在微服务架构中,一个复杂的系统可能被分成多个独立的、重点狭窄的服务,每个服务都有自身独立的业务逻辑和数据存储。在一些示例中,云原生应用的服务可以在不同的云环境上分布,包括一个或多个公共云环境以及一个或多个专用网络。在微服务架构中,通常任何服务都可以单独地扩展和部署。
服务网格可以用于控制微服务和应用的其他部分如何彼此共享数据。服务网格是内置于应用中的专用可配置基础设施层,其通常被设计用于使用应用编程接口(API)处理大量的基于网络的进程间通信。服务网格可以提供诸如服务发现、负载平衡和加密之类的能力。服务网格可以通过为每个微服务应用实例提供代理实例来实现,该代理实例被称为边车(sidecar)。边车可以管理通过SD-WAN的服务间通信、监视操作、以及安全相关问题和/或可以从各个微服务应用实例抽象化出来的其他功能。
在云环境(例如多云环境)中,常常有被托管在物联网(IoT)网关或边缘计算硬件上的不同的微服务和应用容器,以用于执行各种处理功能并且与云服务的不同实例集成。应用容器(例如,在云的边缘处运行)和其他端点(例如,在云中)之间的通信模式可以使用:发布-订阅通信方法、某种类型的客户端-代理通信方法(例如MQTT)。然而,在本文描述的技术之前,在这两种通信方法中,应用容器被映射并绑定到物理网络或虚拟网络接口(例如,快速以太网(FE)、千兆以太网(GE)、WIFI、蜂窝无线电、虚拟以太网(vEth))。不将应用容器的网络接口抽象化很可能会暴露云网络和应用容器之间传送的数据分组中的网络接口细节。
使用本文描述的技术,动态委托代理有助于保护与容器的通信,该容器例如是在IoT网关上、在边缘计算硬件上或在一些其他位置上被托管的一个或多个应用容器。动态委托代理可以接收来自位于一个或多个云服务中的不同服务的传入流量,并且确定是允许该流量被传递到应用容器还是阻止该流量被传递。
在一些示例中,流量分析引擎(例如,webhook服务器或一些其他设备或组件)可以对被引导到应用容器的流量和/或流量模式执行分析。流量分析引擎可以执行对流量的深度分组检查,并且可以识别以下信息:例如,传入流量的源(例如,微服务、虚拟专用云(VPC)等)、识别传入流量已经从源传递到动态委托代理的不同点的信息的端到端流量分析、所识别的与源相关联的模式(例如,源向应用容器发送流量的频率)等。在一些示例中,(例如,在webhook服务器中的)虚拟探测器可以用于分析流量。
流量分析引擎可以确定流量是否被认为是安全的并被允许传递到应用容器,或者流量是否被认为是不安全的并被阻止传递到应用容器。可以使用许多不同的技术来确定到容器的传入流量是否安全,例如但不限于:流量的源是否来自可信网络?流量是否通过了任何不安全的点?应用容器以前是否接收过来自该源的流量?等等。如果流量分析引擎没有识别出安全威胁或者没有发现任何其他异常,则可以授权并允许流量源经由动态委托代理向应用容器发送数据。
根据一些配置,指示流量是被授权和/或未被授权的数据由动态委托代理维护。例如,动态委托代理可以维护流量表/列表,该流量表/列表包括标识被授权的流量的源和/或标识未被授权的流量的源的条目。例如,流量表可以包括指示允许来自特定源IP地址(或一些其他标识符)的流量的条目,该流量被引导到容器荚(pod)内的(一个或多个)特定应用容器。在一些配置中,从源接收的流量可能被限制在特定的时间范围内(例如,中午12点至下午3点、早上6点至下午5点等)。根据一些示例,在源(例如,云本地应用的微服务源)被允许之后,由动态流量代理从该源接收的任何进一步的流量可以被允许而无需进行进一步检查。在其他示例中,可以在每次接收到流量时,和/或以某个其他间隔或响应于某个事件/条件,来执行流量分析。
在其他示例中,当流量分析引擎确定传入流量不安全时,阻止源自云服务的来自该特定源(例如,微服务和/或虚拟专用网络(VPN))的传入流量被传递到应用容器。在一些配置中,被识别为不安全的传入流量可以被再引导到不同的位置,例如隔离工作容器。在其他示例中,基于微分割的安全策略可以用于将运行在同一节点上的应用容器彼此隔离。
动态委托代理还可以将网络接口细节抽象化以访问应用容器。通过这种方式,当与不同云中和/或其他网络位置的服务进行通信时,应用容器的网络接口细节不会被暴露。在一些配置中,可以使用散列值来将由动态委托代理保护的容器的网络接口细节抽象化。除了暴露的网络接口之外,动态委托代理还可以将应用容器的标识符抽象化。与现有技术相比,本文描述的动态委托代理可以通过掩蔽IoT网关的物理接口中存在的WIFI或以太网NIC的MAC地址,从安全攻击向量的角度来抽象化IoT网关。本文描述的技术可以由具有存储计算机可执行指令的非暂时性计算机可读介质的系统和/或设备来执行,这些计算机可执行指令当由一个或多个处理器执行时,执行本文描述的方法。
现在将参考附图更全面地描述本公开的某些实施方式和实施例,附图中示出了各个方面。然而,各个方面可以以许多不同的形式实施,并且不应被解释为限于本文阐述的实施方式。如本文所述,本公开包含实施例的变体。相同的标记始终指代相同的元件。
图1示出了系统100,该系统100使用动态委托代理104来帮助保护与多云环境中的容器106的通信。如图1所示,云服务102A和云服务102B经由动态委托代理104A-104B(如(一个或多个)服务114A和114B与动态委托代理104A和104B之间的实线所示)与应用容器106A-106H通信,而不是如现有技术中那样直接与应用容器通信(如虚线所示)。
在云环境中,例如图1所示的多云环境,常常有被托管在IoT网关/节点108的互联网上的不同的微服务和应用容器106,以用于执行各种处理功能并且与云服务102中的不同服务114集成。关于示例IoT网关节点,参见图3和相关讨论。
如系统100中所示,诸如动态委托代理104A和动态委托代理104B之类的动态委托代理104可以用于帮助保护与容器(例如,由IoT网关108A托管的应用容器106A-106D和由IoT网关108B托管的应用容器106E-106H)的通信。(一个或多个)服务114使用动态委托代理104来安全地与应用容器106通信,而不是云服务102A的(一个或多个)服务114A和云服务102B的服务(一个或多个)114B直接与容器106通信。
当流量从IoT网关108外部(例如,不同的混合云服务)进入运行容器106的容器荚时,动态委托代理104接收传入流量,并且使得流量分析被执行。在一些示例中,动态委托代理104将传入流量发送到流量分析引擎110以执行流量分析。根据一些配置,流量分析引擎110可以是使用虚拟探测器以进行流量监视的webhook服务器。虽然流量分析引擎110A被示为与动态委托代理104A分离,但是流量分析引擎110A可以是动态委托代理104A的一部分。在一些示例中,动态委托代理104A的操作可以在主节点代理内执行,例如在Kubernetes中的kubelet内作为流量工程探测器。此外,虽然流量分析引擎110被示为与动态委托代理104分离,但是流量分析引擎的一些/所有功能可以由动态委托代理来执行。
诸如流量分析引擎110A和流量分析引擎110B之类的流量分析引擎110可以执行流量分析,以确定从服务114接收到的流量是否被认为是安全的并且被允许传递到应用容器106,或者该流量是否被认为是不安全的并且被阻止传递到应用容器。如上面简要讨论的,可以使用许多不同的技术来确定到容器的传入流量是否安全,例如但不限于:流量的源是否来自可信网络?流量是否通过了任何不安全的点?应用容器以前是否接收过来自该源的流量?等等。
根据一些配置,流量分析引擎110可以对从服务114接收到的流量执行深度分组检查(DPI),服务114被托管在云服务102中和/或在应用容器106外部的一些其他位置。流量分析引擎110可以识别诸如传入流量的源(例如,服务114的IP地址、VPC或一些其他流量源)之类的信息。在一些示例中,流量分析引擎110执行端到端流量分析,该分析识别传入流量已经从源传递到动态委托代理104A的不同点的信息。流量分析引擎110还可以识别与源相关联的流量模式,例如服务向应用容器发送流量的频率等。
随着时间的推移,流量分析引擎110可以学习从应用容器106到外部网络的通信模式,例如在IoT网关108A和/或108B与云服务102A和/或云服务102B之间的通信模式。流量通信模式可以是到特定服务114、到由云服务托管的VPC、和/或到某个其他外部流量源。根据一些配置,动态委托代理104创建诸如流量表116A和流量表116B之类的流量表116,流量表116A和流量表116B映射诸如云服务102A和/或102B之类的随时间推移而学习的源。在一些配置中,动态委托代理104A将条目存储到表中,以指示流量是否被允许进入容器和/或流量是否未被授权传递到容器。
如果流量分析引擎110没有识别出(一个或多个)安全威胁或者发现了任何其他异常,则服务114可以被授权经由动态委托代理104向流量所引导到的应用容器106发送数据。根据一些配置,由动态委托代理104维护指示业务是被授权的和/或未被授权的数据。例如,动态委托代理104可以维护流量表/列表116,该流量表/列表116包括标识被授权的流量的源和/或标识未被授权的流量的源的条目。例如,流量表116可以包括指示允许来自特定源IP地址(或一些其他标识符)的流量的条目,该流量被引导到容器荚内的(一个或多个)特定容器。在一些配置中,来自源的流量可能在某些时间被授权传递,而在其他时间被阻止传递(例如,从上午8点到下午5点允许,而在下午5点到上午8点限制)。在一些配置中,可以基于随时间检测到的流量模式和/或在不同时间执行的流量分析来更新流量表116。
如下文更详细地简要讨论的,动态委托代理104可以将应用容器106的标识信息抽象化。在一些示例中,动态委托代理104将应用容器106的暴露的(一个或多个)网络接口抽象化。在一些示例中,可以由动态委托代理104、流量分析引擎110和/或用于将应用容器106的标识信息抽象化的一些其他设备或组件生成散列(hash)。可以使用与作为流量源的应用容器106和/或服务102相关联的不同属性来生成散列。用于生成散列的属性可以包括但不限于MAC地址、允许与服务114通信的时间、云服务102的身份、容器106的标识符等。由于动态委托代理104可以是在不同容器106上可访问的组件,因此用于运行动态委托代理104的CPU和存储器资源是最少的。
图2示出了配置和使用动态委托代理104来帮助保护源自不同云服务102的通信的系统200。参考图2,动态委托代理104被配置为向不同网络发送数据和从不同网络接收数据,例如向云服务102A的(一个或多个)服务114A和云服务102B的(一个或多个)服务114B发送数据。
根据一些配置,一个或多个边车204与诸如容器荚202之类的容器荚内的(一个或多个)应用容器106相关联。边车204是应用设计抽象概念(abstraction),其可以从应用的主架构中抽象化出诸如服务间通信、监视和安全之类的特征。边车通常在服务网格控制平面内使用,以针对其相关联的服务管理和配置每个边车。来自相关联的服务的网络流量通过边车过滤。边车的抽象概念可以简化由边车处理的某些特征的改变,而不改变应用的其余部分。此外,如果组织正在使用Kubernetes(一种开源容器编排系统)或类似系统来监视应用容器106,则应用容器106可以被一起分组在共享公共命名空间的容器荚202中。
根据一些示例,与将单个入口点的接口抽象化相比,动态委托代理104通过掩蔽网关的物理接口(例如物理NIC卡312)中存在的WIFI或以太网NIC的MAC地址,从安全攻击向量的角度将IoT网关抽象化。这样,边缘网络接口被抽象化,并且在传入流量的不同源和应用容器106之间创建映射。该源可以是流量的特定源、VPC(虚拟专用云)、VPC的公共子网细节等。如上所述,动态委托代理104可以向表116添加条目,该表116包括与入口(App的网络接口)和出口相关联的数据,该数据是流量源的细节。当IoT网关上的应用想要向其所映射(如流量表116中所示)的云服务102发送数据时,则应用容器经由动态委托代理104访问出口决策路径。动态委托代理104在内部抽象化出哪个云服务正试图与之通信,并且源MAC地址被动态委托代理104掩蔽。类似地,如果在云服务102中运行的服务114想要与在网关上运行的应用容器通信,则动态委托代理104通过经由表116进行解析来掩蔽该流量源自的源。
根据一些示例,动态委托代理104使用散列算法(例如,消息摘要5(MD5)、安全散列算法(SHA)等)生成散列,以将容器的物理地址抽象化。作为示例,Hash=Function_(Src_ip,Src_VPC,Dest_URI,Timestamp,Dest_Port,Random Seed/NONCE or Unique_Container_worker_ID_based)。
单独的边车204可以用于执行与授权流量流向一个或多个容器等相关的功能,以可视化同一容器荚中的每个容器如何操作和/或执行其他功能。在系统200中,动态委托代理104可以是与其他(一个或多个)边车204和(一个或多个)容器106和/或(一个或多个)隔离容器206通信的边车。例如,当被授权时,动态委托代理104可以向容器106和/或隔离容器206发送从(一个或多个)服务114A和/或(一个或多个)服务114B接收到的流量。
在一些配置中,边车204包括将流量路由到(一个或多个)容器106和/或(一个或多个)隔离容器206的功能。在一些示例中,当由边车204或一些其他设备或组件执行的流量分析确定传入流量是不安全/未被授权的时,来自云服务102的来自该特定源(例如,(一个或多个)服务114A和/或(一个或多个)服务114B中的一个或多个)的传入流量被阻止传递到该流量所引导到的应用容器106。在其他配置中,被识别为不安全或无保证的传入流量可以被再引导到不同的位置,例如引导到(一个或多个)隔离容器206。隔离容器206可以用于在一段时间内存储传入流量和/或用于进一步处理。
根据一些示例,可以使用一个以上的隔离容器206来处理被动态委托代理104识别为未被授权的流量。例如,动态委托代理104或一些其他设备或组件可以标识可用资源(例如,可用RAM、CPU等)以确定要创建多少隔离容器206。指示拒绝来自特定源的流量的拒绝规则也可以被存储在表116内。如下面参考图4更详细描述的,以及如上面简要讨论的,基于微分割的安全策略可以用于将所有在同一节点上运行的应用容器106彼此隔离。
可以提供安全管理器212来与动态委托代理104交互。安全管理器212可以用于配置和管理经由动态委托代理104到容器106的通信的安全性。例如,安全管理器212可以配置指示诸如但不限于安全策略、授权服务、拒绝服务、微分割策略、隔离策略等信息的数据。安全管理器112可以实现动态API以用于动态委托代理配置。
图3示出了IoT边缘网关节点300。如图所示,节点300示出了第一容器荚302A,该第一容器荚302A包括容器106A-106C、动态委托代理104A-104B、(一个或多个)隔离容器206A和接口eth0 306A。节点300还包括容器荚302B,该容器荚302B包括(一个或多个)容器106D、(一个或多个)隔离容器206B和接口eth0 306B。虽然示出了两个容器荚,但是IoT网关节点300可以包括更少或更多的应用容器荚302。
根据一些配置,接口306A和接口306B耦合到虚拟接口(Veth1 308A和Veth1308B),这些虚拟接口经由容器网络接口(CNI)插件310耦合到通信组件。CNI插件310是进入容器网络命名空间的网络接口,该网络接口可以用于控制节点300中的容器荚302之间的流量。
根据一些示例,与将单个入口点的接口抽象化相比,动态委托代理104通过掩蔽网关的物理接口(例如物理NIC卡312)中存在的WIFI或以太网NIC的MAC地址,从安全攻击向量的角度抽象化IoT网关。这样,边缘网络接口被抽象化,并且在传入流量的不同源和应用容器106之间创建映射。
在一些配置中,可以使用阻止微分割策略来将不同的容器荚彼此分割。还可以使用隔离容器206,例如(一个或多个)隔离容器206A和(一个或多个)隔离容器206B。根据一些配置,动态委托代理104执行脚本,该脚本将iptables规则添加到容器荚302的网络命名空间,以在运行在同一容器荚302上的(一个或多个)不同容器106上创建网络微分割。这些规则可以应用于该特定容器荚中的容器106,以帮助确保基于对流量源、流量类型和/或流量模式的分析的网络隔离。
如上所述,动态委托代理104将应用容器(例如,应用容器实例标识符以及暴露的网络接口)抽象化,使得它们可以被映射到每个容器应用106。由于动态委托代理104是在容器荚302的容器应用106上可访问的通用组件,因此用于运行动态委托代理104的CPU和存储器资源是最少的。
图4是示出了用于保护与多云环境中的容器的通信的过程400的流程图。在402,在将流量传递到节点内的容器之前拦截流量。如上所述,可以从外部网络从应用容器106(例如从云服务,例如图1和图2所示的云服务102)接收流量。
在404,执行流量分析。在一些示例中,可以通过流量分析引擎110或通过一些其他设备或组件来执行流量分析。例如,流量分析可以由动态虚拟委托代理104执行。在一些配置中,可以将流量发送到流量分析引擎110以用于进行流量分析。
在406,接收来自流量分析的数据。如上所述,由流量分析引擎110执行的流量分析可以包括从服务114接收的流量的DPI,该服务114被托管在云服务102中和/或在应用容器106外部的某个其他位置。流量分析引擎110还可以识别诸如传入流量的源(例如,服务114的IP地址、VPC或一些其他流量源)之类的信息。在一些示例中,流量分析引擎110执行端到端流量分析,该分析识别传入流量已经从源传递到动态委托代理104的不同点的信息。流量分析引擎110还可以识别与源相关联的流量模式,例如服务向应用容器发送流量的频率等等。
在408,在确定之后更新流量表116。如上所述,流量表116可以响应于初始流量分析而被更新,和/或响应于对容器的流量模式的更新分析而被更新。流量表116可以包括被授权向一个或多个应用容器106发送流量的源和/或未被授权向一个或多个应用容器106发送流量的源。
在410,确定流量是否被授权。当流量被授权传递到应用容器106时,过程400前进到412。当流量未被授权传递到应用容器106时,过程400前进到414,在414,将流量传递到应用容器106。
在412,阻止流量被传递到应用容器106。如上所述,可以使用不同的技术来阻止传递。例如,可以丢弃该流量,可以将该流量再引导到隔离容器,和/或可以使用一些其他技术。
图5是示出了用于对被引导到应用容器1096的流量执行流量分析的过程500的流程图。在502,接收流量以用于流量分析。如上所述,可以从最初可接收流量的动态委托代理104接收流量。
在504,流量分析引擎110识别关于传入流量的信息,例如传入流量的源、流量模式以及其他信息。例如,在一些示例中,流量分析引擎110可以执行对流量的端到端分析。
在506,可以为流量生成动态代理映射。如上所述,与应用容器106相关联的网络接口被抽象化,并且在传入流量的不同源和应用容器106之间创建映射。该源可以是流量的特定源、VPC(虚拟专用云)、VPC的公共子网细节等。在一些示例中,动态委托代理104可以向表116添加条目,该表116包括与入口(App的网络接口)和出口相关联的数据,该数据是流量源的细节。当IoT网关上的应用想要向其所映射(如流量表116中所示)的云服务102发送数据时,则应用容器经由动态委托代理104访问出口决策路径。动态委托代理104在内部抽象化出哪个云服务正试图与之通信,并且源MAC地址被动态委托代理104掩蔽。类似地,如果在云服务102中运行的服务114想要与在网关上运行的应用容器通信,则动态委托代理104通过经由表116进行解析来掩蔽该流量源自的源。
在508,可以将动态代理映射、流量和其他流量信息发送到动态委托代理104以进行进一步处理。例如,动态委托代理104可以传递流量,防止流量被传递到应用容器106,将流量发送到隔离容器206和/或执行一些其他动作/操作。
图6示出了能够执行用于实现上述功能的程序组件的计算机600的示例计算机架构。图6中所示的计算机架构示出了服务器计算机、工作站、台式计算机、膝上型电脑、平板电脑、网络设备、电子阅读器、智能手机、网络交换机或其他计算设备的架构,并且可以用于执行本文给出的任何软件组件。在一些示例中,计算机600可以对应于本文讨论的网络基础设施设备。
计算机600包括基板602或“主板”,其可以是印刷电路板,多个组件或设备可以通过系统总线或其他电通信路径连接到其上。在一个说明性配置中,一个或多个中央处理单元(“CPU”)604结合芯片组606进行操作。CPU 604可以是例如执行计算机600的操作所必需的算术和逻辑运算的标准可编程处理器。
CPU 604通过操纵开关元件从一个分立的物理状态转换到下一个状态来执行操作,该开关元件区分并改变这些状态。开关元件通常包括保持两个二进制状态之一的电子电路,例如触发器,以及基于一个或多个其他开关元件的状态的逻辑组合提供输出状态的电子电路,例如逻辑门。这些基本的开关元件可以被组合以创建更复杂的逻辑电路,包括寄存器、加法器-减法器、算术逻辑单元、浮点单元等等。
芯片组606提供CPU 604与基板602上的其余组件和设备之间的接口。芯片组606可以提供到RAM 608的接口,RAM 608用作计算机600中的主存储器。芯片组606还可以提供到例如只读存储器(“ROM”)610或非易失性RAM(“NVRAM”)的计算机可读存储介质的接口,该ROM 610或NVRAM用于存储帮助启动计算机600和在各种组件和设备之间传输信息的基本例程。ROM 610或NVRAM也可以根据本文描述的配置存储计算机600的操作所需的其他软件组件。如图6所示,ROM 610或NVRAM也可以存储计算机600可用来生成和/或处理在计算机600和其他设备之间交换的消息中的认证信息的数据。在其他示例中,该数据可以存储在其他地方,例如RAM 608中。
计算机600可以通过网络使用与远程计算设备和计算机系统的逻辑连接在网络化环境中操作。例如,芯片组606可以包括通过网络接口控制器(NIC)612(例如千兆以太网适配器)提供网络连接的功能。NIC 612可以通过网络将计算机600连接到其他计算设备。应理解,多个NIC 612可以存在于计算机600中,将计算机连接到其他类型的网络和远程计算机系统。在一些情况下,NIC 612可以包括至少一个入端口和/或至少一个出端口。可以为其他类型的输入/输出提供输入/输出控制器616。
计算机600可以连接到为计算机提供非易失性存储的存储设备618。例如,存储设备618可以存储操作系统620、程序622和数据624。存储设备618可以通过连接到芯片组606的存储控制器614连接到计算机600。存储设备618可以包括一个或多个物理存储单元。存储控制器614可以通过串行连接SCSI(“SAS”)接口、串行高级技术附件(“SATA”)接口、光纤通道(“FC”)接口或用于在计算机和物理存储单元之间物理连接和传输数据的其他类型的接口与物理存储单元对接。数据624可以包括例如动态代理映射数据。
计算机600可以通过转换物理存储单元的物理状态来反映所存储的信息,从而将数据存储在存储设备618上。在本说明书的不同实施例中,物理状态的具体转换可以取决于各种因素。这些因素的示例可以包括但不限于用于实施物理存储单元的技术、存储设备618是否被表征为主存储或辅助存储等。例如,计算机600可以通过存储控制器614发出指令来将信息存储到存储设备618,以改变磁盘驱动单元内特定位置的磁特性、光存储单元中特定位置的反射或折射特性、或者固态存储单元中特定电容器、晶体管或其他分立组件的电特性。在不脱离本描述的范围和精神的情况下,物理介质的其他变换是可能的,提供前述示例只是为了便于描述。计算机600还可以通过检测物理存储单元内一个或多个特定位置的物理状态或特性来从存储设备618读取信息。
除了上述存储设备618之外,计算机600可以访问其他计算机可读存储介质来存储和检索信息,诸如程序模块、数据结构或其他数据,包括用于生成和/或处理认证信息的数据。本领域技术人员应该理解,计算机可读存储介质是提供数据的非暂时性存储并且可以由计算机600访问的任何可用介质。
尽管本公开针对特定示例进行了描述,但应理解,本公开的范围不限于这些特定示例。由于为适应特定的操作要求和环境而进行的其他修改和变化对于本领域技术人员来说是显而易见的,因此本公开不限于为了公开的目的而选择的示例,而是涵盖了不脱离本公开的真实精神和范围的全部变化和修改。
尽管本申请描述了具有特定结构特征和/或方法动作的实施例,但是应理解,权利要求不必限于所描述的特定特征或动作。相反,具体特征和动作仅仅是对落入本申请的权利要求范围内的一些实施例的说明。

Claims (23)

1.一种方法,包括:
在动态委托代理处从云服务内的源接收被引导到应用容器的流量,所述应用容器是在所述云服务外部被托管的,其中,与所述应用容器相关联的网络接口是从所述源抽象化出的;
执行对所述流量的流量分析;
至少部分地基于所述流量分析,确定执行与向所述应用容器传递所述流量相关联的动作;
生成所述源和所述应用容器之间的动态代理映射;以及
处理所述流量,其中,处理所述流量引起以下项中的至少一者:将所述流量传递到所述应用容器,或阻止将所述流量传递到所述应用容器。
2.根据权利要求1所述的方法,其中,生成所述动态代理映射将与所述应用容器相关联的所述网络接口抽象化。
3.根据权利要求1或2所述的方法,其中,执行所述流量分析包括将所述流量发送到流量分析引擎,并且其中,生成所述动态代理映射是由所述流量分析引擎执行的。
4.根据权利要求1至3中任一项所述的方法,其中,所述网络接口是WIFI接口或以太网接口中的至少一者,并且其中,所述应用容器是与应用容器荚相关联的多个应用容器中的一个。
5.根据权利要求1至4中任一项所述的方法,还包括:
创建与所述应用容器相关联的边车容器;以及
将一个或多个规则添加到包括所述应用容器的应用容器荚的网络命名空间,其中,所述一个或多个规则在运行在所述应用容器荚上的多个应用容器上创建网络微分割。
6.根据权利要求1至5中任一项所述的方法,其中,所述应用容器是由物联网(IOT)网关节点托管的。
7.根据权利要求1至6中任一项所述的方法,其中,阻止将所述流量传递至所述应用容器包括将所述流量发送到隔离容器。
8.根据权利要求1至7中任一项所述的方法,还包括更新指示向所述应用容器传递所述流量是否被授权的数据,并且其中,处理所述流量包括至少部分基于所述数据向所述应用容器传递所述流量。
9.一种系统,包括:
一个或多个处理器;以及
一个或多个非暂时性计算机可读介质,存储有计算机可执行指令,所述计算机可执行指令当被所述一个或多个处理器执行时,使得所述一个或多个处理器执行以下操作:
从第一网络位置处的源接收被引导到应用容器的流量,所述应用容器在第二网络位置处被托管,其中,与所述应用容器相关联的网络接口是从所述源抽象化出的;
执行对所述流量的流量分析;
至少部分地基于所述流量分析,确定执行与向所述应用容器传递所述流量相关联的动作;
生成所述源和所述应用容器之间的动态代理映射;以及
处理所述流量,其中,处理所述流量引起以下项中的至少一者:将所述流量传递到所述应用容器,或阻止将所述流量传递到所述应用容器。
10.根据权利要求9所述的系统,其中,执行所述流量分析包括将所述流量发送到流量分析引擎,并且其中,生成所述动态代理映射是由所述流量分析引擎执行的。
11.根据权利要求9或10所述的系统,其中,所述网络接口是WIFI接口或以太网接口中的至少一者,并且其中,所述应用容器是与应用容器荚相关联的多个应用容器中的一个。
12.根据权利要求9至11中任一项所述的系统,所述操作还包括:
创建与所述应用容器相关联的边车容器;以及
将一个或多个规则添加到包括所述应用容器的应用容器荚的网络命名空间,其中,所述一个或多个规则在运行在所述应用容器荚上的多个应用容器上创建网络微分割。
13.根据权利要求9至12中任一项所述的系统,其中,所述应用容器是由物联网(IOT)网关节点托管的。
14.根据权利要求9至13中任一项所述的系统,其中,阻止将所述流量传递至所述应用容器包括将所述流量发送到隔离容器。
15.根据权利要求9至14中任一项所述的系统,所述操作还包括更新指示向所述应用容器传递所述流量是否被授权的数据,并且其中,处理所述流量包括至少部分基于所述数据向所述应用容器传递所述流量。
16.一种非暂时性计算机可读介质,存储有计算机可执行指令,所述计算机可执行指令当由一个或多个处理器执行时,使得所述一个或多个处理器执行以下操作:
从第一网络位置处的源接收被引导到应用容器的流量,所述应用容器在第二网络位置处被托管,其中,与所述应用容器相关联的网络接口是从所述源抽象化出的;
执行对所述流量的流量分析;
至少部分地基于所述流量分析,确定执行与向所述应用容器传递所述流量相关联的动作;
生成所述源和所述应用容器之间的动态代理映射;以及
处理所述流量,其中,处理所述流量引起以下项中的至少一者:将所述流量传递到所述应用容器,或阻止将所述流量传递到所述应用容器。
17.根据权利要求16所述的非暂时性计算机可读介质,其中,执行所述流量分析包括将所述流量发送到流量分析引擎,并且其中,生成所述动态代理映射是由所述流量分析引擎执行的。
18.根据权利要求16或17所述的非暂时性计算机可读介质,所述操作还包括:
创建与所述应用容器相关联的边车容器;以及
将一个或多个规则添加到包括所述应用容器的应用容器荚的网络命名空间,其中,所述一个或多个规则在运行在所述应用容器荚上的多个应用容器上创建网络微分割。
19.根据权利要求16至18中任一项所述的非暂时性计算机可读介质,其中,阻止将所述流量传递至所述应用容器包括将所述流量发送到隔离容器。
20.根据权利要求16至19中任一项所述的非暂时性计算机可读介质,所述操作还包括更新指示向所述应用容器传递所述流量是否被授权的数据,并且其中,处理所述流量包括至少部分基于所述数据向所述应用容器传递所述流量。
21.一种装置,包括:
用于在动态委托代理处从云服务内的源接收被引导到应用容器的流量的模块,所述应用容器是在所述云服务外部被托管的,其中,与所述应用容器相关联的网络接口是从所述源抽象化出的;
用于执行对所述流量的流量分析的模块;
用于至少部分地基于所述流量分析来确定执行与向所述应用容器传递所述流量相关联的动作的模块;
用于生成所述源和所述应用容器之间的动态代理映射的模块;以及
用于处理所述流量的模块,其中,处理所述流量引起以下项中的至少一者:将所述流量传递到所述应用容器,或阻止将所述流量传递到所述应用容器。
22.根据权利要求21所述的设备,还包括用于实施根据权利要求2至8中任一项所述的方法的模块。
23.一种计算机程序、计算机程序产品或计算机可读介质,包括指令,所述指令当由计算机执行时,使得所述计算机执行根据权利要求1至8中任一项所述的方法的步骤。
CN202280046541.0A 2021-06-28 2022-06-22 对应用容器的动态代理响应 Pending CN117597903A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/304,891 US11689505B2 (en) 2021-06-28 2021-06-28 Dynamic proxy response from application container
US17/304,891 2021-06-28
PCT/US2022/034501 WO2023278211A1 (en) 2021-06-28 2022-06-22 Dynamic proxy response to application container

Publications (1)

Publication Number Publication Date
CN117597903A true CN117597903A (zh) 2024-02-23

Family

ID=82608332

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280046541.0A Pending CN117597903A (zh) 2021-06-28 2022-06-22 对应用容器的动态代理响应

Country Status (4)

Country Link
US (2) US11689505B2 (zh)
EP (1) EP4364388A1 (zh)
CN (1) CN117597903A (zh)
WO (1) WO2023278211A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11115356B2 (en) * 2019-11-14 2021-09-07 Woofy, Inc. Emoji recommendation system and method
US11812362B2 (en) * 2021-03-01 2023-11-07 Juniper Networks, Inc. Containerized router with a disjoint data plane
US11689505B2 (en) 2021-06-28 2023-06-27 Cisco Technology, Inc. Dynamic proxy response from application container
US11785115B2 (en) * 2021-09-27 2023-10-10 International Business Machines Corporation Request tracing
US20230336554A1 (en) * 2022-04-13 2023-10-19 Wiz, Inc. Techniques for analyzing external exposure in cloud environments
US11985058B2 (en) * 2022-08-04 2024-05-14 Getac Technology Corporation Interservice communication optimization for microservices

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110314148A1 (en) * 2005-11-12 2011-12-22 LogRhythm Inc. Log collection, structuring and processing
US10191778B1 (en) * 2015-11-16 2019-01-29 Turbonomic, Inc. Systems, apparatus and methods for management of software containers
US20120246303A1 (en) * 2011-03-23 2012-09-27 LogRhythm Inc. Log collection, structuring and processing
US10855725B2 (en) * 2016-06-02 2020-12-01 Microsoft Technology Licensing, Llc Hardware-based virtualized security isolation
US10375111B2 (en) * 2016-11-12 2019-08-06 Microsoft Technology Licensing, Llc Anonymous containers
US11792284B1 (en) * 2017-11-27 2023-10-17 Lacework, Inc. Using data transformations for monitoring a cloud compute environment
US10776194B2 (en) * 2018-01-31 2020-09-15 Splunk Inc. Self-monitor for computing devices of a distributed computing system
US11057393B2 (en) 2018-03-02 2021-07-06 Cloudentity, Inc. Microservice architecture for identity and access management
US11334543B1 (en) * 2018-04-30 2022-05-17 Splunk Inc. Scalable bucket merging for a data intake and query system
US10944654B2 (en) 2018-06-06 2021-03-09 Servicenow, Inc. Discovery and mapping of containerized software applications
US10929415B1 (en) * 2018-10-01 2021-02-23 Splunk Inc. Isolated execution environment system monitoring
US10785122B2 (en) 2018-10-05 2020-09-22 Cisco Technology, Inc. Canary release validation mechanisms for a containerized application or service mesh
US11150963B2 (en) 2019-02-28 2021-10-19 Cisco Technology, Inc. Remote smart NIC-based service acceleration
US11526386B2 (en) 2019-04-03 2022-12-13 Oracle International Corporation System and method for automatically scaling a cluster based on metrics being monitored
US11635995B2 (en) 2019-07-16 2023-04-25 Cisco Technology, Inc. Systems and methods for orchestrating microservice containers interconnected via a service mesh in a multi-cloud environment based on a reinforcement learning policy
US11038803B2 (en) 2019-10-01 2021-06-15 Salesforce.Com, Inc. Correlating network level and application level traffic
US11803408B2 (en) * 2020-07-29 2023-10-31 Vmware, Inc. Distributed network plugin agents for container networking
US20210021533A1 (en) * 2020-09-25 2021-01-21 Francesc Guim Bernat Intelligent data forwarding in edge networks
US20210014133A1 (en) * 2020-09-25 2021-01-14 Intel Corporation Methods and apparatus to coordinate edge platforms
US20210144202A1 (en) * 2020-11-13 2021-05-13 Christian Maciocco Extended peer-to-peer (p2p) with edge networking
US20220116445A1 (en) * 2021-04-12 2022-04-14 Miltiadis Filippou Disintermediated attestation in a mec service mesh framework
US11477165B1 (en) * 2021-05-28 2022-10-18 Palo Alto Networks, Inc. Securing containerized applications
US11689505B2 (en) 2021-06-28 2023-06-27 Cisco Technology, Inc. Dynamic proxy response from application container

Also Published As

Publication number Publication date
US20230283595A1 (en) 2023-09-07
US11979384B2 (en) 2024-05-07
US11689505B2 (en) 2023-06-27
WO2023278211A1 (en) 2023-01-05
EP4364388A1 (en) 2024-05-08
US20220417219A1 (en) 2022-12-29

Similar Documents

Publication Publication Date Title
US11979384B2 (en) Dynamic proxy response from application container
US10798063B2 (en) Enterprise grade security for integrating multiple domains with a public cloud
CN111614605B (zh) 用于配置防火墙的方法、安全管理系统和计算机可读介质
EP3289476B1 (en) Computer network security system
US10708285B2 (en) Supplementing network flow analysis with endpoint information
US20190158537A1 (en) Policy-driven workload launching based on software defined networking encryption policies
JP2022058523A (ja) ネットワーク制御システムのパブリッククラウドへの拡張
US9906557B2 (en) Dynamically generating a packet inspection policy for a policy enforcement point in a centralized management environment
US8595822B2 (en) System and method for cloud based scanning for computer vulnerabilities in a network environment
US8352998B1 (en) Policy evaluation in controlled environment
US11252183B1 (en) System and method for ransomware lateral movement protection in on-prem and cloud data center environments
EP3611882A1 (en) System and method for transferring packets between kernel modules in different network stacks
US11477165B1 (en) Securing containerized applications
US11323485B2 (en) Network traffic switching for virtual machines
WO2022271387A1 (en) A containerized cross-domain solution
US20220385631A1 (en) Distributed traffic steering and enforcement for security solutions
US20120102562A1 (en) Securing network communications with logical partitions
US20230353535A1 (en) Securing metrics for a pod
WO2017047087A1 (ja) データ検査システム、データ検査方法とそのプログラムを格納した記憶媒体
US20240106855A1 (en) Security telemetry from non-enterprise providers to shutdown compromised software defined wide area network sites
SHAFIULLA A MODEL TO ENHANCE SECURITY IN SOFTWARE DEFINED NETWORKING (SDN)
Hanebutte et al. Software mediators for transparent channel control in unbounded environments
WO2023097155A1 (en) Cloud based cross domain system – virtual data diode
TW202220409A (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