CN117378174A - 保护容器化应用 - Google Patents
保护容器化应用 Download PDFInfo
- Publication number
- CN117378174A CN117378174A CN202280037835.7A CN202280037835A CN117378174A CN 117378174 A CN117378174 A CN 117378174A CN 202280037835 A CN202280037835 A CN 202280037835A CN 117378174 A CN117378174 A CN 117378174A
- Authority
- CN
- China
- Prior art keywords
- security
- container
- traffic
- application container
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 64
- 238000004590 computer program Methods 0.000 claims abstract description 8
- 238000012544 monitoring process Methods 0.000 claims description 10
- 238000007689 inspection Methods 0.000 claims description 9
- 238000003860 storage Methods 0.000 claims description 4
- 230000009471 action Effects 0.000 claims description 3
- 238000012986 modification Methods 0.000 claims description 3
- 230000004048 modification Effects 0.000 claims description 3
- 230000001902 propagating effect Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 23
- 238000007726 management method Methods 0.000 description 43
- 238000010586 diagram Methods 0.000 description 19
- 230000006855 networking Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 10
- 238000001914 filtration Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000036541 health Effects 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000001976 improved effect Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000008093 supporting effect Effects 0.000 description 2
- KKIMDKMETPPURN-UHFFFAOYSA-N 1-(3-(trifluoromethyl)phenyl)piperazine Chemical compound FC(F)(F)C1=CC=CC(N2CCNCC2)=C1 KKIMDKMETPPURN-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000005206 flow analysis Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000004557 technical material Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0245—Filtering by information in the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/029—Firewall traversal, e.g. tunnelling or, creating pinholes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
- H04W12/088—Access security using filters or firewalls
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/30—Security of mobile devices; Security of mobile applications
-
- 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)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
公开了用于保护容器化应用的技术。在一些实施例中,用于保护容器化应用的系统、过程和/或计算机程序产品包括检测新的应用容器(例如,应用pod),将安全实体(例如,防火墙)部署到所述应用容器;以及使用安全实体来监测去往和来自所述应用容器的所有流量(例如,与所述应用容器相关联的所有第7层入口、出口和东西流量),以实施策略。
Description
背景技术
防火墙一般保护网络免受未经授权的访问,同时准许授权通信穿过防火墙。防火墙通常是一个装置或装置集,或在装置(诸如计算机)上执行的软件,该软件为网络访问提供防火墙功能。例如,防火墙可以集成到装置(例如,计算机、智能手机或其他类型的网络通信能力装置)的操作系统中。防火墙也可以集成到计算机服务器、网关、网络/路由装置(例如,网络路由器)或数据设备(例如,安全设备或其他类型的特殊用途装置)中或作为其上的软件执行。
防火墙通常基于规则集拒绝或准许网络传输。这些规则集通常被称为策略。例如,防火墙可以通过应用规则集或策略来过滤入站流量。防火墙也可以通过应用规则集或策略来过滤出站流量。防火墙也能够执行基本路由功能。
附图说明
在以下详细描述和随附附图中公开了本发明的各种实施例。
图1A是根据一些实施例的单个防火墙集群的安全容器部署的框图。
图1B是根据一些实施例的两个防火墙集群的安全容器部署的框图。
图1C是根据一些实施例的两个防火墙集群和管理平面高可用性(HA)链路的安全容器部署的框图。
图2是根据一些实施例的用于保护容器化应用的系统架构的框图。
图3A是根据一些实施例的在应用pod中创建数据平面(DP)容器的序列图。
图3B是根据一些实施例的使用Kubernetes关闭节点中的数据平面(DP)守护进程集的序列图。
图4A图示了数据设备的实施例。
图4B是数据设备的实施例的逻辑组件的功能图。
图5是根据一些实施例的用于保护容器化应用的过程的流程图。
图6是根据一些实施例的用于保护容器化应用的过程的另一个流程图。
具体实施方式
本发明可以以许多方式实现,包括作为过程;装置;系统;物质的组成;体现在计算机可读存储介质上的计算机程序产品;和/或处理器,诸如被配置为执行存储在耦合到处理器的存储器上和/或由该存储器提供的指令的处理器。在本说明书中,这些实施方式或本发明可以采取的任何其他形式可以被称为技术。一般而言,所公开的过程的步骤的次序可以在本发明的范围内更改。除非另有说明,否则被描述为配置为执行任务的组件(诸如处理器或存储器)可以实现为暂时配置为在给定时间执行任务的一般组件或制造为执行任务的特定组件。如本文中所使用的,术语“处理器”指的是一个或多个装置、电路和/或配置为处理数据的处理内核,诸如计算机程序指令。
下面提供了本发明的一个或多个实施例的详细描述连同图示了本发明原理的附图。本发明是结合这样的实施例进行描述的,但是本发明并不限于任何实施例。本发明的范围仅受权利要求书的限制,并且本发明涵盖许多替代、修改和等同物。在以下描述中阐述了许多具体细节,以便提供对本发明的透彻理解。这些细节是出于示例的目的而提供的,并且本发明可以根据权利要求书实践,而不需要这些具体细节中的一些或全部。为了清楚起见,在与本发明相关的技术领域中已知的技术材料还没有进行详细描述,以免不必要地模糊本发明。
高级或下一代防火墙
恶意软件是通用术语,通常用于指流氓软件(例如,包括各种敌对的、侵入的和/或以其他方式不想要的软件)。恶意软件可以是代码、脚本、活动内容和/或其他软件的形式。恶意软件的示例用途包括破坏计算机和/或网络操作,窃取专有信息(例如,机密信息,诸如身份、财务和/或知识产权相关信息)和/或获得私有/专有计算机系统和/或计算机网络的访问权限。不幸的是,随着帮助检测和减轻恶意软件的技术的发展,邪恶的作者找到了规避这样努力的方式。因此,不断需要改进标识和减轻恶意软件的技术。
防火墙一般保护网络免受未经授权的访问,同时准许授权通信穿过防火墙。防火墙通常是一个装置、装置集或在装置上执行的软件,该软件为网络访问提供防火墙功能。例如,防火墙可以集成到装置(例如,计算机、智能手机或其他类型的网络通信能力装置)的操作系统中。防火墙还可以集成到各种类型的装置或安全装置上的软件应用中或作为该软件应用执行,所述装置诸如计算机服务器、网关、网络/路由装置(例如,网络路由器)或数据设备(例如,安全设备或其他类型的专用装置,并且在一些实施方式中,某些操作可以在专用硬件中实现,所述专用硬件诸如ASIC或FPGA)。
防火墙通常基于规则集拒绝或准许网络传输。这些规则集通常被称为策略(例如,网络策略或网络安全策略)。例如,防火墙可以通过应用规则集或策略来过滤入站流量,以防止不想要的外部流量到达受保护的装置。防火墙还可以通过应用规则集或策略来过滤出站流量(例如,允许、阻止、监测、通知或记录和/或可以在防火墙规则或防火墙策略中指定的其他动作,这些动作可以基于各种准则而触发,诸如本文中所描述的)。防火墙也可以通过类似地应用规则集或策略来过滤本地网络(例如,内联网)。
安全装置(例如,安全设备、安全网关、安全服务和/或其他安全装置)可以执行各种安全操作(例如,防火墙、反恶意软件、入侵防护/检测、代理和/或其他安全功能)、联网功能(例如,路由、服务质量(QoS)、网络相关资源的工作负载平衡和/或其他联网功能)和/或其他安全和/或联网相关操作。例如,路由可以基于源信息(例如,IP地址和端口)、目的地信息(例如,IP地址和端口)和协议信息(例如,基于3层IP的路由)来执行。
基本分组过滤防火墙通过检查通过网络传输的单独分组来过滤网络通信流量(例如,分组过滤防火墙或第一代防火墙,它们是无状态分组过滤防火墙)。无状态分组过滤防火墙通常自己检查单独分组并且基于检查的分组应用规则(例如,使用分组的源地址和目的地地址信息、协议信息和端口号的组合)。
应用防火墙也可以执行应用层过滤(例如,使用应用层过滤防火墙或第二代防火墙,它们在TCP/IP堆栈的应用级上工作)。应用层过滤防火墙或应用防火墙一般可以标识某些应用和协议(例如,使用超文本传送协议(HTTP)的网页浏览、域名系统(DNS)请求、使用文件传送协议(FTP)的文件传送以及各种其他类型的应用和其他协议,诸如Telnet、DHCP、TCP、UDP和TFTP(GSS))。例如,应用防火墙可以阻止试图通过标准端口进行通信的未经授权的协议(例如,试图通过使用该协议的非标准端口偷偷通过的未经授权/超出策略的协议一般可以使用应用防火墙来标识)。
有状态防火墙还可以执行基于有状态的分组检查,其中,每个分组都在与该网络传输的分组的流/分组流相关联的一系列分组的上下文内进行检查(例如,有状态防火墙或第三代防火墙)。这种防火墙技术一般被称为有状态分组检查,因为它维护穿过防火墙的所有连接的记录,并且能够确定分组是新连接的开始、现有连接的部分或无效分组。例如,连接的状态本身可以是触发策略内规则的准则之一。
如上面讨论的,高级或下一代防火墙可以执行无状态和有状态分组过滤以及应用层过滤。下一代防火墙还可以执行附加的防火墙技术。例如,某些较新的防火墙有时被称为高级或下一代防火墙,该防火墙也可以标识用户和内容。特别地,某些下一代防火墙正在将这些防火墙可以自动标识的应用列表扩展到数千个应用。这样的下一代防火墙的示例从帕洛阿尔托(Palo Alto)网络公司商业上可购得(例如,帕洛阿尔托网络的PA系列防火墙)。
例如,帕洛阿尔托网络的下一代防火墙使得企业能够标识和控制应用、用户和内容——而不只是端口、IP地址和分组——使用各种标识技术,诸如以下:用于准确应用标识的APP-ID、用于用户标识的用户ID(例如,通过用户或用户组)和用于实时内容扫描的内容ID(例如,控制网页浏览和限制数据和文件传送)。这些标识技术允许企业使用业务相关概念安全地启用应用使用,而不是遵循传统的端口阻塞防火墙所提供的传统方法。此外,所实现的下一代防火墙的专用硬件,例如,作为一般为应用检查提供比在通用硬件上执行的软件更高的性能水平的专用设备(例如,诸如帕洛阿尔托网络公司提供的安全设备,该安全设备利用专用的、功能特定的处理,该处理与单通软件引擎紧密集成,以最大化网络吞吐量,同时最小化时延)。
高级或下一代防火墙也可以使用虚拟化防火墙来实现。这样的下一代防火墙的示例从帕洛阿尔托网络公司商业上可购得(例如,帕洛阿尔托网络的防火墙,该防火墙支持各种商业虚拟化环境,包括例如ESXiTM和NSXTM、/>Netscaler SDXTM、KVM/OpenStack(Centos/RHEL、/>)和亚马逊网络服务(AWS))。例如,虚拟化防火墙可以支持物理形状因子设备中可用的类似的或完全相同的下一代防火墙和高级威胁防护特征,从而允许企业安全地启用应用,以进入和跨越这些应用的私有、公共和混合云计算环境。自动化特征,诸如VM监测、动态地址组和基于REST的API,允许企业主动监测VM改变,以动态地将该上下文馈送给安全策略,从而消除VM改变时可能出现的策略滞后。
虚拟化计算环境的安全解决方案的技术挑战
安全服务提供商提供各种商业上可获得的安全解决方案,包括各种防火墙、VPN和其他安全相关服务。例如,一些安全服务提供商为其客户提供这样的安全解决方案,包括各种防火墙、VPN和其他安全相关服务。然而,容器环境(例如,企业网络环境和在基于容器的环境中执行应用的服务,也称为容器化应用)的不断增加为这样的安全解决方案呈现了新的技术挑战。
具体地,由于将安全平台/解决方案(例如,商业上可获得的防火墙,诸如来自总部在加州圣克拉拉的帕洛阿尔托网络公司的网络网关防火墙(NGFW)或另一个商业上可获得的安全平台/解决方案)有效和高效地插入容器化应用的网络流量的路径中,因此保护容器环境中(例如,在Kubernetes集群或另一个商业上可获得的容器环境中)的容器化应用第7层(L7)流量在技术上具有挑战性。
因此,需要新的和改进的解决方案来促进有效和高效的安全平台/解决方案,以保护容器环境中的容器化应用第7层(L7)流量。
保护容器化应用的技术的概述
许多企业网络环境正在转向托管容器服务产品,因为它一般降低了通过将大部分责任卸载给公共云提供商来管理例如Kubernetes集群的复杂性和操作开销。各种托管容器平台由不同的云服务提供商提供,诸如Google Kubernetes Engine(GKE)、MicrosoftAzure Container Service(AKS)、MicrosoftAzure ContainerInstances(ACI)、AmazonElastic Container Service for Kubernetes(Amazon EKS)和Amazon Fargate。
然而,企业一般期望对这些托管容器服务内pod之间和服务之间的流量的完全可见性和保护。它们还受到网络安全选项的进一步限制,因为每个云服务提供商通常都有它们自己的联网基础设施和机制(例如,接口或其他解决方案,诸如容器网络接口(CNI)插件),其中需要实施安全。照此,期望为这样的环境提供安全解决方案,在这种环境中,安全(例如,防火墙)生命周期和安全策略规定可以集成到各种托管容器服务环境中(例如,以及容器集成/容器部署(CI/CD)管线),以促进自动化安全解决方案连同这样的容器环境中的应用生命周期。
因此,公开了保护容器化应用的各种技术。
在一些实施例中,用于保护容器化应用的系统、过程和/或计算机程序产品包括检测新的应用容器(例如,应用pod);将安全实体(例如,防火墙)部署到新的应用容器;以及使用安全实体来监测去往和来自应用容器的所有流量(例如,与应用容器相关联的所有第7层入口、出口和东西流量),以实施策略(例如,安全/防火墙策略)。
在一些实施例中,用于保护容器化应用的系统、过程和/或计算机程序产品进一步包括将流量日志数据从安全实体发送给安全管理实体。
例如,所公开的保护容器化应用的技术可以促进将安全平台/解决方案透明地插入容器环境中的应用层网络流量的路径中(例如,包括容器环境中的容器化应用第7层(L7)流量,诸如在Kubernetes集群或另一个商业上可获得的容器环境中)。具体地,安全平台/解决方案(诸如防火墙)可以透明地插入入口、出口和东西流的所有流量的路径中,而无需修改流,包括支持在流上实现和实施策略(例如,网络/安全策略),以应用例如应用标识(APPID)和/或全面威胁检查(例如,使用网络流量的深度分组检查(DPI)),诸如下面将进一步描述的。
在示例实施方式中,所公开的用于保护容器化应用的技术可以为容器环境(诸如Kubernetes集群)内的pod的网络流量提供内联安全解决方案,包括集群内的入口流、出口流和东西流量。照此,所公开的用于保护容器化应用的技术无缝地提供了这样的流和不同类型的网络流量的安全覆盖。鉴于容器环境(诸如Kubernetes)一般意图使得能够实现应用的简单部署,这些应用可以被有效地视为丢弃的pod,而不是长期存在的应用,所公开的技术不仅促进到所有这样的流中的无缝插入,而且还可以被动态执行,而在pod被创建和销毁时无需用户干预(例如,动态部署和移除具有应用pod的防火墙),诸如下面将进一步描述的。
照此,所公开的用于保护容器化应用的技术可以促进无缝插入。例如,在执行期间(例如,在运行时),应用pod不一定具有正在执行的安全的任何可见性,因为没有sidecar容器、IP表或从应用pod内部看到的任何修改,诸如下面将进一步描述的。
此外,所公开的用于保护容器化应用的技术可以促进严格的内联安全。例如,鉴于应用到Kubernetes节点的网络/网桥连接(接口)穿过防火墙/安全解决方案(例如,PAN-OS)接口,应用pod一般无法绕过安全,如下面将进一步描述的。
进一步地,所公开的用于保护容器化应用的技术一般可以覆盖所有网络流量流。例如,所公开的安全解决方案覆盖了容器环境内的入口、出口和东西流量流(例如,在不修改容器环境中的流的情况下,对入口、出口和东西流进行APP ID和威胁检查,诸如不需要改变Kubernetes基础设施的Kubernetes集群),诸如下面将进一步描述的。所公开的安全解决方案也是云原生的,并且可以与所有容器环境部署(例如,Kubernetes部署)一起工作,诸如下面将进一步描述的。
此外,所公开的用于保护容器化应用的技术一般可以覆盖所有网络流量类型。例如,与通常取决于主机的网络过滤器和特定的协议特征并且由此仅保护那些类型的流量协议(即,通常是TCP选项,没有UDP覆盖)的各种其他安全方法相反,接口级管道使得能够实现所有类型的网络流量的安全覆盖,诸如下面将进一步描述的。
此外,所公开的用于保护容器化应用的技术一般可以检查会话的所有分组。例如,鉴于防火墙(例如,PAN-OS防火墙)严格内联到所有离开/进入应用pod的流量,它使得所公开的安全解决方案能够检查会话/流的所有分组,而不只依赖于TCP SYN分组等,诸如下面将进一步描述的。
此外,所公开的用于保护容器化应用的技术可以促进容器环境的增强安全性能。其他方法通常实现为网络代理,诸如代表。这些方法一般需要终止和重新建立所有流量流,这向流量添加了显著的开销。相比之下,所公开的安全解决方案使用RAW套接口,并且照此减少了时延并且提高了吞吐量。
进一步地,所公开的用于保护容器化应用的技术可以在每个节点上利用单个防火墙代理。照此,与其他一些其他基于sidecar的方法不同,每个节点仅有一个防火墙在执行,诸如下面将进一步描述的。
容器环境的大多数当前的安全方法也依赖于节点上的IP表/网络过滤器或Berkeley分组过滤器(BPF)过滤器来实现网络策略。这种解决方案不会干扰其中的任何一个,并且可以与这样的现有解决方案一起工作。此外,所公开的安全解决方案不依赖于IP表/网络过滤器或BPF过滤器来重定向流量,并且照此,针对IP表的添加/删除改变的爆炸半径不会随着部署新的pod/服务而增加。
因此,公开了用于保护容器化应用的各种技术,诸如下面将进一步描述的。
用于保护容器化应用的示例系统实施例
图1A是根据一些实施例的单个防火墙集群的安全容器部署的框图。在该示例中,安全解决方案部署在Kubernetes集群中,该集群包括Kubernetes Master 110和Kubelet112A-D。参照图1A,提供具有被示出为管理Pod 104的单个管理平面的Kubernetes集群是为了保护所选的受保护Pod 106A-G,并且剩余的Pod 108A-C不受保护,如所示。
在示例实施方式中,当前虚拟机(VM)图像的安全管理平面和安全数据平面是分开的并且部署在单独的容器中。管理平面(MP)容器(例如,作为有状态服务被部署)可以管理多个数据平面(DP)容器(例如,能够支持32个(或更多个)单独的数据平面容器)。管理平面和数据平面容器可以通过安全隧道(例如,IPSec隧道或另一个安全隧道/通信机制)进行通信。附接到管理容器的每个数据平面容器都可以完全独立于任何其他数据平面容器操作,并且具有单独的生命周期。在该示例中,附接到管理平面容器的所有数据平面容器具有相同的策略(例如,推送给它们的防火墙/安全策略)。管理容器可以通过防火墙/安全管理平台进行管理(例如,使用Panorama,该Panorama从总部在加州圣克拉拉的帕洛阿尔托网络公司商业上可购得,作为虚拟机(VM)或作为物理设备被部署,或使用另一个商业上可获得的防火墙/安全管理平台),并且在该示例中,该防火墙/安全管理平台的每个实例可以管理多达1,000个(或更多个)管理服务(例如,该管理服务可以具有例如一个或两个(或更多个)管理平面pod)。
在该示例实施方式中,Kubernetes集群部署了支持安全管理平面容器的服务。用户可以将单个管理pod作为有状态服务部署(例如,如图1A和图1B中的104所示)或在管理pod上部署容错对。管理pod一般部署在任何数据平面pod之前。集群的管理员(例如,安全管理员)将能够选择性地将安全插入所选的pod,如图1A中所示,或可以将安全拆分到不同的安全管理域中,如图1B中所示。
例如,所有流量、URL和威胁日志都可以在IPSec隧道上通过DP容器转发给它已经注册的MP容器。DP可以在转发给MP之前在数据平面日志中的入口和出口接口中插入其槽。所有流量日志都可以在MP容器上维护,以转发给安全管理平台(例如,Panorama或防火墙的另一个商业上可获得的安全管理平台等)。在该示例中,没有日志存储在DP容器上。替代地,日志可以缓存在DP容器上,并且然后定期转发给MP容器,如上面类似地描述的。
图1B是根据一些实施例的两个防火墙集群的安全容器部署的框图。在该示例中,安全解决方案部署在Kubernetes集群中,该集群包括Kubernetes Master 110和Kubelet112A-D。参照图1B,提供具有包括管理Pod 104A和104B的单个管理平面的Kubernetes集群120是为了保护pod,其中,pod被拆分到不同的安全管理域中,如受保护Pod 122A-E和受保护Pod 124A-E所示。在该实施例中,每个单独的MP/DP容器集可以应用于CI/CD管线中的不同策略域(PCI或非PCI)或不同的阶段,诸如开发与生产。部署配置是灵活的,以使得用户(例如,网络/安全管理员)能够设计不同的场景。
图1C是根据一些实施例的两个防火墙集群和管理平面高可用性(HA)链路的安全容器部署的框图。在该示例中,安全解决方案部署在Kubernetes集群中,该集群包括Kubernetes Master 110和Kubelet112A-D。参照图1C,提供具有包括由HA链路134连接的管理Pod104A和另一个管理Pod 104B的管理平面服务132的Kubernetes集群130是为了保护pod,其中,pod被拆分到不同的安全管理域中,如受保护Pod 122A-F和受保护Pod 124A-E所示。
管理平面故障转移的示例场景是,有两个管理pod作为MP服务被部署。在该示例中,每个管理pod都是活动的,并且每个都管理数据平面容器集,诸如图1C中所示。例如,当MP Pod 104故障时,服务将重新启动它,并且当MP Pod 104A不可用时,先前由MP Pod 104A(在该示例中,该MP Pod 104A包括受保护Pod 122A-F)管理的DP容器连接到MP Pod 104B。一旦MP Pod 104A重新投入使用,系统最终就将负载平衡回到稳定状态。附加故障场景可以类似地使用所公开的用于容器化环境的HA安全解决方案来处理。首先,数据平面实例可以在超过预配置超时窗口内失去对其管理平面的心跳。例如,超时可以设置为10秒或可以由管理员配置为另一个超时设置。第二,两个MP之间的HA链路可以检测MP之一的故障。第三,Kubernetes可以检测MP pod之一上的健康检查故障。这些和其他故障场景可以类似地使用所公开的用于容器化环境的HA安全解决方案来处理,如下面将进一步描述的。
在第一示例案例中,如果数据平面检测到故障,则它尝试执行到MP服务的重新连接。如果MP pod之一是可用的,则重新连接将是成功的,并且系统将继续操作。如果没有一个MP pod是可用的,则DP容器将关闭,并且应用pod将无法通过Kubernetes健康检查。这可能导致重大服务中断;然而,这种情况应该很少发生,因为它需要整个MP服务变得不可用。
在第二示例案例中,如果MPpod之一故障,则结果将与上面关于第一示例案例描述的相同,并且系统将恢复,如上面类似地描述的。
在第三示例案例中,如果Kubernetes像其将在第二示例案例中一样检测到故障,则它将尝试为服务部署新的pod。一旦新的MP pd可用,它就将开始处理到MP服务的新请求(例如,以及潜在重新连接的请求)。
技术挑战是,所有这些事件都发生在不同的时间线上,并且存在冲突的可能性。在示例实施方式中,可以实现解决方案来最小化DP-MP连接的平均恢复时间(MTTR),以防止DP关闭,并且也最小化流量日志信息的丢失。
如果第二示例用例和第三示例用例的健康检查结果是相同的,则问题可能会更简单。如果第二示例案例检测到故障,则Kubernetes将启动重启过程,以为服务创建新的MPpod。当执行此操作时,连接到故障MPpod的现有DPpod一般可以重新连接到活动MPpod,直到新的MP pod可用为止。
图2是根据一些实施例的用于保护容器化应用的系统架构的框图。在该示例中,安全解决方案部署在Kubernetes集群的应用pod中。
参照图2,两个守护进程集部署到每个要部署安全(例如,使用虚拟网络网关防火墙(NGFW)安全解决方案)的节点,诸如节点202处NGFW OS(例如,在该示例实施方式中为PAN-OS)数据平面(DP)守护进程集204和容器联网接口(CNI)守护进程集206所示。PAN-OSDP守护进程集204被示出为与208处所示的Linux网络命名空间(例如,在该示例中使用PANNS)进行通信。也如所示,包括一对veth接口214a和214b的PAN NS208与应用容器210进行通信。具体地,PAN NS208经由PAN NS208的veth接口和应用容器210的eth0接口212(例如,以太网接口)与应用容器210进行通信。PAN NS208也经由cbr0216(例如,容器网桥,它是连接所有容器pod的节点内的软件网桥)与节点202的eth0接口218进行通信。
在该示例实施方式中,所公开的用于保护容器化应用的技术可以通过扩展现有容器联网接口(CNI)(例如,CNI是开放规范,在https://github.com/containernetworking/cni/blob/master/SPEC.md#contain er-network-interface-cni-specification可获得,它使得可插入的联网实施方式能够进入容器,并且更具体地是进入Kubernetes容器,并且CNI在各种商业上可获得的基于云的容器环境(诸如GKE、AWS、Azure和OpenShift)上得到支持)来实现通过防火墙(例如,从帕洛阿尔托网络商业上可获得的基于PAN-OS的防火墙或另一个商业上可获得的防火墙)或任何其他容器联网功能(CNF)对进入和离开应用pod的所有流量进行检查,从而大大增加安全平台/解决方案(例如,帕洛阿尔托网络CN系列平台或其他商业上可获得的安全平台/解决方案)的容量。具体地,CNI链接可以用于在其他CNI之后添加PAN-CNI插件。PAN-CNI插件在Kubernetes节点上创建单独的Linux网络命名空间(PAN-NS),并且当新的应用pod启动时,它将应用pod的veth接口移动到PAN-NS命名空间(NS),并且在PAN-NS与应用pod的网络命名空间之间创建新的veth接口对。然后,PAN-NS中的这两个veth接口可以用于插入严格的内联安全,如下面将进一步描述的。在该示例实施方式中,这些接口使用商业上可获得的PAN-OS防火墙虚拟线技术来连接,并且照此,PAN-OS防火墙变成对应用pod和Kubernetes节点网络之间的所有流量进行的严格的内联安全检查。结果,应用pod和Kubernetes节点的网络之间的所有流量都穿过PAN-OS防火墙。
此外,这些改变一般对应用pod不可见,从而进一步增强了所公开的安全解决方案技术的安全和透明性。当移除应用pod时,移除veth接口对,从而促进容器环境中安全解决方案的自动清除。
在另一个示例实施方式中,所公开的用于保护容器化应用的技术是通过将节点/网桥的侧veth移动到帕洛阿尔托网络(PAN)NS命名空间(NS)(PANNS)并且在PANNS和节点的网桥之间创建新的veth接口对来实现的。这样的机制可以有效地应用于pod的所有接口,以类似地为多接口pod的所有接口流量插入严格的安全。
在一个实施例中,用于向节点202添加安全的过程可以如下执行。第一,将CNI插件添加在Kubernetes节点上的标准CNI链接中。第二,在Kubernetes节点上创建新的Linux网络命名空间(例如,在该示例中使用PAN-NS)(例如,该示例中的DP容器在单独的网络命名空间中执行,即使它正在pod的地址空间中运行,并且被配置为使得它可以监测进入/来自pod的所有入口和出口流量,同时仍然对pod有效透明,如下面进一步描述的)。第三,当新的应用pod启动时,PAN-CNI插件将应用pod的veth接口移动到PAN-NS命名空间(ethN),并且在PAN-NS(eth(n)/eth(n+1))和应用pod的网络命名空间之间创建新的veth接口对。第四,然后,PAN-NS中的这两个veth接口可以用于插入严格的内联安全,如上面类似地描述的。第五,执行使用PAN-OS防火墙虚拟线对连接这两个接口(例如,VWire基本上是线中的碰撞,其中,防火墙不会以任何方式更改分组;分组在一个接口上进入并且由防火墙检查,并且如果它被允许,则将其未改变地发送给其他接口;然而,如果它违反了策略,则它将被丢弃,参见例如https://en.wikipedia.org/wiki/Bump-in-the-wire)。第六,应用pod和Kubernetes节点的网络之间的所有流量都穿过PAN-OS防火墙。具体地,如图2中所示,所有流量(例如,管理平面和数据平面入口和出口流量)都穿过eth0接口212,并且照此,所有流量现在也穿过204处所提供的PAN-OS防火墙,如图2中所示。
例如,使用所公开的技术,可以提供专门为容器环境(例如,Kubernetes或其他商业上可获得的容器环境)构建的机器学习(ML)驱动的下一代防火墙(例如,PAN-OS防火墙,诸如从总部在加州圣克拉拉的帕洛阿尔托网络可购得的CN系列防火墙)。具体地,所公开的安全解决方案提供第7层流量可见性,包括出站流量的容器源IP,以检测和防止在命名空间边界之间传播的威胁。进一步地,所公开的安全解决方案通过与其他安全实体(例如,企业/容器环境中的其他防火墙)共享容器(例如,Kubernetes)上下文信息,实施企业级网络安全和容器流量中的威胁防护,以帮助用户提升总体安全态势。
作为示例用例场景,使用上述安全解决方案,客户可以利用白名单模型,该模型仅允许容器pod和由具有特定标签和标记的安全管理员已经批准的服务之间的流量。
作为另一个示例用例场景,L7用例可以覆盖所有流量的检查,并且因此标识使得规则能够在哪些类型的应用上构建的实际L7应用类型可以例如基于由防火墙实现的经配置的安全策略进入和离开特定pod。此外,可以针对威胁和恶意软件检查L7流的内容,以保护应用免受恶意行为的侵害。对于本领域的普通技术人员而言,现在将显而易见,所公开的用于保护容器化应用的技术可以类似地应用于各种其他用例场景。
在示例实施方式中,经配置的CNI插件链中的每个CNI插件都是通过容器编排环境按次序执行的。对于Kubernetes,链中的每个CNI插件都由kubelet过程在节点上执行,其中,pod是在kubelet的过程空间中调度的。在示例实施方式中,Istio CNI插件可以处理pod添加动作,并且在pod的网络命名空间中创建流量重定向设置。因为每个节点的kubelet都执行Istio CNI插件,所以Istio CNI插件的安装一般涉及可执行插件的每节点配置和部署。Istio节点守护进程集执行Istio CNI插件的每节点安装。CNI架构还在JSON消息中返回先前的配置步骤。这对于重新布线网络非常有用,因为用于执行veth和网桥操纵的信息可被“CMD_ADD”方法获得。一旦已经创建了pod和网络命名空间,就可以在新的网络命名空间中执行网络代理。
在该示例实施方式中,当要使用所公开的用于保护容器化应用的技术为pod提供这样的安全时,可以将标签添加到其YAML AIN’TMARKUP LANGUAGE(YAML)文件,并且CNI将pod连线到PAN-OS DP守护进程集(例如,该过程可以对应用pod透明地执行,并且在该示例中,没有代码改变(仅YAML标签)添加到应用pod),如下面将进一步描述的。
在该示例实施方式中,在从其设置中填写只这些字段之后,用户可以使用这些YAML在给定的云平台上快速部署安全解决方案/防火墙(例如,如上面描述的CN系列防火墙)。
对于示例生产部署,用户可以自定义YAML,诸如下文。pan-cn-mgmt.yaml和pan-cn-ngfw.yaml中的资源(例如,CPU、存储器)字段是用默认参数预先填充的,但是可以被自定义,以更好地适应部署场景,如本文中类似地描述的。此外,configmaps中有一些用户可以添加的可选字段,诸如用于HA中的Panorama的PAN_PANORAMA_IP2或用于在同一Panorama(例如,商业上可获得的安全管理平台,从总部在加州圣克拉拉的帕洛阿尔托网络公司可获得)下管理多个Kubernetes集群时更容易标识的CLUSTER_NAME。
一旦YAML已经按照期望进行了修改,这些YAML就可以如下面的示例所示的那样部署。
kubectl apply-f plugin-serviceaccount.yaml
kubectl apply-f pan-cni-serviceaccount.yaml
kubectl apply-f pan-mgmt-serviceaccount.yaml
kubectl apply-f pan-cni-configmap.yaml
kubectl apply-f pan-cni.yaml
kubectl apply-f pan-cn-mgmt-secret.yaml
kubectl apply-f pan-cn-mgmt-configmap.yaml
kubectl apply-f pan-cn-mgmt.yaml
kubectl apply-f pan-cn-ngfw-configmap.yaml
kubectl apply-f pan-cn-ngfw.yaml
为了启用应用pod的安全,以下注释可以应用于它们的YAML,或为了启用给定命名空间中的所有pod的安全,该注释可以应用于命名空间:paloaltonetworks.com/firewall:pan-fw,例如,对于“默认”命名空间。
kubectl annotate namespace default paloaltonetworks.com/firewall=pan-fw
OpenShift使multus CNI充当“元插件”,其调用其他CNI插件。为了将上述示例PAN-CNI插件与OpenShift容器环境中的这样的multus集成,可以为应用pod执行这两个额外的步骤。第一,可以使用kubectl apply-fpan-cni-net-attach-def.yaml-n<target-namespace>在每个应用pod的命名空间中部署NetworkAttachmentDefinition“pan-cni”。第二,可以在应用pod的YAML中添加注释k8s.v1.cni.cncf.io/networks:pan-cni。
图3A是根据一些实施例的在应用pod中创建数据平面(DP)容器的序列图。为了启动Kubernetes容器环境中的DP容器,可以使用Kubernetes CNI网络插件,如现在将描述的。具体地,我们创建了CNI插件来揭露我们的资源。这里的资源主要是新的网络命名空间,DP应用可以附加到该命名空间,如上面类似地描述的。
参照图3A,序列图一般图示了启动Kubernetes容器环境中新的守护进程集的流程。一般地,在创建新的DP守护进程集之前,应该已经部署了可用的MPpod/服务,并且服务名称和凭据应该是DP进程守护集的configmap的部分。如图3A的阶段1所示,调用Kubectl302来创建新的DP守护进程集。在阶段2,使用containerd 304创建CNI守护进程集306。在阶段3,CNI守护进程集306为DP守护进程集308分配新的网络命名空间,如所示。在阶段4,Kubectl 302containerd用于分配新的DP守护进程集。在阶段5,DP守护进程集连接到其MP容器310,并且向MP容器注册(例如,到MP容器的传递、分配的内核、容器ID、pod名称以及可能的其他标签/元数据)。在阶段6,MP容器返回唯一的槽号给DP容器,该槽号用作MP通信中的标识符。最后,在阶段7,DP守护进程集监测来自Kubernetes应用pod的新接口创建请求。
图3B是根据一些实施例的使用Kubernetes关闭节点中的数据平面(DP)守护进程集的序列图。现在将关于图3B描述使用Kubernetes关闭应用pod中的DP守护进程集的过程。在阶段1,kubectl 302发出销毁请求。在阶段2,将来自containerd 304的请求发送给DP守护进程集以关闭。在阶段3,向MP容器310发送该槽正在被移除的通知。否则,MP容器可以从Kubernetes确定pod已经被移除。这包括MP容器移除pod并且在许可服务中将资源标记为空闲。在阶段4,CNI守护进程集306接收来自containerd 304的关闭请求。在阶段5,CNI守护进程集308删除为防火墙创建的网络命名空间,并且关闭CNI守护进程集,并且CNI插件释放分配给DP容器的资源。
图4A中示出了数据设备400的实施例。在各个实施例中,所示的示例是物理组件的表示,如果网络网关实现为数据设备,则这些物理组件可以包括在网络网关400中。具体地,数据设备包括高性能多核中央处理单元(CPU)402和随机存取存储器(RAM)404。数据设备还包括存储装置410(诸如一个或多个硬盘或固态存储单元)。在各个实施例中,数据设备存储(是否在RAM404、存储装置410和/或其他适当的位置中)信息,该信息用于监测企业网络并且实现所公开的技术。这样的信息的示例包括应用标识符、内容标识符、用户标识符、所请求的URL、IP地址映射、策略和其他配置信息、签名、主机名/URL分类信息、恶意软件简档和机器学习模型。数据设备还可以包括一个或多个可选的硬件加速器。例如,数据设备可以包括被配置为执行加密和解密操作的密码引擎406和被配置为执行匹配、充当网络处理器和/或执行其他任务的一个或多个现场可编程门阵列(FPGA)408。
在本文中描述的由数据设备执行的功能可以以各种方式提供/实现。例如,数据设备可以是专用装置或装置集。由数据设备提供的功能也可以集成到通用计算机、计算机服务器、网关和/或网络/路由装置上的软件中或作为该软件执行。在一些实施例中,至少一些被描述为由数据设备提供的服务是由在客户端装置上执行的软件代替(或附加)提供给客户端装置(例如,端点装置,诸如膝上型计算机、智能手机等)的。
每当数据设备被描述为执行任务时,数据设备的单个组件、组件子集或所有组件都可以协作以执行任务。类似地,每当数据设备的组件被描述为执行任务时,子组件都可以执行任务和/或组件可以结合其他组件一起执行任务。在各个实施例中,数据设备的部分由一个或多个第三方提供。取决于诸如数据设备可用的计算资源量之类的因素,可以省略数据设备的各种逻辑组件和/或特征,并且本文中所描述的技术相应地进行适配。类似地,附加的逻辑组件/特征可以包括在数据设备的实施例中,如果适用的话。在各个实施例中包括在数据设备中的组件的一个示例是应用标识引擎,该引擎被配置为标识应用(例如,使用各种应用签名基于分组流分析标识应用)。例如,应用标识引擎可以确定会话涉及的流量类型,诸如网页浏览——社交联网、网页浏览——新闻;SSH;等等。
所公开的系统处理架构在不同的部署场景下可以与不同类型的云一起使用,诸如以下:(1)公共云、(2)预置的私有云以及(3)在高端物理防火墙内部。可以分配一些处理能力来执行私有云(例如,使用帕洛阿尔托网络PA-5200系列防火墙设备中的管理平面(MP))。
图4B是数据设备的实施例的逻辑组件的功能图。在各个实施例中,所示的示例是逻辑组件的表示,这些逻辑组件可以包括在网络网关400中。除非另有指定,否则网络网关400的各种逻辑组件一般以各种方式可实现,包括作为一个或多个脚本的集合(例如,以Java、python等编写,如果适用的话)。
如所示,网络网关400包括防火墙,并且包括管理平面432和数据平面434。管理平面负责管理用户交互,诸如通过提供用于配置策略和查看日志数据的用户接口。数据平面负责管理数据,诸如通过执行分组处理和会话处理。
网络处理器436被配置为接收分组,并且将其提供给数据平面434以进行处理。每当流模块438将分组标识为新会话的部分时,它创建新的会话流。后续的分组将基于流查找被标识为属于会话。如果适用,则SSL解密由SSL解密引擎440应用。否则,省略SSL解密引擎440所进行的处理。解密引擎440可以帮助网络网关400检查和控制SSL/TLS和SSH加密流量,并且因此帮助阻止可能以其他方式仍然隐藏在加密流量中的威胁。解密引擎440还可以帮助防止敏感内容离开企业/安全客户的网络。解密可以基于参数(诸如:URL分类、流量源、流量目的地、用户、用户组和端口)选择性地控制(例如,启用或禁用)。除了解密策略(例如,指定要解密哪些会话),还可以分配解密简档来控制由策略控制的会话的各种选项。例如,可能需要使用特定的密码套件和加密协议版本。
应用标识(APP-ID)引擎442被配置为确定会话涉及什么类型的流量。作为一个示例,应用标识引擎442可以识别接收到的数据中的GET请求,并且得出会话需要HTTP解码器的结论。在一些情况下,例如,网络浏览会话,所标识的应用可以改变,并且这样的改变将由网络网关400记录。例如,用户最初可以浏览到企业Wiki(基于访问的URL被分类为“网页浏览——生产力”),并且然后浏览到社交联网站点(基于访问的URL被分类为“网页浏览——社交联网”)。不同类型的协议具有对应的解码器。
基于应用标识(APP-ID)引擎422的确定,威胁引擎444将分组发送给适当的解码器,该解码器被配置为将分组(其可以是无序接收的)组装成正确的次序,执行令牌化并且提取出信息。威胁引擎444还执行签名匹配,以确定分组应该发生什么。根据需要,SSL加密引擎446可以重新加密经解密的数据。使用转发模块448转发分组以进行传输(例如,到目的地)。
也如图4B中所示,策略452被接收并且被存储在管理平面432中。策略可以包括一个或多个规则,该规则可以使用域和/或主机/服务器名称来指定,并且规则可以应用一个或多个签名或其他匹配准则或启发法,诸如基于来自被监测的会话流量流的各种提取的参数/信息对订户/IP流实施安全策略。提供接口(I/F)通信器450以进行管理通信(例如,经由(REST)API、消息或网络协议通信或其他通信机制)。
如现在将显而易见,用于执行安全/防火墙策略实施的这样的示例数据设备的实施例的上述逻辑组件可以类似地在软件中实现,诸如本文中类似地描述的用于保护容器化应用的虚拟或基于容器的防火墙实施方式。
下面将进一步描述用于保护容器化应用的示例过程实施例。
用于保护容器化应用的示例过程实施例
图5是根据一些实施例的用于保护容器化应用的过程的流程图。在一个实施例中,过程500是使用上面描述的系统架构(例如,诸如上面关于图1A-4B所描述的)来执行的。
当检测到新的应用容器时,过程在502处开始。例如,应用容器可以是在基于云的容器服务中执行的容器化应用,如上面类似地描述的。
在504处,将安全实体部署到新的应用容器。例如,安全实体可以包括防火墙,该防火墙被无缝地部署在应用容器中以监测应用容器的所有流量(例如,入口、出口和东西流量),如上面类似地描述的。
在506处,安全实体监测去往和来自应用容器的所有流量,以实施策略。例如,部署到应用容器的防火墙可以通过检查流量(例如,使用深度分组检查(DPI))来检查应用容器的所有流量(例如,入口、出口和东西流量),以实施安全/防火墙策略(例如,基于APP-ID和/或与网络流量相关联的其他元信息),如上面类似地描述的。
图6是根据一些实施例的用于保护容器化应用的过程的另一个流程图。在一个实施例中,过程600是使用上面描述的系统架构(例如,诸如上面关于图1A-4B所描述的)来执行的。
当检测到新的应用容器时,过程在602处开始。例如,应用容器可以是在基于云的容器服务中执行的容器化应用,如上面类似地描述的。
在604处,将安全实体部署到新的应用容器。例如,安全实体可以包括防火墙,该防火墙被无缝地部署在应用容器中以监测应用容器的所有流量(例如,入口、出口和东西流量),如上面类似地描述的。
在606处,安全实体无缝地检查应用容器的所有第7层(L7)入口和出口流量。例如,安全实体可以透明地部署在应用容器中,以无缝地检查包括应用容器(例如,应用pod)的L7应用流量的所有流量,如上面类似地描述的。
在608处,安全实体基于所检查的流量实施安全策略。例如,部署到应用容器的防火墙可以通过检查流量(例如,使用深度分组检查(DPI))来检查应用容器的所有流量(例如,入口、出口和东西流量),以实施安全/防火墙策略(例如,基于APP-ID和/或与网络流量相关联的其他元信息,诸如用于威胁检查/实施),如上面类似地描述的。
在610处,安全实体将流量日志数据从安全实体发送给安全管理实体。例如,安全实体可以定期将流量日志数据发送给安全管理实体或在销毁应用容器/pod之前将这样的流量日志数据发送给安全管理实体,如上面类似地描述的。
尽管出于清楚理解的目的,已经详细描述了前述实施例,但是本发明并不限于所提供的细节。有许多替代方式来实现本发明。所公开的实施例是说明性的,而非限制性的。
Claims (23)
1.一种系统,包括:
处理器,被配置为:
检测新的应用容器;
将安全实体部署到所述应用容器;以及
使用安全实体监测去往和来自所述应用容器的所有流量,以实施策略;以及
存储器,耦合到所述处理器并且被配置为向所述处理器提供指令。
2.根据权利要求1所述的系统,其中,所述安全实体是防火墙。
3.根据权利要求1所述的系统,其中,所述策略是安全策略。
4.根据权利要求1所述的系统,其中,所述安全实体是防火墙,并且所述策略是安全策略。
5.根据权利要求1所述的系统,其中,监测去往和来自所述应用容器的所有流量包括监测与所述应用容器相关联的所有第7层入口、出口和东西流量。
6.根据权利要求1所述的系统,其中,监测去往和来自所述应用容器的所有流量包括与使用深度分组检测而确定的流相关联的应用标识。
7.根据权利要求1所述的系统,其中,所述应用容器是在基于云的容器服务中执行的。
8.根据权利要求1所述的系统,其中,所述应用容器是在基于云的容器服务中执行的,所述基于云的容器服务是使用公共云服务提供商来提供的。
9.根据权利要求1所述的系统,其中,所述应用容器是在基于云的容器服务中执行的,所述基于云的容器服务是使用多个公共云服务提供商来提供的。
10.根据权利要求1所述的系统,其中,所述处理器进一步被配置为:
将流量日志数据从安全实体发送给安全管理实体。
11.一种方法,包括:
检测新的应用容器;
将安全实体部署到所述应用容器;以及
使用安全实体监测去往和来自所述应用容器的所有流量,以实施策略。
12.根据权利要求11所述的方法,其中,所述安全实体是防火墙,并且所述策略是安全策略。
13.根据权利要求11所述的方法,其中,监测去往和来自所述应用容器的所有流量包括监测与所述应用容器相关联的所有第7层入口、出口和东西流量。
14.根据权利要求11所述的方法,其中,所述应用容器是在基于云的容器服务中执行的。
15.根据权利要求11所述的方法,其中,所述应用容器是在基于云的容器服务中执行的,所述基于云的容器服务是使用公共云服务提供商来提供的。
16.根据权利要求11所述的方法,其中,所述应用容器是在基于云的容器服务中执行的,所述基于云的容器服务是使用多个公共云服务提供商来提供的。
17.根据权利要求11所述的方法,进一步包括:
将流量日志数据从安全实体发送给安全管理实体。
18.一种计算机程序产品,所述计算机程序产品体现在有形计算机可读存储介质中并且包括计算机指令,所述指令用于:
检测新的应用容器;
将安全实体部署到所述应用容器;以及
使用安全实体监测去往和来自所述应用容器的所有流量,以实施策略。
19.根据权利要求18所述的计算机程序产品,其中,所述安全实体是防火墙,并且所述策略是安全策略。
20.根据权利要求18所述的计算机程序产品,其中,监测去往和来自所述应用容器的所有流量包括监测与所述应用容器相关联的所有第7层入口、出口和东西流量。
21.一种系统,包括:
处理器,被配置为:
检测新的应用容器;
将安全实体部署到容器环境中的应用层网络流量的路径中的所述应用容器,以保护所有网络流量类型,其中,所述安全实体被透明地插入入口、出口和东西流的所有应用层网络流量的路径中,而无需修改所述流和无需通过执行以下动作来使用sidecar容器或IP表:
在容器环境中的节点上生成与安全实体相关联的新的网络命名空间;以及
将节点的侧接口移动到与安全实体相关联的新的网络命名空间,并且在新的网络命名空间和与所述应用容器相关联的网络命名空间之间创建新的接口对,其中,与安全实体相关联的新的网络命名空间和与所述应用容器相关联的网络命名空间之间的新的接口对促进在容器环境中执行内联安全,以检测和防止在命名空间边界之间传播的威胁;
使用安全实体监测去往和来自所述应用容器的所有流量,以实施策略;以及
将流量日志数据从安全实体发送给安全管理实体,其中,所述流量日志数据被定期和在所述应用容器被销毁之前发送给安全管理实体;以及
存储器,耦合到所述处理器并且被配置为向所述处理器提供指令。
22.根据权利要求21所述的系统,其中,所述安全实体被动态地部署到所述应用容器,在创建和销毁所述应用容器时,无需用户干预所述应用容器。
23.根据权利要求21所述的系统,其中,所述策略是防火墙策略,其中,所述处理器进一步被配置为:
使用安全实体检查分组,以及
如果确定所述分组不违反安全策略,则在不需要任何修改的情况下发送所述分组,并且如果确定所述分组违反了防火墙策略,则丢弃所述分组。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/334,485 US11477165B1 (en) | 2021-05-28 | 2021-05-28 | Securing containerized applications |
US17/334485 | 2021-05-28 | ||
PCT/US2022/030734 WO2022251220A1 (en) | 2021-05-28 | 2022-05-24 | Securing containerized applications |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117378174A true CN117378174A (zh) | 2024-01-09 |
Family
ID=83603570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280037835.7A Pending CN117378174A (zh) | 2021-05-28 | 2022-05-24 | 保护容器化应用 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11477165B1 (zh) |
EP (1) | EP4352919A4 (zh) |
JP (1) | JP7503219B2 (zh) |
KR (1) | KR20230160938A (zh) |
CN (1) | CN117378174A (zh) |
WO (1) | WO2022251220A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220303295A1 (en) * | 2017-11-27 | 2022-09-22 | Lacework, Inc. | Annotating changes in software across computing environments |
US11689505B2 (en) * | 2021-06-28 | 2023-06-27 | Cisco Technology, Inc. | Dynamic proxy response from application container |
US11847611B2 (en) * | 2021-07-23 | 2023-12-19 | Dell Products, L.P. | Orchestrating and automating product deployment flow and lifecycle management |
US11960918B2 (en) | 2021-07-23 | 2024-04-16 | Dell Products L.P. | Creating product orchestration engines |
US12032855B2 (en) | 2021-08-06 | 2024-07-09 | Commvault Systems, Inc. | Using an application orchestrator computing environment for automatically scaled deployment of data protection resources needed for data in a production cluster distinct from the application orchestrator or in another application orchestrator computing environment |
US12068914B2 (en) * | 2022-03-11 | 2024-08-20 | Parallel Wireless, Inc. | SCTP micro-service high availability in public/private cloud |
US20240012717A1 (en) * | 2022-07-11 | 2024-01-11 | Commvault Systems, Inc. | Protecting configuration data in a clustered container system |
US20240037229A1 (en) * | 2022-07-28 | 2024-02-01 | Pure Storage, Inc. | Monitoring for Security Threats in a Container System |
US20240064005A1 (en) * | 2022-08-17 | 2024-02-22 | Saudi Arabian Oil Company | Automating the creation and maintenance of containerized applications' custom routes and associated ssl certificates |
US20240273187A1 (en) * | 2023-02-13 | 2024-08-15 | Cisco Technology, Inc. | Systems and methods for extracting and processing auditable metadata |
CN117081959B (zh) * | 2023-10-17 | 2023-12-22 | 明阳产业技术研究院(沈阳)有限公司 | 一种网络连通性监测与恢复方法、系统、介质及设备 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040193943A1 (en) | 2003-02-13 | 2004-09-30 | Robert Angelino | Multiparameter network fault detection system using probabilistic and aggregation analysis |
US8612612B1 (en) | 2011-09-28 | 2013-12-17 | Juniper Networks, Inc. | Dynamic policy control for application flow processing in a network device |
US9858157B2 (en) * | 2012-10-31 | 2018-01-02 | International Business Machines Corporation | Intelligent restore-container service offering for backup validation testing and business resiliency |
WO2014205517A1 (en) * | 2013-06-25 | 2014-12-31 | Ditno. Pty Ltd | Method and system for managing a host-based firewall |
US20160342801A1 (en) * | 2014-06-25 | 2016-11-24 | defend7, Inc. | Containerized security as a service |
TWI590617B (zh) | 2014-09-16 | 2017-07-01 | 科勞簡尼克斯股份有限公司 | 以彈性地定義之通信網路控制器為基礎之網路控制、操作及管理 |
US10027637B2 (en) | 2015-03-12 | 2018-07-17 | Vormetric, Inc. | Secure and control data migrating between enterprise and cloud services |
US10616279B2 (en) * | 2016-08-30 | 2020-04-07 | Nicira, Inc. | Adaptable network event monitoring configuration in datacenters |
US20190394170A1 (en) | 2017-02-27 | 2019-12-26 | Alireza Shameli-Sendi | Firewall rule set composition and decomposition |
US11140455B1 (en) * | 2017-06-09 | 2021-10-05 | Amazon Technologies, Inc. | Video encoder network sandboxing |
US10481897B2 (en) * | 2017-07-04 | 2019-11-19 | Vmware, Inc. | System and method for resilient software upgrades in a virtual datacenter |
US10652942B2 (en) | 2017-08-14 | 2020-05-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and device for network initiated packet data unit, PDU, session establishment in a telecommunication network |
US10887346B2 (en) | 2017-08-31 | 2021-01-05 | International Business Machines Corporation | Application-level sandboxing |
CN107959614B (zh) | 2017-10-30 | 2020-11-10 | 广东睿江云计算股份有限公司 | 一种基于网络命名空间的多租户自定义组网方法、系统 |
US10887944B2 (en) | 2018-08-20 | 2021-01-05 | Telefonaktiebolaget Lm Ericsson (Publ) | User plane function control of control plane-user plane separation |
US10462653B1 (en) | 2018-09-27 | 2019-10-29 | Palo Alto Networks, Inc. | Service-based security per data network name in mobile networks |
EP3644206A1 (en) * | 2018-10-22 | 2020-04-29 | Koninklijke Philips N.V. | A container builder for individualized network services |
US11159487B2 (en) * | 2019-02-26 | 2021-10-26 | Juniper Networks, Inc. | Automatic configuration of perimeter firewalls based on security group information of SDN virtual firewalls |
US11088952B2 (en) | 2019-06-12 | 2021-08-10 | Juniper Networks, Inc. | Network traffic control based on application path |
US20230262076A1 (en) | 2022-02-14 | 2023-08-17 | Mellanox Technologies, Ltd. | Malicious domain generation algorithm (dga) detection in memory of a data processing unit using machine learning detection models |
-
2021
- 2021-05-28 US US17/334,485 patent/US11477165B1/en active Active
-
2022
- 2022-05-24 JP JP2023572885A patent/JP7503219B2/ja active Active
- 2022-05-24 KR KR1020237038019A patent/KR20230160938A/ko active IP Right Grant
- 2022-05-24 WO PCT/US2022/030734 patent/WO2022251220A1/en active Application Filing
- 2022-05-24 EP EP22811988.9A patent/EP4352919A4/en active Pending
- 2022-05-24 CN CN202280037835.7A patent/CN117378174A/zh active Pending
- 2022-08-31 US US17/900,721 patent/US11924165B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP4352919A1 (en) | 2024-04-17 |
WO2022251220A1 (en) | 2022-12-01 |
EP4352919A4 (en) | 2024-07-10 |
US11924165B2 (en) | 2024-03-05 |
JP2024522101A (ja) | 2024-06-11 |
KR20230160938A (ko) | 2023-11-24 |
US11477165B1 (en) | 2022-10-18 |
US20230008901A1 (en) | 2023-01-12 |
JP7503219B2 (ja) | 2024-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11924165B2 (en) | Securing containerized applications | |
US11750563B2 (en) | Flow metadata exchanges between network and security functions for a security service | |
US12003485B2 (en) | Outbound/inbound lateral traffic punting based on process risk | |
US20230388349A1 (en) | Policy enforcement using host information profile | |
US10855656B2 (en) | Fine-grained firewall policy enforcement using session app ID and endpoint process ID correlation | |
US11888816B2 (en) | Localization at scale for a cloud-based security service | |
US8892665B1 (en) | Encrypted peer-to-peer detection | |
US9917849B2 (en) | Security system for physical or virtual environments | |
US11785048B2 (en) | Consistent monitoring and analytics for security insights for network and security functions for a security service | |
CN114531263B (zh) | 网络与安全服务的安全功能之间的流元数据交换的方法、系统与介质 | |
Le et al. | Experiences deploying a transparent split tcp middlebox and the implications for nfv | |
US20220385631A1 (en) | Distributed traffic steering and enforcement for security solutions | |
US20240121187A1 (en) | Deploying ipv6 routing |
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 |