创建全球网络防火墙政策和规则

如需控制网络流量并增强整个全球网络的安全性,请使用全球网络防火墙政策和规则。Global network firewall policies 可集中管理多个 Virtual Private Cloud (VPC) 网络的入站和出站流量。您只需定义一次政策,即可将其附加到一个或多个网络或子网,从而确保安全状况一致并简化管理。

本页面介绍了如何通过定义指定各种流量类型的操作的规则来配置全球网络防火墙政策。您将了解如何根据来源、目的地、协议和端口来允许或拒绝连接。在阅读本页面之前,请确保您熟悉全球网络防火墙政策概览中所述的概念。

创建全球网络防火墙政策

使用 Google Cloud 控制台创建全球网络防火墙政策时,您可以在创建期间将该政策与 VPC 网络相关联。如果您使用 Google Cloud CLI 创建政策,则必须在创建政策后将政策与网络相关联

与全球网络防火墙政策相关联的 VPC 网络必须与全球网络防火墙政策位于同一项目中。

控制台

  1. 在 Google Cloud 控制台中,前往防火墙政策页面。

    转到“防火墙政策”

  2. 在项目选择器列表中,选择您的组织内的项目。

  3. 点击创建防火墙政策

  4. 政策名称字段中,输入政策的名称。

  5. 对于政策类型,选择 VPC 政策

  6. 部署范围字段中,选择全球

  7. 如需为政策创建规则,请点击继续

  8. 添加规则部分中,点击创建防火墙规则。如需详细了解如何创建防火墙规则,请参阅以下内容:

  9. 如需为政策创建数据包镜像规则,请点击继续

  10. 添加镜像规则部分中,点击创建镜像规则

    如需了解详情,请参阅创建包含镜像规则的防火墙政策

  11. 如果要将政策与网络关联,请点击继续

  12. 将政策与网络相关联部分中,点击关联

    如需了解详情,请参阅将政策与网络关联

  13. 点击创建

gcloud

gcloud compute network-firewall-policies create NETWORK_FIREWALL_POLICY_NAME \
    --description DESCRIPTION \
    --policy-type POLICY_TYPE \
    --global

替换以下内容:

  • NETWORK_FIREWALL_POLICY_NAME:政策的名称
  • DESCRIPTION:政策的说明
  • POLICY_TYPE:网络防火墙政策的类型。 如需了解详情,请参阅规范

将政策与网络相关联

将防火墙政策与 VPC 网络相关联后,防火墙政策中的所有规则(已停用的规则除外)都会应用于该 VPC 网络。

控制台

  1. 在 Google Cloud 控制台中,前往防火墙政策页面。

    转到“防火墙政策”

  2. 在项目选择器菜单中,选择包含该政策的项目。

  3. 点击您的政策。

  4. 点击关联标签页。

  5. 点击添加关联

  6. 选择项目中的网络。

  7. 点击关联

gcloud

gcloud compute network-firewall-policies associations create \
    --firewall-policy POLICY_NAME \
    --network NETWORK_NAME \
    [ --name ASSOCIATION_NAME ] \
    --global-firewall-policy

替换以下内容:

  • POLICY_NAME:政策的简称或系统生成的名称
  • NETWORK_NAME:网络的名称。
  • ASSOCIATION_NAME:关联的可选名称;如果未指定,则将名称设置为 network-NETWORK_NAME

添加防火墙政策规则

本部分介绍了如何在全局网络防火墙政策中添加规则。

为虚拟机目标创建入站规则

本部分介绍如何创建适用于 Compute Engine 实例的网络接口的入站规则

