防火墙政策和规则的评估顺序

每个常规 Virtual Private Cloud (VPC) 网络都有一个网络防火墙政策强制执行顺序,用于确定 Cloud NGFW 评估防火墙政策规则的顺序。

网络防火墙政策的强制执行顺序

VPC 网络可以使用以下网络防火墙政策强制执行顺序之一:

  • AFTER_CLASSIC_FIREWALL(默认):Cloud NGFW 按以下顺序评估防火墙政策和规则:

    1. 分层防火墙政策
    2. 区域级系统防火墙政策数量
    3. VPC 防火墙规则
    4. 全球网络防火墙政策数量
    5. 区域级网络防火墙政策数量
    6. 隐含操作
  • BEFORE_CLASSIC_FIREWALL:Cloud NGFW 按以下顺序评估防火墙政策和规则:

    1. 分层防火墙政策
    2. 区域级系统防火墙政策数量
    3. 全球网络防火墙政策数量
    4. 区域级网络防火墙政策数量
    5. VPC 防火墙规则
    6. 隐含操作

如需更改网络防火墙政策强制执行顺序,请执行以下任一操作:

  • 使用 networks.patch 方法并设置 VPC 网络的 networkFirewallPolicyEnforcementOrder 属性。

  • 使用带有 --network-firewall-policy-enforcement-order 标志的 gcloud compute networks update 命令

    例如:

    gcloud compute networks update VPC_NETWORK_NAME \
        --network-firewall-policy-enforcement-order=ENFORCEMENT_ORDER
    

防火墙规则评估流程

本部分介绍了 Cloud NGFW 在常规 VPC 网络中评估适用于目标资源的规则的顺序。

每条防火墙规则都是入站规则或出站规则,具体取决于流量方向:

  • 入站规则适用于目标资源接收的新连接的数据包。入站流量规则支持的目标资源如下:

    • 虚拟机 (VM) 实例的网络接口。

    • 内部应用负载平衡器和内部代理网络负载平衡器(预览版)使用的受管 Envoy 代理。

  • 出站流量规则适用于目标虚拟机网络接口发送的新连接的数据包。

Cloud NGFW 始终先评估分层防火墙政策和区域级系统防火墙政策中的规则,然后再评估任何其他防火墙规则。您可以选择网络防火墙政策强制执行顺序,从而控制 Cloud NGFW 评估其他防火墙规则的顺序。网络防火墙政策强制执行顺序可以是 AFTER_CLASSIC_FIREWALLBEFORE_CLASSIC_FIREWALL

AFTER_CLASSIC_FIREWALL 网络防火墙政策强制执行顺序

当网络防火墙政策强制执行顺序为 AFTER_CLASSIC_FIREWALL 时,Cloud NGFW 会在评估 VPC 防火墙规则后评估全球和区域级网络防火墙政策中的规则。这是默认的评估顺序。

