CN110120934A - 应用防火墙策略的方法、软件定义网络控制器和介质 - Google Patents
应用防火墙策略的方法、软件定义网络控制器和介质 Download PDFInfo
- Publication number
- CN110120934A CN110120934A CN201811443201.3A CN201811443201A CN110120934A CN 110120934 A CN110120934 A CN 110120934A CN 201811443201 A CN201811443201 A CN 201811443201A CN 110120934 A CN110120934 A CN 110120934A
- Authority
- CN
- China
- Prior art keywords
- application
- firewall
- signature
- strategy
- software defined
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
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/0263—Rule management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0894—Policy-based network configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/34—Signalling channels for network management communication
- H04L41/342—Signalling channels for network management communication between virtual entities, e.g. orchestrators, SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
-
- 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/0227—Filtering policies
- H04L63/0254—Stateful filtering
-
- 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/0272—Virtual private networks
-
- 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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及应用防火墙策略的方法、软件定义网络控制器和介质。公开了一种执行应用感知防火墙策略的数据中心的软件定义网络(SDN)控制器。在一个示例中,SDN控制器接收请求以初始化应用的实例,SDN控制器响应于接收请求向定位在数据中心的SDN网关设备与数据中心外部的网络之间的防火墙组件发送消息。在一些示例中,消息包括与应用的实例对应的应用签名以及与应用签名对应的应用防火墙策略。消息指示防火墙组件安装应用防火墙策略以应用于应用的实例的网络流量。
Description
技术领域
本公开总体上涉及计算机网络,并且更具体地涉及在虚拟网络内配置防火墙策略。
背景技术
云数据中心是为外部客户提供对虚拟化应用、服务和数据存储的访问的数据中心。在典型的云数据中心环境中,存在大量互连服务器,其提供运行各种应用的计算(例如,计算节点)和/或存储容量。例如,云数据中心包括为云数据中心的客户托管虚拟化应用和服务的设施。例如,云数据中心托管所有基础设施设备,诸如,网络和存储***、冗余电源和环境控制。在典型的云数据中心中,存储***和应用服务器的集群通过由一层或多层物理网络交换机和路由器提供的高速交换结构互连。更复杂的云数据中心提供遍布全球的基础设施,其中订户支持设备位于各种物理托管设施中。
软件定义网络(SDN)平台可以用于云数据中心,并且在某些情况下,可以使用逻辑上集中且物理上分散的SDN控制器以及在虚拟路由器中的分布式转发平面,这些虚拟路由器将来自云数据中心中的物理路由器和交换机的网络扩展为托管在虚拟化服务器中的虚拟覆盖网络。SDN控制器提供虚拟化网络的管理、控制和分析功能,并通过与虚拟路由器通信来编排虚拟路由器。
发明内容
总体上,本公开描述了由数据中心的SDN控制器执行应用感知防火墙策略的技术。在一些示例中,响应于接收到来自用户的访问云数据中心内的虚拟化应用的请求,SDN控制器将云数据中心的一个或多个计算节点上执行的虚拟机内的应用实例化。在实例化过程中,SDN控制器将通用和用户特定的配置应用于应用,诸如,网络和防火墙策略。应用可能被多次实例化和销毁,每次都需要重新配置和重新应用网络和防火墙策略。根据本公开的技术,SDN控制器可以确定应用的防火墙策略,并且利用防火墙策略配置位于数据中心的SDN网关外部的防火墙组件。防火墙组件可以将防火墙策略应用于应用的网络流量。
本文中公开的技术的一个示例包括在云数据中心内执行应用感知防火墙策略的SDN控制器。在一个示例中,SDN控制器从用户接收请求以初始化在云数据中心的一个或多个计算节点上执行的一个或多个虚拟机内的应用的实例。SDN控制器从防火墙组件请求与应用的实例对应的应用签名。SDN控制器从SDN控制器的应用防火墙策略库中检索与应用签名对应的应用防火墙策略。SDN控制器规定防火墙组件中的应用防火墙策略,并且防火墙组件将应用防火墙策略应用于应用的实例的网络流量。防火墙组件可以是物理设备或虚拟设备。在虚拟防火墙的示例中,虚拟防火墙可以存在于云数据中心的云内或云数据中心的云外。在物理防火墙的示例中,物理防火墙存在于云数据中心的云外,在云数据中心的SDN网关与外部网络之间。在不存在SDN网关的示例中,防火墙可以位于云与云数据中心的外部网关之间。
在一些示例中,如果SDN控制器的应用防火墙策略库中不存在与应用签名对应的应用防火墙策略,则SDN控制器生成与应用签名对应的应用防火墙策略。在其他示例中,SDN控制器从管理器接收与应用签名对应的应用防火墙策略。SDN控制器将应用防火墙策略存储在应用防火墙策略库中,以便SDN控制器可以将应用防火墙策略用于应用的后续实例。
因此,当SDN控制器第一次实例化应用的实例时,SDN控制器为应用构建网络和防火墙策略,并配置防火墙组件以将此类网络和防火墙策略应用于应用实例以及同一应用的后续实例。因此,SDN控制器可以创建应用特定的防火墙策略的集中库,并且可以在创建应用的实例时根据需要配置具有应用特定的防火墙策略的防火墙组件。本公开的技术可以简化防火墙组件的管理和配置。因此,本公开的技术可以允许SDN控制器提供用于配置和执行防火墙策略的可扩展且灵活的方法。
在一个示例中,本公开描述了一种方法,该方法包括:由数据中心的软件定义网络(SDN)控制器接收请求以初始化应用的实例;并且响应于接收请求,由SDN控制器向定位在数据中心的SDN网关设备与数据中心外部的网络之间的防火墙组件发送消息,消息包括:与应用的实例对应的应用签名;以及与应用签名对应的应用防火墙策略,其中,消息指示防火墙组件安装应用防火墙策略以应用于应用的实例的网络流量。
在另一示例中,本公开描述了一种数据中心的软件定义网络(SDN)控制器,其被配置为:接收请求以初始化应用的实例;并且响应于接收请求,向定位在数据中心的SDN网关设备与数据中心外部的网络之间的防火墙组件发送消息,消息包括:与应用的实例对应的应用签名;以及与应用签名对应的应用防火墙策略,其中,消息指示防火墙组件安装应用防火墙策略以应用于应用的实例的网络流量。
在另一示例中,本公开描述了一种包括指令的非暂时性计算机可读介质,这些指令在被执行时使执行软件定义网络(SDN)控制器的中心的一个或多个处理器执行以下项:接收请求以初始化应用的实例;并且响应于接收请求,向定位在数据中心的SDN网关设备与数据中心外部的网络之间的防火墙组件发送消息,消息包括:与应用的实例对应的应用签名;以及与应用签名对应的应用防火墙策略,其中,消息指示防火墙组件安装应用防火墙策略以应用于应用的实例的网络流量。
在附图和以下描述中阐述了本公开的技术的一个或多个示例的细节。这些技术的其他特征、目的和优点将通过说明书和附图以及通过权利要求变得显而易见。
附图说明
图1是示出具有数据中心的示例网络的框图,在该数据中心中可以实现本文中描述的技术的示例。
图2是更详细地示出图1的数据中心的示例实现方式的框图。
图3是根据本公开的技术更详细地示出SDN控制器的控制节点的示例的框图。
图4是示出防火墙组件的示例实现方式的框图,在该防火墙组件中可以实现本文中描述的技术的示例。
图5是根据本公开的技术示出示例操作的流程图。
在所有附图和描述中,类似的附图标记表示类似的元件。
具体实施方式
图1是示出具有数据中心10的示例网络5的框图,其中SDN控制器32和防火墙35根据本文种描述的技术操作以提供应用感知的防火墙策略的执行。总体上,数据中心10为通过服务提供商网络6耦合到数据中心10的客户4提供应用和服务的操作环境。数据中心10托管基础设施设备,诸如,网络和存储***、冗余电源和环境控制。服务提供商网络6可以耦合到由其他提供商管理的一个或多个网络,并且因此可以形成大规模的公共网络基础设施(例如,互联网)的一部分。
在一些示例中,数据中心10可以表示许多地理上分布的网络数据中心之一。如图1的示例中所示,数据中心10是为客户4提供网络服务的设施。客户4可以是诸如企业和政府等集体实体、或个体。例如,网络数据中心可以为若干企业和终端用户托管网络服务。其他示例服务可以包括数据存储、虚拟专用网络、流量工程、文件服务、数据挖掘、科学或超级计算等。在一些示例中,数据中心10是个体网络服务器、网络对等体或其他。
在该示例中,数据中心10包括通过由一层或多层物理网络交换机和路由器提供的高速交换结构21互连的一组存储***和应用服务器。服务器26A-26X(“服务器26”)用作数据中心的计算节点。在一些示例中,术语“计算节点”和“服务器”在本文中可互换使用以指代服务器26。例如,每个服务器26可以提供用于执行一个或多个客户特定虚拟机(图1中的“VM”)的操作环境。交换结构21由一组互连的架顶式(TOR)交换机24A-24N(统称为“TOR交换机24”)提供,这些交换机耦合到架式交换机22A-22M(统称为“架式交换机22”)的分布层。虽然未示出,但数据中心10还可以包括例如一个或多个非边缘交换机、路由器、集线器、网关、安全设备(诸如防火墙、入侵检测和/或入侵防御设备等)、服务器、计算机终端、膝上型计算机、打印机、数据库、无线移动设备(诸如蜂窝电话或个人数字助理)、无线接入点、网桥、电缆调制解调器、应用加速器或其他网络设备。
在该示例中,TOR交换机24和架式交换机22向服务器26提供到IP结构20的冗余(多宿主)连接。架式交换机22聚合流量流并在TOR交换机24之间提供高速连接。TOR交换机24是提供第二层(例如,MAC)和/或第3层(例如,IP)路由和/或交换功能的网络设备。TOR交换机24和架式交换机22分别包括一个或多个处理器和存储器,并且能够执行一个或多个软件过程。架式交换机22耦合到IP结构20,该IP结构执行第3层路由以通过服务提供商网络6在数据中心10与客户4之间路由网络流量。软件定义网络(“SDN”)网关8用于在IP结构20与服务提供商网络6之间转发和接收数据包。
根据本公开的一个或多个示例,SDN控制器32提供逻辑上且在一些情况下物理上集中的控制器,以用于促进数据中心10内的一个或多个虚拟网络的操作。贯穿本公开,术语SDN控制器和虚拟网络控制器(“VNC”)可以互换使用。在一些示例中,SDN控制器32响应于经由北向应用编程接口(API)31从编排引擎30接收的配置输入而操作,该接口又响应于从管理器28接收的配置输入而操作。关于与数据中心10的其他设备或其他软件定义网络一起操作的SDN控制器32的附加信息可以在2013年6月5日提交的题为“用于虚拟网络数据包流的物理路径确定”的国际申请号PCT/US2013/044378中找到,该申请通过引用结合于此,如同在此被完全阐述一样。
在一些示例中,编排引擎30管理数据中心10的功能,诸如,计算、存储、网络和应用资源。例如,编排引擎30可以为数据中心10内或跨数据中心的租户创建虚拟网络。编排引擎30可以将虚拟机(VM)附接到租户的虚拟网络。编排引擎30可以将租户的虚拟网络连接到某个外部网络(例如,互联网或VPN)。编排引擎30可以跨一组VM或到租户网络的边界来实现安全策略。编排引擎30可以在租户的虚拟网络中部署网络服务(例如,负载平衡器)。
在一些示例中,SDN控制器32管理网络和网络服务(诸如,负载平衡、安全性)并且经由南向API 33将资源从服务器26分配给各种应用。也就是说,南向API 33表示SDN控制器32使用的一组通信协议,以使网络的实际状态等于由编排引擎30指定的期望状态。例如,一种这样的通信协议可以包括诸如XMPP等消息传递协议。例如,SDN控制器32通过配置物理交换机(例如,TOR交换机24、架式交换机22和交换结构21)、物理路由器、诸如防火墙和负载平衡器等物理服务节点、以及诸如VM中的虚拟防火墙等虚拟服务来实现来自编排引擎30的高级请求。SDN控制器32维护状态数据库内的路由、网络和配置信息。SDN控制器32将路由信息和配置信息的合适子集从状态数据库传送到每个服务器26A-26X上的虚拟路由器(VR)代理36A-36X(图1中的“VA”)。
通常,任何两个网络设备之间的流量(诸如,IP结构20内的网络设备(未示出)之间或服务器26与客户4之间或服务器26之间的流量)可以使用许多不同的路径遍历物理网络。例如,两个网络设备之间可能存在成本相同的若干不同路径。在一些情况下,属于从一个网络设备到另一个网络设备的网络流量的数据包可以使用在每个网络交换节点处被称为多路径路由的路由策略在各种可能的路径之间分布。例如,互联网工程专案组(IETF)RFC2992的“等价多路径算法的分析”描述了用于沿着多个等成本路径路由数据包的路由技术。RFC 2992的技术分析了一种特定的多路径路由策略,该策略涉及通过散列数据包报头字段将流分配给分箱,其通过单个确定性路径发送来自特定网络流的所有数据包。
例如,“流”可以由数据包报头中使用的五个值(或“五元组”,即,协议、源IP地址、目标IP地址、源端口和目标端口)限定,其用于通过物理网络路由数据包。例如,协议指定通信协议(诸如,TCP或UDP),源端口和目标端口指的是连接的源端口和目标端口。匹配特定流条目的一组的一个或多个数据包数据单元(PDU)表示流。可以使用PDU的任何参数来广泛地将流进行分类,诸如,源和目的地数据链路(例如,MAC)和网络(例如,IP)地址、虚拟局域网(VLAN)标签、传输层信息、多协议标签交换(MPLS)或通用MPLS(GMPLS)标签以及接收流的网络设备的入口端口。例如,流可以是在传输控制协议(TCP)连接中发送的所有PDU、由特定MAC地址或IP地址发起的所有PDU、具有相同VLAN标签的所有PDU、或在同一交换机端口处接收的所有PDU。
如本文所述,每个服务器26包括相应的虚拟路由器(图1中的“VR”),其为数据中心10内的对应虚拟网络执行多个路由实例,并将数据包路由到在服务器提供的操作环境内执行的适当虚拟机。由服务器26A的虚拟路由器例如从底层物理网络结构接收的数据包可以包括外部报头,以允许物理网络结构将有效负载或“内部数据包”隧道传送到用于执行虚拟路由器的服务器26的网络接口的物理网络地址。外部报头不仅可以包括服务器的网络接口的物理网络地址,还可以包括虚拟网络标识符(诸如,VxLAN标签或多协议标签交换(MPLS)标签),其识别虚拟网络之一以及由虚拟路由器执行的对应路由实例。内部数据包包括内部报头,该内部报头具有符合由虚拟网络标识符识别的虚拟网络的虚拟网络寻址空间的目的地网络地址。
在一些方面,虚拟路由器在递送到用于数据包的适当路由实例之前缓冲和聚合从底层物理网络结构接收的多个通道封包(tunneled packet)。也就是说,在服务器26之一上执行的虚拟路由器可以从TOR交换机24接收数据包流的入站通道封包,并且在将通道封包路由到本地执行的虚拟机之前,处理通道封包以构建用于转发到虚拟机的单个聚合通道封包。也就是说,虚拟路由器可以缓冲多个入站通道封包并构造单个通道封包,其中多个通道封包的有效负载被组合成单个有效负载,并且通道封包上的外部/覆盖报头被移除并替换为单报头虚拟网络标识符。通过这种方式,聚合通道封包可以由虚拟路由器转发到虚拟机,就好像从虚拟网络接收到单个入站通道封包一样。此外,为了执行聚合操作,虚拟路由器可以利用基于内核的卸载引擎,该引擎无缝并自动地引导通道封包的聚合。在题为“用于虚拟网络的数据包分段卸载”的美国专利申请14/228,844中描述了虚拟路由器将流量转发到在服务器26上执行的客户特定虚拟机的其他示例技术,其通过引用结合于此。
在图1的示例中,SDN控制器32学习并将路由和其他信息(诸如配置信息)分发给数据中心10中的所有计算节点。在从SDN控制器32接收到路由信息时,在计算节点内运行的VR代理36通常用转发信息对数据转发元件(虚拟路由器)进行编程。SDN控制器32使用诸如XMPP协议等消息传递协议而不是使用类似边界网关协议(BGP)的路由协议等更加重量级的协议来向VR代理36发送路由和配置信息。在XMPP中,SDN控制器32和代理通过同一信道传送路由和配置。当从VR代理36接收到虚拟路由时,SDN控制器32用作消息传递协议客户端,并且在该情况下VR代理36用作消息传递协议服务器。相比之下,当SDN控制器向VR代理36发送路由时,SDN控制器32用作对于作为消息传递协议客户端的VR代理36的消息传递协议服务器。
防火墙35将防火墙策略应用于在服务器26的虚拟机上执行的一个或多个应用与数据中心10外部的其他设备(诸如经由服务提供商网络6连接到数据中心10的那些)之间流动的网络流量。防火墙35可以实现复杂的安全规则,以在网络流量进入由数据中心10提供的私有云(例如,用于IT部门)或由数据中心10提供的混合云(例如,利用公共云和私有云的组合的云)之前允许或阻止数据中心10外部的网络流量。在图1的示例中,防火墙35位于SDN网关8的外部一侧,例如,在SDN网关8与数据中心10外部的网络(诸如服务提供商网络6)的上游路由器之间。在其他示例中,防火墙35执行作为数据中心10的计算设备(诸如服务器26)的集群上的虚拟网络功能(VNF)。
在一些示例中,防火墙35在端口和协议级别强制执行各个防火墙策略。在其他示例中,防火墙35在OSI第7层应用级别强制执行各个防火墙策略(例如,可以允许超文本传输协议(HTTP)流量,同时阻止安全套接层(SSL)流量)。在一个示例中,每个防火墙策略限定多个网络流量规则。在一些示例中,防火墙35可以基于5元组规则(例如,第3层或第4层防火墙)、基于访问控制列表(ACL)、或者基于5元组和应用标识符(ID)或签名(例如,第7层防火墙)来阻止流量。每个网络流量规则可以包括至少一个源IP地址、至少一个源端口、至少一个目的地IP地址、至少一个目的端口、协议;可以指定网络流量规则是否是基于应用的;方向(例如,入口或出口流量);并且可以进一步指定模式匹配规则(例如,正则表达式)。在一些示例中,网络流量规则可以进一步为源自源并且去往目的地的网络流量指定对应的许可动作(例如,阻止流量、允许流量、记录流量或向管理器报告流量)。
在一些示例中,网络流量的源和网络流量的目的地是由一个或多个网络地址和/或一个或多个子网表示的。例如,基于防火墙策略,防火墙35可以阻止或允许流入或来自一个或多个应用的网络流量。例如,基于第一防火墙策略,防火墙35可以阻止源自第一防火墙策略指定的一个或多个地址且目的地为一个或多个应用的网络流量。作为另一示例,基于第二防火墙策略,防火墙35可以允许源自第二防火墙策略指定的一个或多个地址且目的地为一个或多个应用的网络流量。作为另一示例,基于第三防火墙策略,防火墙35可以阻止源自一个或多个应用且以第三防火墙策略指定的一个或多个地址为目的地的网络流量。作为另一示例,基于第四防火墙策略,防火墙35可以允许源自一个或多个应用且以第四防火墙策略指定的一个或多个地址为目的地的网络流量。
在一些示例中,防火墙35为数据中心10执行数据包转发和数据包过滤服务。在一些示例中,防火墙35是物理防火墙组件并且包括硬件或硬件和软件的组合。在其他示例中,防火墙35是虚拟防火墙组件并且包括在一个或多个虚拟机上执行的软件,并且在一些情况下,(多个)虚拟机可以驻留在云外部的设备上以及在SDN控制器23与外部网络的上游路由器之间。在一些示例中,防火墙35是数据中心10的基础结构的一部分。在其他示例中,防火墙35由与数据中心10分开的网络上的第三方操作。
根据本公开的技术,SDN控制器32为云数据中心10实施应用感知的防火墙策略的执行。在本文中描述的技术的一个示例中,数据中心10向一个或多个客户4提供私有云,并且可以使得能够安装应用、创建租户以及实例化虚拟机以按照需要执行应用。SDN控制器32可以应用网络许可或防火墙策略来控制哪些客户可以访问哪些应用。在一个示例中,SDN控制器32确定对于应用的防火墙策略,并使用防火墙策略配置位于数据中心10的SDN网关8外部的防火墙35。防火墙35可以将防火墙策略应用于应用的网络流量。
在SDN网关8上执行的SDN网关应用可以授权用户(诸如,数据中心10外部的一个或多个客户4)通过防火墙35和SDN网关8访问数据中心10。在客户4被授权访问数据中心10(例如,客户4属于被授权访问数据中心的应用的安全组)之后,SDN控制器32接收来自客户4的请求,以访问由数据中心10提供的应用。响应于该请求,SDN控制器32在服务器26A的虚拟机内实例化该应用的实例。在替代示例中,SDN控制器32在容器内实例化应用的实例。应用可包括:一个或多个基于网络的应用,诸如,网络浏览器或电子邮件应用;嵌套应用,诸如,视频流平台或社交媒体平台;规避应用(例如,动态更改端口的应用);或其他类型的应用。在实例化过程中,SDN控制器32将通用和用户特定的配置应用于应用实例。
此外,SDN控制器32可以向防火墙35查询与应用实例对应的应用签名,诸如,如果SDN控制器32还没有应用的应用签名的记录。在一些示例中,应用签名是应用独有的标识符。例如,应用签名可以描述应用的类型或应用的版本号,以便可以将应用与其他应用区分开。如图1中所示,响应于查询,防火墙35向SDN控制器32发送包括应用签名的消息36。
SDN控制器32从应用防火墙策略库38检索与应用签名对应的应用防火墙策略。在一些示例中,应用防火墙策略库38是将应用签名和应用防火墙策略存储为密钥:值对的数据库。换句话说,SDN控制器32可以使用应用签名来检索与应用签名对应的应用防火墙策略。SDN控制器32例如通过经由诸如网络配置协议(NETCONF)的网络管理协议发送消息37来向防火墙35提供应用防火墙策略。在一些示例中,SDN控制器32为防火墙35规定一个或多个应用防火墙策略,使得防火墙35将应用防火墙策略的防火墙规则应用于应用实例的网络流量。此类防火墙规则可以包括基于“5元组”规则、ACL或其他防火墙过滤的规则。此外,应用防火墙策略可以限定基于应用签名的防火墙规则。
在一些示例中,SDN控制器32可以从用户接收用户已经结束他或她与应用的会话的指示。响应于该指示,SDN控制器32销毁或解除分配应用实例。此外,SDN控制器32配置防火墙35以移除与应用实例的应用签名对应的应用防火墙策略。例如,SDN控制器32向防火墙35发送消息,指示防火墙35从其存储的策略中删除与应用签名对应的应用的应用防火墙策略。
在一些示例中,应用防火墙策略库38不包含与应用签名对应的应用防火墙策略。在一个示例中,SDN控制器32例如响应于确定应用防火墙策略库38不包含与应用签名对应的应用防火墙策略,生成与应用签名对应的应用防火墙策略。例如,SDN控制器32可以使用包括一个或多个通用防火墙策略的通用防火墙模板来生成与应用签名对应的应用防火墙策略。在其他示例中,SDN控制器32向管理器查询与应用签名对应的应用防火墙策略。SDN控制器32将新创建的应用防火墙策略存储在应用防火墙策略库38中,使得SDN控制器32可以将应用防火墙策略用于该应用的后续实例。
以这种方式,在一些示例中,当SDN控制器32第一次实例化应用的实例时,SDN控制器32为该应用构建网络和防火墙策略。此外,SDN控制器32配置防火墙35以将这种网络和防火墙策略应用于应用实例以及同一应用的后续实例。因此,SDN控制器32可以创建应用特定的防火墙策略的集中库,并且可以在创建应用的实例时根据需要配置具有应用特定的防火墙策略的防火墙35。本公开的技术可以简化防火墙组件(诸如,防火墙35)的管理和配置。因此,本公开的技术可以允许SDN控制器32提供用于配置和执行防火墙策略的可扩展且灵活的方法。
图2是更详细地示出图1的数据中心10的示例实现方式的框图。在图2的示例中,SDN控制器32包括一个或多个分析节点50A-50X(统称为“分析节点50”)、一个或多个配置节点52A-52X(统称为“配置节点52”)和控制节点54A-54X(统称为“控制节点54”)。总体上,节点50、52和52中的每一个可以实现为单独的软件过程,并且这些节点可以跨提供用于执行软件的环境的多个硬件计算平台分布。此外,每个节点维护状态数据56,状态数据可以存储在集中式或分布式数据库中。在一些示例中,状态数据库56是NoSQL数据库。在一些示例中,状态数据库56是数据库集群。
总体上,分析节点50的任务是收集、存储、关联和分析来自数据中心10内的虚拟和物理网络元件的信息。该信息可以包括用于管理数据中心10的路由和网络配置的统计、日志、事件和错误。分析节点50将该信息存储在状态数据库56中。
配置节点52将编排引擎30的高级数据模型转换成适合于与网络元件(诸如,物理交换机22、24和VR代理36)交互的较低级模型。配置节点52在状态数据库56内保持SDN控制器32的配置状态的持久副本。
控制节点54实现负责维护短暂网络状态的逻辑集中控制平面。控制节点54彼此交互并与网络元件(诸如服务器26的VR代理36和虚拟路由器42)交互,以确保网络状态最终与编排引擎30指定的期望状态一致。总体上,控制节点54从配置节点32接收SDN控制器32的配置状态信息,并且经由IBGP彼此交换路由以确保所有控制节点54具有相同的网络状态。此外,控制节点54经由XMPP来与服务器26上的VR代理36交换路由。控制节点54还将配置状态信息(诸如,路由实例和转发策略)例如经由XMPP传送到VR代理36,以便安装在相应的虚拟路由器42内。在一些示例中,控制节点54可以代表服务器26来代理流量。可以通过XMPP接收这些代理请求。此外,控制节点54经由BGP来与SDN网关8交换路由,并经由NETCONF来与服务节点21交换SDN控制器32的配置状态。
配置节点52提供探索服务,客户4可以使用该探索服务来定位网络内可用的各种服务。例如,如果VR代理36A尝试与控制节点54A连接,则它使用配置节点52提供的探索服务来探索控制节点54A的IP地址。在VM 48上执行的客户端可以使用本地配置、DHCP或DNS来在配置节点52内定位服务探索服务器。
在一些示例中,配置节点52呈现与编排引擎30对接的北向API。编排引擎30使用该接口使用高级数据模型来安装配置状态。配置节点52还包括消息总线,以促进内部组件之间的通信。配置节点52还包括变换器,其发现编排引擎30的高级模型中的变化并将这些变化变换为由SDN控制器32管理的低级数据模型中的相应变化。配置节点52还包括IF-MAP服务器,其提供南向API以将计算的低级配置向下推送到控制节点54。此外,配置节点52包括分布式应用管理器,分布式应用管理器用于分配独有对象标识符和跨数据中心10实现事务。
根据本公开的技术,SDN控制器32的一个或多个控制节点54为云数据中心10实施应用感知的防火墙策略的执行。在一个示例中,一个或多个控制节点54从用户(诸如客户4之一)接收访问由数据中心10提供的应用的请求。作为响应,一个或多个控制节点54将XMPP消息发送到服务器26A,以指示服务器26A的VM 48执行应用的实例。在实例化过程中,一个或多个控制节点54可以将通用和用户特定的配置应用于应用实例。
此外,一个或多个控制节点54例如经由REST将查询202发送到防火墙35以用于与应用实例对应的应用签名。响应于查询202,防火墙35向一个或多个控制节点54提供包括与应用实例对应的应用签名的响应204。一个或多个控制节点54从应用防火墙策略库38检索与应用签名对应的应用防火墙策略。一个或多个控制节点54向防火墙35发送包括应用防火墙策略的NETCONF消息206。在其他示例中,一个或多个控制节点54将包括应用防火墙策略的配置信息直接推送到防火墙35。防火墙35将应用防火墙策略应用于应用实例的网络流量。虽然在前述示例中,一个或多个控制节点54和防火墙35使用NETCONF协议来组成消息202、204和206,但是在其他示例中,一个或多个控制节点54和防火墙25可以使用其他协议来组成消息202、204和206,诸如,BGP、Google远程过程调用(“gRPC”)、OpenConf、REST、RESTCONF、OpenFlow、OpenConfig、简单网络管理协议(SNMP)、XMPP或其他类型的开源通用RPC框架。
在一些示例中,一个或多个控制节点54可以从用户接收用户已经结束了他或她与应用的会话的指示,或者可以接收应用已经终止的指示。响应于该指示,一个或多个控制节点54销毁或解除分配应用实例。此外,一个或多个控制节点54向防火墙35发送NETCONF消息,该消息使防火墙35移除与应用实例的应用签名对应的应用防火墙策略。
在一些示例中,应用防火墙策略库38不包含与应用签名对应的应用防火墙策略。在一个示例中,一个或多个控制节点54生成与应用签名对应的应用防火墙策略。例如,一个或多个控制节点54可以使用包括一个或多个通用防火墙策略的通用防火墙模板来限定与应用签名对应的应用防火墙策略。在其他示例中,一个或多个控制节点54向管理器查询与应用签名对应的应用防火墙策略。例如,一个或多个控制节点54可以提供用户界面,管理器可以使用用户界面来限定与具有应用签名的应用对应的应用防火墙策略。在经由用户界面接收到限定应用防火墙策略的数据之后,一个或多个控制节点54将应用防火墙策略存储在应用防火墙策略库38中。一个或多个控制节点54可以将应用防火墙策略重新用于同一应用的后续实例。
因此,使用本公开的技术,当一个或多个控制节点54第一次实例化应用的实例时,该一个或多个控制节点54为应用构建网络和防火墙策略、将策略存储在应用防火墙内策略库38、并配置防火墙35以将这种网络和防火墙策略应用于应用实例以及同一应用的后续实例。一个或多个控制节点54可以使用本文中描述的这种技术来创建应用特定的防火墙策略的集中库,并且可以在创建应用的实例时根据需要使用特定于应用的防火墙策略来配置防火墙35。本公开的技术可以简化防火墙组件的管理和配置。因此,本公开的技术可以允许SDN控制器(诸如,SDN控制器32)提供用于配置和执行防火墙策略的可扩展且灵活的方法。
图2中所示的数据中心10的架构仅出于示例的目的而示出。可以在图2的示例数据中心10以及本文中没有具体描述的其他类型的数据中心中实现本公开中阐述的技术。本公开中的任何内容都不应被解释为将本公开的技术限制于图2所示的示例架构。
图3是根据本公开的技术更详细地示出SDN控制器的控制节点的示例的框图。控制节点54被配置为与多个其他类型的节点通信,这些节点包括配置节点52A-52X(“配置节点52”)、其他控制节点54B-54X、计算节点62A-62X(“计算节点62”)、以及网关节点72A-72N(“网关节点”)。控制节点54A为协议70提供执行的操作环境。协议70可以包括例如XMPP过程70A、NETCONF协议过程70B、BGP过程70C和IF-MAP过程70D。此外,控制节点54A包括防火墙管理器过程74,用于使用应用防火墙策略来配置防火墙35。
控制节点使用IF-MAP从配置节点接收配置状态。控制节点使用IBGP来与其他控制节点交换路由,以确保所有控制节点具有相同的网络状态。控制节点使用XMPP来与计算节点上的vRouter代理交换路由。控制节点还使用XMPP发送配置状态,诸如,路由实例和转发策略。控制节点代表计算节点来代理某些类型的流量。这些代理请求也通过XMPP接收。控制节点使用BGP来与网关节点(路由器和交换机)交换路由。控制节点还使用NETCONF发送配置状态。
控制节点54A使用接口到元数据接入点(IF-MAP)过程70D从配置节点52中的一个或多个配置节点接收配置信息。IF-MAP过程70D可以包括用于执行软件指令的电路,这些软件指令用于根据IF-MAP协议从配置节点52发送和接收通信。IF-MAP过程70D将从配置节点52接收的配置信息存储到配置状态66(“配置状态66”)。
控制节点54A使用BGP过程70C与BGP对等体(包括控制节点54B-54X和网关节点72)交换BGP消息。网关节点72可以包括一个或多个SDN网关,诸如,SDN网关8。BGP过程70C可以包括用于执行软件指令的电路,这些软件指令用于根据BGP协议使用控制节点54B-54X发送和接收BGP消息。BGP过程70C将从来自网关节点72和控制节点54B-54X的BGP路由通告接收的路由信息存储到路由信息65。
控制节点54A根据XMPP使用XMPP过程70A与计算节点交换消息。控制节点54A经由XMPP会话64A-64B(“XMPP会话64”)交换消息。计算节点62可以对应于图1至图3的服务器26。XMPP过程70A可以包括用于执行软件指令的电路,这些软件指令用于根据XMPP协议来与计算节点62交换XMPP消息。在2011年3月P.Saint-Andre的可扩展消息传递及存在协议(XMPP):Core,IETF RFC 6120中进一步详细描述了XMPP,其全部内容通过引用结合于此。
取决于上下文,控制节点54A(并且更具体地,控制节点54A的XMPP过程70A)可以用作相对于计算节点62之一的XMPP客户端或XMPP服务器。例如,控制节点54A可以用作XMPP服务器,并且计算节点62可以是订阅由控制节点54A发布的信息(诸如,来自配置状态66的用于各个计算节点62的配置信息以及来自属于各个计算节点62的路由信息65的路由信息)的XMPP客户端。作为另一示例,控制节点54A可以用作对于作为XMPP服务器的一个或多个计算节点62的XMPP客户端,其中控制节点54A订阅由计算节点62发布的信息,诸如,由计算节点62从其他源获知的路由信息。XMPP过程70A经由XMPP会话64A从计算节点62A接收路由,并将路由存储到路由信息65。由XMPP过程70A学习的路由可以泄漏给BGP过程70C,并且BGP过程70C可以依次向其BGP对等体发送BGP路由通告,这些通告经由XMPP通告从计算节点62获知的路由信息65。在一些示例中,控制节点54A的NETCONF过程70B使控制节点54A能够经由NETCONF协议来与网关节点72通信。
根据本公开的技术,控制节点54A使用防火墙管理器74通过网关72(例如,经由NETCONF)来与防火墙35交换消息。在其他示例中,控制节点54A使用防火墙管理器74经由另一通信协议(诸如,BGP、gRPC、OpenConf、REST、RESTCONF、OpenFlow、OpenConfig、SNMP、XMPP或其他类型的开源通用RPC框架)来与防火墙35交换消息和应用签名。在一些示例中,控制节点54A使用防火墙管理器74经由HTTP/2双向流来与防火墙35交换消息。在一个示例中,控制节点54A经由REST向防火墙35发送与应用实例对应的应用签名的查询。网关节点72N接收查询并将查询转发到防火墙35,防火墙经由网关72N向防火墙管理器74提供包括与应用实例对应的应用签名的响应。控制节点54A使用防火墙管理器74向应用防火墙策略库38查询与应用签名对应的应用防火墙策略。控制节点54A从应用防火墙策略库38接收与应用签名对应的应用防火墙策略。控制节点54A使用防火墙管理器74用与应用签名对应的应用防火墙策略来配置防火墙35。例如,控制节点54A经由诸如NETCONF等协议向防火墙35发送包括应用签名和与应用签名对应的应用防火墙策略的消息。响应于接收到该消息,防火墙35安装与应用签名对应的应用防火墙策略,并将应用防火墙策略应用于应用实例的网络流量。
在一些示例中,控制节点54A从用户接收用户已经结束他或她与应用的会话的指示。响应于该指示,控制节点54A销毁或解除分配应用实例。此外,控制节点54A向防火墙35发送消息,该消息使防火墙35移除与应用实例的应用签名对应的应用防火墙策略。
在一些示例中,应用防火墙策略库38不包含与应用签名对应的应用防火墙策略。在该示例中,控制节点54A使用防火墙管理器74来向应用防火墙策略库38查询与应用签名对应的应用防火墙策略。控制节点54A接收指示应用防火墙策略库38不包含这样的应用防火墙策略的BGP消息。在一个示例中,控制节点54A使用防火墙管理器74来生成与应用签名对应的应用防火墙策略。例如,防火墙管理器74可以包括通用防火墙模板,其包括一个或多个通用防火墙策略,控制节点54A可以使用该一个或多个通用防火墙策略来限定与应用签名对应的应用防火墙策略。
在其他示例中,控制节点54A从管理器查询与应用签名对应的应用防火墙策略。控制节点54A经由用户接口76接收与应用签名对应的应用防火墙策略。在一些示例中,用户界面76是图形用户界面,而在其他示例中,用户界面76是命令行界面。在一些示例中,控制节点54A经由用户界面76呈现由图1的服务器26的虚拟机提供的一个或多个应用。控制节点54A从管理器并经由用户界面76接收对一个或多个应用的选择。响应于该选择,控制节点54经由用户界面76提供接口,管理器可以使用该接口限定包括用于所选应用的一个或多个网络流量规则的一个或多个应用防火墙策略。控制节点54经由用户接口76接收与应用签名对应的限定应用防火墙策略。
在限定了应用防火墙策略之后,控制节点54A使用防火墙管理器74向应用防火墙策略库38发送包括应用签名和应用防火墙策略的BGP消息。应用防火墙策略库38将应用签名和应用防火墙策略存储为用于后续使用的密钥:值对。此外,控制节点54A使用防火墙管理器74来配置具有如上所述的新限定的应用防火墙策略的防火墙35。因此,控制节点54A可以执行新应用签名的应用签名获知、限定与新应用签名对应的应用防火墙策略、并且为同一应用的后续实例重新使用限定的应用防火墙策略。
在一些示例中,控制节点54A将应用防火墙策略库38保持为图2的状态数据56的一部分。在一些示例中,控制节点54A将应用防火墙策略库38存储在集中式或分布式数据库中。在一些示例中,应用防火墙策略库38是数据中心10内的NoSQL数据库。在一些示例中,应用防火墙策略库38是数据中心10内的数据库集群。
因此,控制节点54A使用防火墙管理器74为应用构建网络和防火墙策略,并在应用防火墙策略库38中存储相关联的策略。此外,控制节点54A使用防火墙管理器74来配置防火墙35以将这种网络和防火墙策略应用于应用的实例以及同一应用的后续实例。因此,控制节点54A可以使用防火墙管理器74和应用防火墙策略库38来创建应用特定的防火墙策略的集中库,并且可以在创建应用的实例时根据需要使用特定于应用的防火墙策略来配置防火墙35。
图4是示出防火墙35的示例实现方式的框图,在该防火墙中可以实现本文中描述的技术的示例。在图4的示例中,防火墙35包括应用签名服务402、应用防火墙策略服务404、应用防火墙策略库406和数据包转发组件(PFC)408。在一些示例中,除了提供防火墙服务之外,防火墙35还执行数据包交换、路由或过滤功能。在一些示例中,防火墙35是物理防火墙组件并且包括硬件或硬件和软件的组合。在其他示例中,防火墙35是虚拟防火墙组件并且包括在一个或多个虚拟机上执行的软件。在一些示例中,防火墙35是数据中心10的基础结构的一部分。在其他示例中,防火墙35由与数据中心10分开的网络上的第三方操作。
根据本公开的技术,防火墙35从SDN控制器32接收请求应用的应用签名的REST消息,并用指示指定应用的应用签名的消息进行响应。在图4的示例中,防火墙35使用协议470中的一个或多个(诸如,gRPC协议470A、NETCONF协议470B、BGP协议470C、OpenConf协议470D、REST协议470E或RESTCONF协议470F中的一个或多个)来处理从SDN控制器32接收的消息。在一些示例中,应用防火墙策略服务404确定所接收的消息请求应用的应用签名。所接收的消息可以指定请求应用签名的应用的名称。
响应于所接收的消息,应用签名服务402生成应用独有的标识符,并使用该标识符作为应用签名。在其他示例中,应用签名服务402确定关于应用的独有信息(诸如,应用的类型或应用的版本号),并使用该独有信息来生成应用签名。在一些示例中,应用签名是应用的类型或应用的版本号。应用签名服务402生成包括与应用对应的应用签名的消息,并经由REST协议470B将消息发送到SDN控制器32。在其他示例中,应用签名服务402经由另一协议(诸如经由gRPC或经由HTTP/2双向流)将消息发送到SDN控制器32。
在另一示例中,应用签名服务402检测未知应用的流量并开发未知应用的应用签名。例如,应用签名服务402可以获知新攻击的新应用签名。在这样的示例中,应用签名服务402监测未知应用的行为以生成应用独有的标识符。应用签名服务402使用该标识符作为应用签名。在一些示例中,应用签名服务402经由指定应用签名的消息(例如,REST消息)将获知的应用签名提供给SDN控制器32。这允许SDN控制器32更新应用防火墙策略库38以包括新的应用签名,使得SDN控制器42可以与防火墙35的最新应用签名保持同步。
在另一示例中,防火墙35从SDN控制器32接收指定应用签名和一个或多个应用防火墙策略的消息(例如,NETCONF消息),以与对应于应用签名的应用实例一起使用。响应于接收到该消息,应用防火墙策略服务404将与应用签名对应的一个或多个应用防火墙策略(例如,作为密钥:值对)存储在应用防火墙策略库406中,并随后将一个或多个应用防火墙策略应用于与应用签名对应的应用的网络流量。
例如,防火墙35的PFC 408经由入站链路410A接收应用实例的一个或多个网络流量流的一个或多个数据包。应用防火墙策略服务404为应用应用一个或多个应用防火墙策略,并由应用防火墙策略库406存储到一个或多个数据包。例如,PFC 408经由出站链路410B转发由一个或多个应用防火墙策略允许的一个或多个网络流量流的数据包。此外,PFC 408丢弃由一个或多个应用防火墙策略禁止的一个或多个网络流量流的数据包。
在另一示例中,防火墙35从SDN控制器32接收指定应用签名并指示防火墙35移除与该应用签名对应的一个或多个应用防火墙策略的消息(例如,NETCONF消息)。响应于所接收的消息,应用防火墙策略服务404停止将一个或多个应用防火墙策略应用于与该应用签名对应的应用的网络流量。应用防火墙策略服务404从应用防火墙策略库406中移除与该应用签名对应的一个或多个应用防火墙策略。
图5是根据本公开的技术示出示例操作的流程图。为方便起见,参考图1描述图5。
在图5的示例中,SDN控制器32接收初始化应用实例的请求(502)。响应于该请求,SDN控制器32在数据中心10的服务器26上执行的虚拟机内实例化该应用。在实例化过程中,SDN控制器32将通用和用户特定的配置(诸如,网络和防火墙策略)应用于应用。
SDN控制器32从防火墙35请求与应用实例对应的应用签名(504)。在图5的示例中,防火墙35位于数据中心10的SDN网关8与服务提供商网络6之间。防火墙35将应用签名提供给SDN控制器32。在一些示例中,SDN控制器32经由REST向防火墙35发送请求应用签名的查询。SDN控制器32从防火墙35接收包括所请求的应用签名的REST响应。
SDN控制器32从应用防火墙策略库38检索与应用签名对应的应用防火墙策略(506)。在一个示例中,每个应用防火墙策略限定多个网络流量规则。每个网络流量规则可以包括至少一个源、至少一个目的地、以及源自源并去往目的地的网络流量的对应许可动作(例如,阻止流量、允许流量、记录流量或向管理器报告流量)。SDN控制器32向防火墙35发送消息,该消息指示防火墙35安装应用防火墙策略并将应用防火墙策略应用于应用实例的网络流量(508)。例如,SDN控制器向防火墙35发送NETCONF消息,该消息指定应用签名并指示防火墙35为与应用签名对应的应用安装应用防火墙策略。
本公开中描述的技术可以至少部分地实现在硬件、软件、固件或任何上述组合中。例如,所描述的技术的各方面可以在一个或多个处理器中实现,处理器包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等效集成或离散逻辑电路,以及这样的组件的任意组合。术语“处理器”或“处理电路”总体上可以指代前述逻辑电路中的任一项,单独地或与其他逻辑电路组合或任何其它等效电路。包括硬件的控制单元也可以执行本公开的一种或更多种技术。
这样的硬件、软件和固件可以实现在同一设备内或在不同的设备内,以支持本公开中所描述的各种操作和功能。此外,任何所描述的单元、模块或组件可以一起或单独作为独立元件但协同操作的逻辑设备来实现。以模块或单元的形式描述不同特征的目的是突出不同功能方面且不一定暗示这些模块或单元必须通过单独的硬件或软件组件来实现。相反,与一个或多个模块或单元相关联的功能可以通过单独的硬件或软件组件执行或集成在共同或单独的硬件或软件中的组件内。
本公开中描述的技术也可以体现或编码在包括指令的计算机可读介质(诸如,计算机可读存储介质)中。在计算机可读存储介质中内嵌或编码的指令可以使可编程处理器或其他处理器例如当指令执行时执行方法。计算机可读存储介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存、硬盘、CD-ROM、软盘、盒式磁带、磁性介质、光学介质或其他计算机可读介质。
已经描述了各种示例。这些和其他示例在所附权利要求的范围内。
Claims (22)
1.一种应用防火墙策略的方法,包括:
由数据中心的软件定义网络控制器接收请求以初始化应用的实例;并且
响应于接收所述请求,由所述软件定义网络控制器向定位在所述数据中心的软件定义网络网关设备与所述数据中心外部的网络之间的防火墙组件发送消息,所述消息包括:
与所述应用的所述实例对应的应用签名;以及
与所述应用签名对应的应用防火墙策略,
其中,所述消息指示所述防火墙组件安装所述应用防火墙策略以应用于所述应用的所述实例的网络流量。
2.根据权利要求1所述的方法,还包括:
由所述软件定义网络控制器从所述防火墙组件请求与所述应用的所述实例对应的所述应用签名;并且
由所述软件定义网络控制器从所述软件定义网络控制器的应用防火墙策略库中检索与所述应用签名对应的所述应用防火墙策略,所述应用防火墙策略待应用于所述应用的所述实例的网络流量。
3.根据权利要求2所述的方法,还包括:
由所述软件定义网络控制器确定所述应用防火墙策略库不包括与所述应用签名对应的所述应用防火墙策略;
由所述软件定义网络控制器生成所述应用防火墙策略;并且
将所述应用防火墙策略存储在所述应用防火墙策略库中。
4.根据权利要求2或3所述的方法,还包括:
由所述软件定义网络控制器接收限定所述应用防火墙策略的数据;并且
将所述应用防火墙策略存储在所述应用防火墙策略库中。
5.根据权利要求2或3所述的方法,其中,所述应用的所述实例包括所述应用的第一实例,并且与所述应用的所述实例对应的所述应用签名包括与所述应用的所述第一实例对应的第一应用签名,
所述方法还包括:
由所述软件定义网络控制器接收请求以初始化所述应用的第二实例;
由所述软件定义网络控制器从所述防火墙组件请求与所述应用的所述第二实例对应的第二应用签名,其中,所述第二应用签名与所述第一应用签名相同;
由所述软件定义网络控制器从所述软件定义网络控制器的所述应用防火墙策略库中检索所述应用防火墙策略;并且
由所述软件定义网络控制器向所述防火墙组件提供所述应用防火墙策略。
6.根据权利要求1至3中任一项所述的方法,其中,所述应用签名识别所述应用的类型或所述应用的版本号中的至少一项。
7.根据权利要求1至3中任一项所述的方法,其中,所述应用防火墙策略限定以下各项中的至少一项:
禁止所述应用向其发送网络流量的一个或多个网络地址;
禁止所述应用从其接收网络流量的一个或多个网络地址;
允许所述应用向其发送网络流量的一个或多个网络地址;或者
允许所述应用从其接收网络流量的一个或多个网络地址。
8.根据权利要求1至3中任一项所述的方法,其中,所述应用是在虚拟机内执行的虚拟应用,并且其中,所述数据中心的一个或多个计算节点执行所述虚拟机。
9.根据权利要求1至3中任一项所述的方法,其中,所述消息包括第一消息,所述方法还包括:
由所述软件定义网络控制器向所述防火墙组件发送第二消息,所述第二消息包括:
与所述应用的所述实例对应的所述应用签名;以及
与所述应用签名对应的所述应用防火墙策略,
其中,所述第二消息指示所述防火墙组件移除与所述应用的所述实例对应的所述应用防火墙策略。
10.一种数据中心的软件定义网络控制器,被配置为:
接收请求以初始化应用的实例;并且
响应于接收所述请求,向定位在所述数据中心的软件定义网络网关设备与所述数据中心外部的网络之间的防火墙组件发送消息,所述消息包括:
与所述应用的所述实例对应的应用签名;以及
与所述应用签名对应的应用防火墙策略,
其中,所述消息指示所述防火墙组件安装所述应用防火墙策略以应用于所述应用的所述实例的网络流量。
11.根据权利要求10所述的软件定义网络控制器,其中,所述软件定义网络控制器进一步被配置为:
从所述防火墙组件请求与所述应用的所述实例对应的所述应用签名;
从所述软件定义网络控制器的应用防火墙策略库中检索与所述应用签名对应的所述应用防火墙策略,所述应用防火墙策略待应用于所述应用的所述实例的网络流量。
12.根据权利要求11所述的软件定义网络控制器,其中,所述软件定义网络控制器进一步被配置为:
确定所述应用防火墙策略库不包括与所述应用签名对应的所述应用防火墙策略;
生成所述应用防火墙策略;并且
将所述应用防火墙策略存储在所述应用防火墙策略库中。
13.根据权利要求11或12所述的软件定义网络控制器,其中,所述软件定义网络控制器进一步被配置为:
接收限定所述应用防火墙策略的数据;并且
将所述应用防火墙策略存储在所述应用防火墙策略库中。
14.根据权利要求11或12所述的软件定义网络控制器,其中,所述应用的所述实例包括所述应用的第一实例,并且与所述应用的所述实例对应的所述应用签名包括与所述应用的所述第一实例对应的第一应用签名,并且
其中,所述软件定义网络控制器进一步被配置为:
接收请求以初始化所述应用的第二实例;
从所述防火墙组件请求与所述应用的所述第二实例对应的第二应用签名,其中,所述第二应用签名与所述第一应用签名相同;
从所述软件定义网络控制器的所述应用防火墙策略库中检索所述应用防火墙策略;并且
向所述防火墙组件提供所述应用防火墙策略。
15.根据权利要求10至12中任一项所述的软件定义网络控制器,其中,所述应用签名识别所述应用的类型或所述应用的版本号中的至少一项。
16.根据权利要求10至12中任一项所述的软件定义网络控制器,其中,所述应用防火墙策略限定以下各项中的至少一项:
禁止所述应用向其发送网络流量的一个或多个网络地址;
禁止所述应用从其接收网络流量的一个或多个网络地址;
允许所述应用向其发送网络流量的一个或多个网络地址;或者
允许所述应用从其接收网络流量的一个或多个网络地址。
17.根据权利要求10至12中任一项所述的软件定义网络控制器,其中,所述应用是在虚拟机内执行的虚拟应用,并且其中,所述数据中心的一个或多个计算节点执行所述虚拟机。
18.根据权利要求10至12中任一项所述的软件定义网络控制器,其中,所述消息包括第一消息,并且
其中,所述软件定义网络控制器进一步被配置为向所述防火墙组件发送第二消息,所述第二消息包括:
与所述应用的所述实例对应的所述应用签名;以及
与所述应用签名对应的所述应用防火墙策略,
其中,所述第二消息指示所述防火墙组件移除与所述应用的所述实例对应的所述应用防火墙策略。
19.一种包括指令的非暂时性计算机可读介质,所述指令在被执行时使执行软件定义网络控制器的数据中心的一个或多个处理器:
接收请求以初始化应用的实例;并且
响应于接收所述请求,向定位在所述数据中心的软件定义网络网关设备与所述数据中心外部的网络之间的防火墙组件发送消息,所述消息包括:
与所述应用的所述实例对应的应用签名;以及
与所述应用签名对应的应用防火墙策略,
其中,所述消息指示所述防火墙组件安装所述应用防火墙策略以应用于所述应用的所述实例的网络流量。
20.根据权利要求19所述的计算机可读介质,其中,所述指令进一步使所述一个或多个处理器:
从所述防火墙组件请求与所述应用的所述实例对应的所述应用签名;
从所述软件定义网络控制器的应用防火墙策略库中检索与所述应用签名对应的所述应用防火墙策略,所述应用防火墙策略待应用于所述应用的所述实例的网络流量。
21.根据权利要求20所述的计算机可读介质,其中,所述指令进一步使所述一个或多个处理器:
确定所述应用防火墙策略库不包括与所述应用签名对应的所述应用防火墙策略;
生成所述应用防火墙策略;并且
将所述应用防火墙策略存储在所述应用防火墙策略库中。
22.根据权利要求20所述的计算机可读介质,其中,所述指令进一步使所述一个或多个处理器:
接收限定所述应用防火墙策略的数据;并且
将所述应用防火墙策略存储在所述应用防火墙策略库中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/890,174 US10742607B2 (en) | 2018-02-06 | 2018-02-06 | Application-aware firewall policy enforcement by data center controller |
US15/890,174 | 2018-02-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110120934A true CN110120934A (zh) | 2019-08-13 |
CN110120934B CN110120934B (zh) | 2021-10-08 |
Family
ID=64572126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811443201.3A Active CN110120934B (zh) | 2018-02-06 | 2018-11-29 | 应用防火墙策略的方法、软件定义网络控制器和介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10742607B2 (zh) |
EP (1) | EP3522485B1 (zh) |
CN (1) | CN110120934B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111193767A (zh) * | 2019-11-20 | 2020-05-22 | 视联动力信息技术股份有限公司 | 请求数据发送方法、装置和集群化服务器*** |
CN112968879A (zh) * | 2021-02-01 | 2021-06-15 | 浪潮思科网络科技有限公司 | 一种实现防火墙管理的方法及设备 |
US20210306276A1 (en) * | 2020-03-25 | 2021-09-30 | Juniper Networks, Inc. | Network traffic control based on application feature |
CN114884667A (zh) * | 2021-02-05 | 2022-08-09 | ***通信有限公司研究院 | 一种通信鉴权方法、设备及存储介质 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10826823B2 (en) * | 2018-07-31 | 2020-11-03 | Facebook, Inc. | Centralized label-based software defined network |
US11159569B2 (en) * | 2018-08-20 | 2021-10-26 | Cisco Technology, Inc. | Elastic policy scaling in multi-cloud fabrics |
US10826943B2 (en) * | 2018-08-21 | 2020-11-03 | At&T Intellectual Property I, L.P. | Security controller |
US11627049B2 (en) * | 2019-01-31 | 2023-04-11 | Hewlett Packard Enterprise Development Lp | Failsafe firmware upgrade for cloud-managed devices |
US20200314066A1 (en) * | 2019-03-29 | 2020-10-01 | Cloudflare, Inc. | Validating firewall rules using data at rest |
US11165707B2 (en) * | 2019-04-12 | 2021-11-02 | Cisco Technology, Inc. | Dynamic policy implementation for application-aware routing based on granular business insights |
US11546300B2 (en) * | 2019-05-07 | 2023-01-03 | Comcast Cable Communications, Llc | Firewall system with application identifier based rules |
US11627147B2 (en) | 2019-05-17 | 2023-04-11 | Charter Communications Operating, Llc | Botnet detection and mitigation |
US11044193B2 (en) * | 2019-08-23 | 2021-06-22 | Vmware, Inc. | Dynamic multipathing using programmable data plane circuits in hardware forwarding elements |
US11363041B2 (en) * | 2020-05-15 | 2022-06-14 | International Business Machines Corporation | Protecting computer assets from malicious attacks |
US11463343B2 (en) | 2020-10-07 | 2022-10-04 | Hewlett Packard Enterprise Development Lp | SDWAN overlay routing service |
US11595267B2 (en) * | 2020-12-22 | 2023-02-28 | Huawei Technologies Co., Ltd. | Methods and systems for distributed network verification |
CN112769829B (zh) * | 2021-01-11 | 2022-10-04 | 科大讯飞股份有限公司 | 云物理机的部署方法、相关设备及可读存储介质 |
CN114553492B (zh) * | 2022-01-25 | 2023-07-07 | 杭州迪普科技股份有限公司 | 基于云平台的操作请求处理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150082417A1 (en) * | 2013-09-13 | 2015-03-19 | Vmware, Inc. | Firewall configured with dynamic collaboration from network services in a virtual network environment |
US20150326532A1 (en) * | 2014-05-06 | 2015-11-12 | At&T Intellectual Property I, L.P. | Methods and apparatus to provide a distributed firewall in a network |
US20150341377A1 (en) * | 2014-03-14 | 2015-11-26 | Avni Networks Inc. | Method and apparatus to provide real-time cloud security |
CN105531692A (zh) * | 2012-01-06 | 2016-04-27 | 奥普帝奥实验室有限公司 | 针对由在虚拟机里面运行的移动应用加载、链接和执行本地代码的安全策略 |
US20170324781A1 (en) * | 2014-06-30 | 2017-11-09 | Alcatel Lucent | Security in software defined network |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9898317B2 (en) | 2012-06-06 | 2018-02-20 | Juniper Networks, Inc. | Physical path determination for virtual network packet flows |
US9064216B2 (en) | 2012-06-06 | 2015-06-23 | Juniper Networks, Inc. | Identifying likely faulty components in a distributed system |
US20150229618A1 (en) * | 2014-02-11 | 2015-08-13 | Futurewei Technologies, Inc. | System and Method for Securing Source Routing Using Public Key based Digital Signature |
US9641435B1 (en) | 2014-03-28 | 2017-05-02 | Juniper Neworks, Inc. | Packet segmentation offload for virtual networks |
KR101535502B1 (ko) * | 2014-04-22 | 2015-07-09 | 한국인터넷진흥원 | 보안 내재형 가상 네트워크 제어 시스템 및 방법 |
US20170006082A1 (en) * | 2014-06-03 | 2017-01-05 | Nimit Shishodia | Software Defined Networking (SDN) Orchestration by Abstraction |
US10868737B2 (en) * | 2016-10-26 | 2020-12-15 | Arizona Board Of Regents On Behalf Of Arizona State University | Security policy analysis framework for distributed software defined networking (SDN) based cloud environments |
-
2018
- 2018-02-06 US US15/890,174 patent/US10742607B2/en active Active
- 2018-11-29 CN CN201811443201.3A patent/CN110120934B/zh active Active
- 2018-11-30 EP EP18209617.2A patent/EP3522485B1/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105531692A (zh) * | 2012-01-06 | 2016-04-27 | 奥普帝奥实验室有限公司 | 针对由在虚拟机里面运行的移动应用加载、链接和执行本地代码的安全策略 |
US20150082417A1 (en) * | 2013-09-13 | 2015-03-19 | Vmware, Inc. | Firewall configured with dynamic collaboration from network services in a virtual network environment |
US20150341377A1 (en) * | 2014-03-14 | 2015-11-26 | Avni Networks Inc. | Method and apparatus to provide real-time cloud security |
US20150326532A1 (en) * | 2014-05-06 | 2015-11-12 | At&T Intellectual Property I, L.P. | Methods and apparatus to provide a distributed firewall in a network |
US20170324781A1 (en) * | 2014-06-30 | 2017-11-09 | Alcatel Lucent | Security in software defined network |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111193767A (zh) * | 2019-11-20 | 2020-05-22 | 视联动力信息技术股份有限公司 | 请求数据发送方法、装置和集群化服务器*** |
CN111193767B (zh) * | 2019-11-20 | 2022-07-12 | 视联动力信息技术股份有限公司 | 请求数据发送方法、装置和集群化服务器*** |
US20210306276A1 (en) * | 2020-03-25 | 2021-09-30 | Juniper Networks, Inc. | Network traffic control based on application feature |
US11303575B2 (en) * | 2020-03-25 | 2022-04-12 | Juniper Networks, Inc. | Network traffic control based on application feature |
CN112968879A (zh) * | 2021-02-01 | 2021-06-15 | 浪潮思科网络科技有限公司 | 一种实现防火墙管理的方法及设备 |
CN112968879B (zh) * | 2021-02-01 | 2022-04-12 | 浪潮思科网络科技有限公司 | 一种实现防火墙管理的方法及设备 |
CN114884667A (zh) * | 2021-02-05 | 2022-08-09 | ***通信有限公司研究院 | 一种通信鉴权方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3522485A1 (en) | 2019-08-07 |
CN110120934B (zh) | 2021-10-08 |
EP3522485B1 (en) | 2021-04-07 |
US20190245830A1 (en) | 2019-08-08 |
US10742607B2 (en) | 2020-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110120934A (zh) | 应用防火墙策略的方法、软件定义网络控制器和介质 | |
US11159487B2 (en) | Automatic configuration of perimeter firewalls based on security group information of SDN virtual firewalls | |
US11683386B2 (en) | Systems and methods for protecting an identity in network communications | |
CN108696402B (zh) | 虚拟路由器的基于会话的业务统计记录 | |
US10587698B2 (en) | Service function registration mechanism and capability indexing | |
Halpern et al. | Service function chaining (SFC) architecture | |
CN103930882B (zh) | 具有中间盒的网络架构 | |
CN105765921B (zh) | 用于利用软件定义网络功能进行diameter路由的方法、***和设备 | |
US9253274B2 (en) | Service insertion architecture | |
CN107770066B (zh) | 一种跨主机、跨VLAN、跨集群的Docker容器导流方法 | |
US10938660B1 (en) | Automation of maintenance mode operations for network devices | |
US11303555B2 (en) | Inter-data center software-defined network controller network | |
CN110392108A (zh) | 一种公有云网络负载均衡***架构及实现方法 | |
CN106464742A (zh) | 用于基于云的服务交换的可编程网络平台 | |
US20210168198A1 (en) | Policy controlled service routing | |
US11652727B2 (en) | Service chaining with physical network functions and virtualized network functions | |
TW201526588A (zh) | 用於本地與遠端處理時之設備控制分隔的系統及其方法 | |
CN115412492A (zh) | 由架顶式交换机针对裸金属服务器的策略实施 | |
Arezoumand | End to End Orchestration of Distributed Cloud Applications |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: California, USA Applicant after: Juniper Networks, Inc. Address before: California, USA Applicant before: Jungle network |
|
GR01 | Patent grant | ||
GR01 | Patent grant |