控制台

  1. 在 Google Cloud 控制台中,前往防火墙政策页面。

    转到“防火墙政策”

  2. 在项目选择器列表中,选择包含全球网络防火墙政策的项目。

  3. 网络防火墙政策部分中,点击要创建规则的全球网络防火墙政策的名称。

  4. 防火墙规则部分,点击创建防火墙规则,然后指定以下配置参数:

    1. 优先级:规则的数字评估顺序。

      这些规则按照从最高到最低的优先级进行评估,其中 0 是最高优先级。每条规则的优先级都必须唯一。 建议您将规则优先级值之间的差值设为大于 1(例如 100200300),以便日后在现有规则之间创建新规则。

    2. 说明:提供说明(可选)。

    3. 流量方向:选择入站

    4. 对匹配项执行的操作:选择以下选项之一:

      • 允许:允许与规则参数匹配的连接。
      • 拒绝:用于屏蔽与规则参数匹配的连接。
      • 转到下一层:继续执行防火墙规则评估流程
      • 应用安全配置文件组:根据您选择的用途,将数据包发送到防火墙端点拦截端点组
        • 如需将数据包发送到 Cloud NGFW 防火墙端点,请选择 Cloud NGFW Enterprise,然后选择安全配置文件组。如需启用数据包的 TLS 检查,请选择启用 TLS 检查
        • 如需将数据包发送到 Network Security Integration 拦截端点组以进行带内集成,请选择 NSI In-Band,然后选择安全配置文件组

    5. 日志:选择启用可启用防火墙规则日志记录;选择关闭可针对相应规则停用防火墙规则日志记录。

    6. 目标:选择以下选项之一:

      • 应用于所有:Cloud NGFW 使用最广泛的实例目标
      • 服务账号:将最大范围的实例目标缩小到使用您指定的服务账号的虚拟机实例的网络接口:

        • 服务账号范围部分,依次选择在此项目中> 目标服务账号。这是为了指定与全球网络防火墙政策位于同一项目中的服务账号。
        • 服务账号范围部分,依次选择在其他项目中 > 目标服务账号。用于指定共享 VPC 服务项目中的服务账号。
      • 安全标记:将最大范围的实例目标缩小为绑定到您指定的至少一个安全标记值的虚拟机实例的网络接口。点击选择标记范围,然后选择包含要匹配的标记值的组织或项目。如需添加更多标记值,请点击添加标记

    7. 来源网络上下文:指定网络上下文

      • 如需跳过按网络上下文过滤入站流量,请选择所有网络上下文
      • 如需过滤到特定网络上下文的入站流量,请选择特定网络上下文,然后选择一个网络上下文:

    8. 来源过滤条件:指定其他来源参数。某些来源参数不能一起使用,并且您选择的来源网络情境会限制可使用的来源参数。如需了解详情,请参阅入站流量规则的来源以及入站流量规则来源组合

      • 如需按来源 IPv4 范围过滤入站流量,请选择 IPv4,然后在 IP 范围字段中输入 CIDR 地址块。如需选择所有 IPv4 来源,请使用 0.0.0.0/0
      • 如需按来源 IPv6 范围过滤入站流量,请选择 IPv6,然后在 IPv6 范围字段中输入 CIDR 地址块。如需选择所有 IPv6 来源,请使用 ::/0
      • 如需按来源安全标记值过滤入站流量,请在安全标记部分中选择为标记选择范围。然后,提供标记键和标记值。如需添加更多标记值,请点击添加标记
      • 如需按来源 FQDN 过滤入站流量,请在 FQDN 字段中输入 FQDN。如需了解详情,请参阅 FQDN 对象
      • 如需按来源地理位置过滤入站流量,请从地理位置字段中选择一个或多个地理位置。如需了解详情,请参阅地理定位对象
      • 如需按源地址组过滤入站流量,请从地址组字段中选择一个或多个地址组。如需了解详情,请参阅防火墙政策的地址组
      • 如需按来源 Google 威胁情报列表过滤入站流量,请从 Google Cloud 威胁情报字段中选择一个或多个 Google 威胁情报列表。如需了解详情,请参阅防火墙政策规则的 Google Threat Intelligence

    9. 目的地:指定可选的目的地参数。如需了解详情,请参阅入站流量规则的目的地

      • 如需跳过按目标 IP 地址过滤入站流量,请选择
      • 如需按目标 IP 地址过滤入站流量,请选择 IPv4IPv6,然后输入一个或多个 CIDR,格式与来源 IPv4 范围或来源 IPv6 范围所用的格式相同。

    10. 协议和端口:指定流量的协议和目标端口,以匹配规则。如需了解详情,请参阅协议和端口

    11. 强制执行:指定是否强制执行防火墙规则:

      • 已启用:创建规则并开始对新连接强制执行该规则。
      • 已停用:创建规则,但不针对新连接强制执行该规则。
  5. 点击创建