在采用 AFTER_CLASSIC_FIREWALL 强制执行顺序的常规 VPC 网络中,完整的防火墙规则评估顺序如下:

  1. 分层防火墙政策

    Cloud NGFW 按以下顺序评估分层防火墙政策:

    1. 与包含目标资源的组织相关联的分层防火墙政策。
    2. 与文件夹祖先(从顶级文件夹到包含目标资源项目的文件夹)关联的分层防火墙政策。

    在评估每个分层防火墙政策中的规则时,Cloud NGFW 会执行以下步骤:

    1. 忽略目标与目标资源不匹配的所有规则。
    2. 忽略所有与数据包方向不匹配的规则。
    3. 按照从最高到最低的优先级评估剩余规则。

      当满足以下任一条件时,评估会停止:

      • 适用于目标资源的规则与流量匹配。
      • 没有适用于目标资源的规则与流量匹配。

    在分层防火墙政策中,最多只能有一条规则与流量匹配。防火墙规则的匹配时操作可以是以下之一:

    • allow:规则允许流量,并停止所有规则评估。
    • deny:规则拒绝流量,并停止所有规则评估。
    • apply_security_profile_group:规则将流量转发到已配置的防火墙端点,并停止所有规则评估。允许还是丢弃数据包的决定取决于安全配置文件组的配置安全配置文件
    • goto_next:规则评估继续进行,直至达到以下任一状态:
      • 与更接近目标资源的文件夹祖先关联的分层防火墙政策(如果存在)。
      • 如果所有分层防火墙政策都已评估,则评估顺序中的下一步。

    如果分层防火墙政策中没有任何规则与流量匹配,Cloud NGFW 会使用隐式 goto_next 操作。此操作会继续评估,直到出现以下任一结果:

    • 与更接近目标资源的文件夹祖先关联的分层防火墙政策(如果存在)。
    • 如果所有分层防火墙政策都已评估,则评估顺序中的下一步。

  2. 区域级系统防火墙政策

    评估区域级系统防火墙政策规则时,Cloud NGFW 会执行以下步骤:

    1. 忽略目标与目标资源不匹配的所有规则。
    2. 忽略所有与数据包方向不匹配的规则。
    3. 按照从最高到最低的优先级评估剩余规则。

      当满足以下任一条件时,评估会停止:

      • 适用于目标资源的规则与流量匹配。
      • 没有适用于目标资源的规则与流量匹配。

    在区域级系统防火墙政策中,最多只能有一条规则与流量匹配。防火墙规则的匹配时操作可以是以下之一:

    • allow:规则允许流量,并停止所有规则评估。
    • deny:规则拒绝流量,并停止所有规则评估。
    • goto_next:规则评估继续到
      • 具有次高关联优先级的区域级系统防火墙政策(如果存在)。
      • 评估顺序中的下一步(如果已评估所有区域级系统防火墙政策)。

    如果区域系统防火墙政策中没有任何规则与流量匹配,Cloud NGFW 会使用隐式 goto_next 操作。此操作会继续评估,直到出现以下任一结果:

    • 具有次高关联优先级的区域级系统防火墙政策(如果存在)。
    • 评估顺序中的下一步(如果已评估所有区域级系统防火墙政策)。

  3. VPC 防火墙规则

    在评估 VPC 防火墙规则时,Cloud NGFW 会执行以下步骤:

    1. 忽略目标与目标资源不匹配的所有规则。
    2. 忽略所有与数据包方向不匹配的规则。
    3. 按照从最高到最低的优先级评估剩余规则。

      当满足以下任一条件时,评估会停止:

      • 适用于目标资源的规则与流量匹配。
      • 没有适用于目标资源的规则与流量匹配。

    当一个或两个 VPC 防火墙规则与流量匹配时,防火墙规则的匹配时操作可以是以下任一值:

    • allow:规则允许流量,并停止所有规则评估。
    • deny:规则拒绝流量,并停止所有规则评估。

    如果两条规则匹配,则它们必须具有相同的优先级,但操作不同。在这种情况下,Cloud NGFW 会强制执行 deny VPC 防火墙规则,并忽略 allow VPC 防火墙规则。

    如果没有 VPC 防火墙规则与流量匹配,Cloud NGFW 会使用隐式 goto_next 操作继续执行评估顺序中的下一步。

  4. 全球网络防火墙政策

    在评估全球网络防火墙政策中的规则时,Cloud NGFW 会执行以下步骤:

    1. 忽略目标与目标资源不匹配的所有规则。
    2. 忽略所有与数据包方向不匹配的规则。
    3. 按照从最高到最低的优先级评估剩余规则。

      当满足以下任一条件时,评估会停止:

      • 适用于目标资源的规则与流量匹配。
      • 没有适用于目标资源的规则与流量匹配。

    在全球网络防火墙政策中,最多只能有一条规则与流量匹配。防火墙规则的匹配时操作可以是以下之一:

    • allow:规则允许流量,并停止所有规则评估。
    • deny:规则拒绝流量,并停止所有规则评估。
    • apply_security_profile_group:规则将流量转发到已配置的防火墙端点,并停止所有规则评估。允许还是丢弃数据包的决定取决于安全配置文件组的配置安全配置文件
    • goto_next:规则评估继续进行,直至到达评估顺序中的区域级网络防火墙政策这一步。

    如果全球网络防火墙政策中没有任何规则与流量匹配,Cloud NGFW 会使用隐式 goto_next 操作。此操作会继续评估,直到评估顺序中的区域级网络防火墙政策步骤。

  5. 区域级网络防火墙政策

    Cloud NGFW 会评估与目标资源的区域和 VPC 网络相关联的区域级网络防火墙政策中的规则。

    在评估区域级网络防火墙政策中的规则时,Cloud NGFW 会执行以下步骤:

    1. 忽略目标与目标资源不匹配的所有规则。
    2. 忽略所有与数据包方向不匹配的规则。
    3. 按照从最高到最低的优先级评估剩余规则。

      当满足以下任一条件时,评估会停止:

      • 适用于目标资源的规则与流量匹配。
      • 没有适用于目标资源的规则与流量匹配。

    在区域级网络防火墙政策中,最多只能有一条规则与流量匹配。防火墙规则的匹配时操作可以是以下之一:

    • allow:规则允许流量,并停止所有规则评估。
    • deny:规则拒绝流量,并停止所有规则评估。
    • goto_next:规则评估继续进行到评估顺序中的下一步。

    如果区域级网络防火墙政策中没有规则与流量匹配,Cloud NGFW 会使用隐式 goto_next 操作。此操作会继续评估,进入评估顺序中的下一步骤。

  6. 最后一步 - 隐含操作

    如果防火墙规则评估通过显式或隐式 goto_next 操作继续执行了每个之前的步骤,则 Cloud NGFW 会应用隐式操作。隐含的操作取决于流量的方向:

    • 对于入站流量,隐含操作还取决于目标资源:

      • 如果目标资源是虚拟机实例的网络接口,则隐含的入站操作为 deny

      • 如果目标资源是内部应用负载平衡器或内部代理网络负载平衡器的转发规则,则隐含的入站流量操作为 allow

    • 对于出站流量,隐含的操作是 allow

AFTER_CLASSIC_FIREWALL 图表

下图展示了 AFTER_CLASSIC_FIREWALL 网络防火墙政策的强制执行顺序:

防火墙规则解析流程。
图 1. 如果网络防火墙政策强制执行顺序为 AFTER_CLASSIC_FIREWALL,则防火墙规则解析流程(点击可放大)。

BEFORE_CLASSIC_FIREWALL 网络防火墙政策强制执行顺序

当网络防火墙政策强制执行顺序为 BEFORE_CLASSIC_FIREWALL 时,Cloud NGFW 会先评估全球和区域级网络防火墙政策中的规则,然后再评估 VPC 防火墙规则。

在采用 BEFORE_CLASSIC_FIREWALL 强制执行顺序的常规 VPC 网络中,完整的防火墙规则评估顺序如下:

  1. 分层防火墙政策

    Cloud NGFW 按以下顺序评估分层防火墙政策:

    1. 与包含目标资源的组织相关联的分层防火墙政策。
    2. 与文件夹祖先(从顶级文件夹到包含目标资源项目的文件夹)关联的分层防火墙政策。

    在评估每个分层防火墙政策中的规则时,Cloud NGFW 会执行以下步骤:

    1. 忽略目标与目标资源不匹配的所有规则。
    2. 忽略所有与数据包方向不匹配的规则。
    3. 按照从最高到最低的优先级评估剩余规则。

      当满足以下任一条件时,评估会停止:

      • 适用于目标资源的规则与流量匹配。
      • 没有适用于目标资源的规则与流量匹配。

    在分层防火墙政策中,最多只能有一条规则与流量匹配。防火墙规则的匹配时操作可以是以下之一:

    • allow:规则允许流量,并停止所有规则评估。
    • deny:规则拒绝流量,并停止所有规则评估。
    • apply_security_profile_group:规则将流量转发到已配置的防火墙端点,并停止所有规则评估。允许还是丢弃数据包的决定取决于安全配置文件组的配置安全配置文件
    • goto_next:规则评估继续进行,直至达到以下任一状态:
      • 与更接近目标资源的文件夹祖先关联的分层防火墙政策(如果存在)。
      • 如果所有分层防火墙政策都已评估,则评估顺序中的下一步。

    如果分层防火墙政策中没有任何规则与流量匹配,Cloud NGFW 会使用隐式 goto_next 操作。此操作会继续评估,直到出现以下任一结果:

    • 与更接近目标资源的文件夹祖先关联的分层防火墙政策(如果存在)。
    • 如果所有分层防火墙政策都已评估,则评估顺序中的下一步。

  2. 区域级系统防火墙政策

    评估区域级系统防火墙政策规则时,Cloud NGFW 会执行以下步骤:

    1. 忽略目标与目标资源不匹配的所有规则。
    2. 忽略所有与数据包方向不匹配的规则。
    3. 按照从最高到最低的优先级评估剩余规则。

      当满足以下任一条件时,评估会停止:

      • 适用于目标资源的规则与流量匹配。
      • 没有适用于目标资源的规则与流量匹配。

    在区域级系统防火墙政策中,最多只能有一条规则与流量匹配。防火墙规则的匹配时操作可以是以下之一:

    • allow:规则允许流量,并停止所有规则评估。
    • deny:规则拒绝流量,并停止所有规则评估。
    • goto_next:规则评估继续到
      • 具有次高关联优先级的区域级系统防火墙政策(如果存在)。
      • 评估顺序中的下一步(如果已评估所有区域级系统防火墙政策)。

    如果区域系统防火墙政策中没有任何规则与流量匹配,Cloud NGFW 会使用隐式 goto_next 操作。此操作会继续评估,直到出现以下任一结果:

    • 具有次高关联优先级的区域级系统防火墙政策(如果存在)。
    • 评估顺序中的下一步(如果已评估所有区域级系统防火墙政策)。

  3. 全球网络防火墙政策

    在评估全球网络防火墙政策中的规则时,Cloud NGFW 会执行以下步骤:

    1. 忽略目标与目标资源不匹配的所有规则。
    2. 忽略所有与数据包方向不匹配的规则。
    3. 按照从最高到最低的优先级评估剩余规则。

      当满足以下任一条件时,评估会停止:

      • 适用于目标资源的规则与流量匹配。
      • 没有适用于目标资源的规则与流量匹配。

    在全球网络防火墙政策中,最多只能有一条规则与流量匹配。防火墙规则的匹配时操作可以是以下之一:

    • allow:规则允许流量,并停止所有规则评估。
    • deny:规则拒绝流量,并停止所有规则评估。
    • apply_security_profile_group:规则将流量转发到已配置的防火墙端点,并停止所有规则评估。允许还是丢弃数据包的决定取决于安全配置文件组的配置安全配置文件
    • goto_next:规则评估继续进行,直至到达评估顺序中的区域级网络防火墙政策这一步。

    如果全球网络防火墙政策中没有任何规则与流量匹配,Cloud NGFW 会使用隐式 goto_next 操作。此操作会继续评估,直到评估顺序中的区域级网络防火墙政策步骤。

  4. 区域级网络防火墙政策

    Cloud NGFW 会评估与目标资源的区域和 VPC 网络相关联的区域级网络防火墙政策中的规则。

    在评估区域级网络防火墙政策中的规则时,Cloud NGFW 会执行以下步骤:

    1. 忽略目标与目标资源不匹配的所有规则。
    2. 忽略所有与数据包方向不匹配的规则。
    3. 按照从最高到最低的优先级评估剩余规则。

      当满足以下任一条件时,评估会停止:

      • 适用于目标资源的规则与流量匹配。
      • 没有适用于目标资源的规则与流量匹配。

    在区域级网络防火墙政策中,最多只能有一条规则与流量匹配。防火墙规则的匹配时操作可以是以下之一:

    • allow:规则允许流量,并停止所有规则评估。
    • deny:规则拒绝流量,并停止所有规则评估。
    • goto_next:规则评估继续进行到评估顺序中的下一步。

    如果区域级网络防火墙政策中没有规则与流量匹配,Cloud NGFW 会使用隐式 goto_next 操作。此操作会继续评估,进入评估顺序中的下一步骤。

  5. VPC 防火墙规则

    在评估 VPC 防火墙规则时,Cloud NGFW 会执行以下步骤:

    1. 忽略目标与目标资源不匹配的所有规则。
    2. 忽略所有与数据包方向不匹配的规则。
    3. 按照从最高到最低的优先级评估剩余规则。

      当满足以下任一条件时,评估会停止:

      • 适用于目标资源的规则与流量匹配。
      • 没有适用于目标资源的规则与流量匹配。

    当一个或两个 VPC 防火墙规则与流量匹配时,防火墙规则的对匹配项执行的操作可以是以下任一值:

    • allow:规则允许流量,并停止所有规则评估。
    • deny:规则拒绝流量,并停止所有规则评估。

    如果两条规则匹配,则它们必须具有相同的优先级,但操作不同。在这种情况下,Cloud NGFW 会强制执行 deny VPC 防火墙规则,并忽略 allow VPC 防火墙规则。

    如果没有 VPC 防火墙规则与流量匹配,Cloud NGFW 会使用隐式 goto_next 操作继续执行评估顺序中的下一步。

  6. 最后一步 - 隐含操作

    如果防火墙规则评估通过显式或隐式 goto_next 操作继续执行了每个之前的步骤,则 Cloud NGFW 会应用隐式操作。隐含的操作取决于流量的方向:

    • 对于入站流量,隐含操作还取决于目标资源:

      • 如果目标资源是虚拟机实例的网络接口,则隐含的入站操作为 deny

      • 如果目标资源是内部应用负载平衡器或内部代理网络负载平衡器的转发规则,则隐含的入站流量操作为 allow

    • 对于出站流量,隐含的操作是 allow