gcloud

gcloud compute network-firewall-policies rules create PRIORITY \
    --firewall-policy=POLICY_NAME \
    --project=PROJECT_ID \
    --global-firewall-policy \ --description=DESCRIPTION \ --direction=INGRESS \ --action=ACTION \ [--enable-logging | --no-enable-logging] \ [--disabled | --no-disabled] \ [--target-secure-tags=TARGET_SECURE_TAGS] \
    [--target-service-accounts=TARGET_SERVICE_ACCOUNTS] \ [--layer4-configs=LAYER_4_CONFIGS] \ [--src-network-context=SRC_NETWORK_CONTEXT] \
    [--src-networks=SRC_VPC_NETWORKS] \ [--src-ip-ranges=SRC_IP_RANGES] \
    [--src-address-groups=SRC_ADDRESS_GROUPS] \
    [--src-fqdns=SRC_DOMAIN_NAMES] \
    [--src-secure-tags=SRC_SECURE_TAGS] \
    [--src-region-codes=SRC_COUNTRY_CODES] \
    [--src-threat-intelligence=SRC_THREAT_LIST_NAMES] \ [--dest-ip-ranges=DEST_IP_RANGES]

替换以下内容:

  • PRIORITY:政策中规则的数字评估顺序。这些规则按照从最高到最低的优先级进行评估,其中 0 是最高优先级。每条规则的优先级都必须唯一。建议您将规则优先级值之间的差值设为大于 1(例如 100200300),以便日后在现有规则之间创建新规则。
  • POLICY_NAME:您要在其中创建规则的全球网络防火墙政策的名称。
  • PROJECT_ID:包含全球网络防火墙政策的项目 ID。
  • DESCRIPTION:新规则的可选说明。
  • ACTION:指定以下操作之一:

    • allow:允许与规则匹配的连接。
    • deny:拒绝与规则匹配的连接。
    • goto_next:继续执行防火墙规则评估流程
    • apply_security_profile_group:将数据包发送到防火墙端点拦截端点组
      • 当操作为 apply_security_profile_group 时,您必须包含 --security-profile-group SECURITY_PROFILE_GROUP,其中 SECURITY_PROFILE_GROUP安全配置文件组的名称。
      • 安全配置文件组的安全配置文件可以引用 Cloud NGFW 防火墙端点或 Network Security Integration 拦截端点组以进行带内集成。
      • 如果安全配置文件组的安全配置文件引用了 Cloud NGFW 防火墙端点,请添加 --tls-inspect--no-tls-inspect 以启用或停用 TLS 检查。
  • --enable-logging--no-enable-logging 标志用于启用或停用 VPC 防火墙规则日志记录。
  • --disabled--no-disabled 标志用于控制规则是处于停用(不强制执行)状态还是启用(强制执行)状态。
  • 指定目标

    • 如果您同时省略 --target-secure-tags--target-service-accounts 标志,Cloud NGFW 会使用最广泛的实例目标
    • TARGET_SECURE_TAGS:以英文逗号分隔的安全标记值列表,用于将最广泛的实例目标范围缩小到绑定到至少一个安全标记值的虚拟机实例的网络接口。
    • TARGET_SERVICE_ACCOUNTS:服务账号的逗号分隔列表,用于将最大范围的实例目标缩小到使用其中一个服务账号的虚拟机实例的网络接口。
  • LAYER_4_CONFIGS:以逗号分隔的第 4 层配置列表。每个第 4 层配置可以是以下项之一:
    • 不含任何目标端口的 IP 协议名称 (tcp) 或 IANA IP 协议编号 (17)。
    • 以英文冒号 (tcp:80) 分隔的 IP 协议名称和目标端口。
    • IP 协议名称和目标端口范围,以英文冒号分隔,并使用英文短划线分隔起始目标端口和结束目标端口 (tcp:5000-6000)。如需了解详情,请参阅协议和端口
  • 为入站流量规则指定来源。 如需了解详情,请参阅入站流量规则来源组合

    • SRC_NETWORK_CONTEXT:定义要与另一个受支持的来源参数结合使用的来源网络上下文,以生成来源组合。当值为 --target-type=INSTANCES 时,有效值为:INTERNETNON_INTERNETVPC_NETWORKSINTRA_VPC。如需了解详情,请参阅网络上下文
    • SRC_VPC_NETWORKS:以逗号分隔的 VPC 网络列表,由其网址标识符指定。仅当 --src-network-contextVPC_NETWORKS 时,才应指定此标志。
    • SRC_IP_RANGES:以逗号分隔的 IP 地址范围列表(采用 CIDR 格式)。列表中的范围必须全部是 IPv4 CIDR 或 IPv6 CIDR,不能同时使用这两者。
    • SRC_ADDRESS_GROUPS:以逗号分隔的地址组列表,其中每个地址组都由其唯一网址标识符指定。列表中的地址组必须包含所有 IPv4 地址或所有 IPv6 地址,而不能同时包含这两种地址。
    • SRC_DOMAIN_NAMES:以逗号分隔的 FQDN 对象列表,以域名格式指定。
    • SRC_SECURE_TAGS标记的逗号分隔列表。如果 --src-network-contextINTERNET,则不能使用 --src-secure-tags 标志。
    • SRC_COUNTRY_CODES:以逗号分隔的国家/地区双字母代码列表。如需了解详情,请参阅地理定位对象。 如果 --src-network-contextNON_INTERNETVPC_NETWORKSINTRA_VPC,则无法使用 --src-region-codes 标志。
    • SRC_THREAT_LIST_NAMES:Google Threat Intelligence 列表名称的逗号分隔列表。如需了解详情,请参阅防火墙政策规则的 Google Threat Intelligence。 如果 --src-network-contextNON_INTERNETVPC_NETWORKSINTRA_VPC,则无法使用 --src-threat-intelligence 标志。
  • (可选)指定入站规则的目标

    • DEST_IP_RANGES:以逗号分隔的 IP 地址范围列表(采用 CIDR 格式)。列表中的范围必须全部是 IPv4 CIDR 或 IPv6 CIDR,不能同时使用这两者。