BEFORE_CLASSIC_FIREWALL 图表

下图展示了 BEFORE_CLASSIC_FIREWALL 网络防火墙政策的强制执行顺序:

防火墙规则解析流程。
图 2. 如果网络防火墙政策强制执行顺序为 BEFORE_CLASSIC_FIREWALL,则防火墙规则解析流程(点击可放大)。

有效的防火墙规则

分层防火墙政策规则、VPC 防火墙规则以及全球和区域级网络防火墙政策规则控制连接。您可能会发现,查看影响单个网络或虚拟机接口的所有防火墙规则会很有帮助。

对网络有效的防火墙规则

您可以查看应用于 VPC 网络的所有防火墙规则。列表包括以下所有规则:

  • 从分层防火墙政策继承的规则
  • VPC 防火墙规则
  • 从全球和区域级网络防火墙政策应用的规则

对实例有效的防火墙规则

您可以查看应用于虚拟机的网络接口的所有防火墙规则。列表包括以下所有规则:

  • 从分层防火墙政策继承的规则
  • 从接口的 VPC 防火墙应用的规则
  • 从全球和区域级网络防火墙政策应用的规则

规则按照从组织层级到 VPC 网络的顺序排列。仅显示应用于虚拟机接口的规则。不显示其他政策中的规则。

如需查看某个区域内的有效防火墙政策规则,请参阅获取网络的有效区域级防火墙政策

后续步骤