为虚拟机目标创建出站规则

以下说明展示了如何创建出站规则。出站规则仅适用于作为 Compute Engine 实例网络接口的目标。

控制台

  1. 在 Google Cloud 控制台中,前往防火墙政策页面。

    转到“防火墙政策”

  2. 在项目选择器列表中,选择包含全球网络防火墙政策的项目。

  3. 网络防火墙政策部分中,点击要创建规则的全球网络防火墙政策的名称。

  4. 防火墙规则部分,点击创建防火墙规则,然后指定以下配置参数:

    1. 优先级:规则的数字评估顺序。

      这些规则按照从最高到最低的优先级进行评估,其中 0 是最高优先级。每条规则的优先级都必须唯一。 建议您将规则优先级值之间的差值设为大于 1(例如 100200300),以便日后在现有规则之间创建新规则。

    2. 说明:提供说明(可选)。

    3. 流量方向:选择出站

    4. 对匹配项执行的操作:选择以下选项之一:

      • 允许:允许与规则参数匹配的连接。
      • 拒绝:用于屏蔽与规则参数匹配的连接。
      • 转到下一层:继续执行防火墙规则评估流程
      • 应用安全配置文件组:根据您选择的用途,将数据包发送到防火墙端点拦截端点组
        • 如需将数据包发送到 Cloud NGFW 防火墙端点,请选择 Cloud NGFW Enterprise,然后选择安全配置文件组。如需启用数据包的 TLS 检查,请选择启用 TLS 检查
        • 如需将数据包发送到 Network Security Integration 拦截端点组以进行带内集成,请选择 NSI In-Band,然后选择安全配置文件组

    5. 日志:选择启用可启用防火墙规则日志记录;选择关闭可针对相应规则停用防火墙规则日志记录。

    6. 目标:选择以下选项之一:

      • 应用于所有:Cloud NGFW 使用最广泛的实例目标
      • 服务账号:将最大范围的实例目标缩小到使用您指定的服务账号的虚拟机实例的网络接口:

        • 服务账号范围部分,依次选择在此项目中> 目标服务账号。这是为了指定与全球网络防火墙政策位于同一项目中的服务账号。
        • 服务账号范围部分,依次选择在其他项目中 > 目标服务账号。用于指定共享 VPC 服务项目中的服务账号。
      • 安全标记:将最大范围的实例目标缩小为绑定到您指定的至少一个安全标记值的虚拟机实例的网络接口。点击选择标记范围,然后选择包含要匹配的标记值的组织或项目。如需添加更多标记值,请点击添加标记

    7. 目标网络上下文:指定网络上下文

      • 如需跳过按网络上下文过滤出站流量,请选择所有网络上下文
      • 如需将出站流量过滤到特定网络情境,请选择特定网络情境,然后选择一个网络情境:

    8. 目标过滤条件:指定其他目标参数。某些目标参数不能一起使用,并且您选择的目标广告资源网上下文会限制可使用的目标过滤条件。如需了解详情,请参阅出站流量规则的目的地出站流量规则目的地组合

      • 如需按目标 IPv4 范围过滤传出的流量,请选择 IPv4,然后在 IP 范围字段中输入 CIDR 地址块。对于任何 IPv4 目标,请使用 0.0.0.0/0
      • 如需按目标 IPv6 范围过滤传出的流量,请选择 IPv6,然后在 IPv6 范围字段中输入 CIDR 地址块。对于任何 IPv6 目标,请使用 ::/0
      • 如需按目标 FQDN 过滤传出的流量,请在 FQDN 字段中输入 FQDN。如需了解详情,请参阅 FQDN 对象
      • 如需按目标地理位置过滤传出的流量,请从地理位置字段中选择一个或多个地理位置。如需了解详情,请参阅地理定位对象
      • 如需按目标地址组过滤出站流量,请从地址组字段中选择一个或多个地址组。如需了解详情,请参阅防火墙政策的地址组
      • 如需按目的地 Google Threat Intelligence 列表过滤出站流量,请从 Google Cloud Threat Intelligence 字段中选择一个或多个 Google Threat Intelligence 列表。如需了解详情,请参阅防火墙政策规则的 Google Threat Intelligence

    9. 来源:指定可选的来源参数。如需了解详情,请参阅出站流量规则的来源

      • 如需跳过按来源 IP 地址过滤传出流量,请选择
      • 如需按来源 IP 地址过滤传出的流量,请选择 IPv4IPv6,然后输入一个或多个 CIDR,格式与用于目标 IPv4 范围或目标 IPv6 范围的格式相同。

    10. 协议和端口:指定流量的协议和目标端口,以匹配规则。如需了解详情,请参阅协议和端口

    11. 强制执行:指定是否强制执行防火墙规则:

      • 已启用:创建规则并开始对新连接强制执行该规则。
      • 已停用:创建规则,但不针对新连接强制执行该规则。
  5. 点击创建

gcloud

gcloud compute network-firewall-policies rules create PRIORITY \
    --firewall-policy=POLICY_NAME \
    --project=PROJECT_ID \
    --global-firewall-policy \ --description=DESCRIPTION \ --direction=EGRESS \ --action=ACTION \ [--enable-logging | --no-enable-logging] \ [--disabled | --no-disabled] \ [--target-secure-tags=TARGET_SECURE_TAGS] \
    [--target-service-accounts=TARGET_SERVICE_ACCOUNTS] \ [--layer4-configs=LAYER_4_CONFIGS] \ [--dest-network-context=DEST_NETWORK_CONTEXT] \ [--dest-ip-ranges=DEST_IP_RANGES] \
    [--dest-address-groups=DEST_ADDRESS_GROUPS] \
    [--dest-fqdns=DEST_DOMAIN_NAMES] \
    [--dest-region-codes=DEST_COUNTRY_CODES] \
    [--dest-threat-intelligence=DEST_THREAT_LIST_NAMES] \ [--src-ip-ranges=SRC_IP_RANGES]

替换以下内容:

  • PRIORITY:政策中规则的数字评估顺序。这些规则按照从最高到最低的优先级进行评估,其中 0 是最高优先级。每条规则的优先级都必须唯一。建议您将规则优先级值之间的差值设为大于 1(例如 100200300),以便日后在现有规则之间创建新规则。
  • POLICY_NAME:您要在其中创建规则的全球网络防火墙政策的名称。
  • PROJECT_ID:包含全球网络防火墙政策的项目 ID。
  • DESCRIPTION:新规则的可选说明。
  • ACTION:指定以下操作之一:

    • allow:允许与规则匹配的连接。
    • deny:拒绝与规则匹配的连接。
    • goto_next:继续执行防火墙规则评估流程
    • apply_security_profile_group:将数据包发送到防火墙端点拦截端点组
      • 当操作为 apply_security_profile_group 时,您必须包含 --security-profile-group SECURITY_PROFILE_GROUP,其中 SECURITY_PROFILE_GROUP安全配置文件组的名称。
      • 安全配置文件组的安全配置文件可以引用 Cloud NGFW 防火墙端点或 Network Security Integration 拦截端点组以进行带内集成。
      • 如果安全配置文件组的安全配置文件引用了 Cloud NGFW 防火墙端点,请添加 --tls-inspect--no-tls-inspect 以启用或停用 TLS 检查。
  • --enable-logging--no-enable-logging 标志用于启用或停用 VPC 防火墙规则日志记录。
  • --disabled--no-disabled 标志用于控制规则是处于停用(不强制执行)状态还是启用(强制执行)状态。
  • 指定目标

    • 如果您同时省略 --target-secure-tags--target-service-accounts 标志,Cloud NGFW 会使用最广泛的实例目标
    • TARGET_SECURE_TAGS:以英文逗号分隔的安全标记值列表,用于将最广泛的实例目标范围缩小到绑定到至少一个安全标记值的虚拟机实例的网络接口。
    • TARGET_SERVICE_ACCOUNTS:服务账号的逗号分隔列表,用于将最大范围的实例目标缩小到使用其中一个服务账号的虚拟机实例的网络接口。
  • LAYER_4_CONFIGS:以逗号分隔的第 4 层配置列表。每个第 4 层配置可以是以下项之一:
    • 不含任何目标端口的 IP 协议名称 (tcp) 或 IANA IP 协议编号 (17)。
    • 以英文冒号 (tcp:80) 分隔的 IP 协议名称和目标端口。
    • IP 协议名称和目标端口范围,以英文冒号分隔,并使用英文短划线分隔起始目标端口和结束目标端口 (tcp:5000-6000)。如需了解详情,请参阅协议和端口
  • 为出站规则指定目的地。如需了解详情,请参阅出站流量规则目的地组合

    • DEST_NETWORK_CONTEXT:定义要与另一个受支持的目标参数结合使用的目标网络上下文,以生成目标组合。有效值为 INTERNETNON_INTERNET。如需了解详情,请参阅网络上下文
    • DEST_IP_RANGES:以逗号分隔的 IP 地址范围列表(采用 CIDR 格式)。列表中的范围必须全部是 IPv4 CIDR 或 IPv6 CIDR,不能同时使用这两者。
    • DEST_ADDRESS_GROUPS:以逗号分隔的地址组列表,其中每个地址组都由其唯一网址标识符指定。
    • DEST_DOMAIN_NAMES:以逗号分隔的 FQDN 对象列表,格式如域名格式中所述。
    • DEST_COUNTRY_CODES:以逗号分隔的国家/地区双字母代码列表。如需了解详情,请参阅地理定位对象
    • DEST_THREAT_LIST_NAMES:Google Threat Intelligence 列表名称的逗号分隔列表。如需了解详情,请参阅防火墙政策规则的 Google Threat Intelligence
  • (可选)指定出站流量规则的来源

    • SRC_IP_RANGES:以逗号分隔的 IP 地址范围列表(采用 CIDR 格式)。列表中的范围必须全部是 IPv4 CIDR 或 IPv6 CIDR,不能同时使用这两者。

后续步骤