配置网络边缘安全政策

通过网络边缘安全政策,您可以配置规则以允许或屏蔽 Google 网络边缘的流量。您可以为以下前端类型配置网络边缘安全政策:

  • 外部直通网络负载均衡器
  • 协议转发
  • 具有公共 IP 地址的虚拟机

您可以使用网络边缘安全政策按来源和目标 IP 地址范围进行过滤 与 Cloud Next Generation Firewall 类似,但又不会消耗你的资源。在 此外,网络边缘安全政策是唯一的安全政策类型 (支持字节偏移过滤)。

为网络边缘安全政策配置自定义规则

与后端和边缘安全政策一样,您可以为 网络边缘安全政策在以下示例中,您将创建一个网络边缘安全政策,配置自定义规则以仅允许来自给定来源 IP 地址范围的流量,并将该政策附加到后端服务。

网络边缘安全政策支持多个 Google Cloud Armor 过滤条件,包括字节偏移过滤等唯一过滤条件。如需详细了解网络边缘安全政策支持的功能,请参阅安全政策概览。此外,你还可以在 Google Cloud 中部署网络边缘安全政策 预览模式

在继续之前,您必须 注册 Google Cloud Armor Enterprise配置高级网络 DDoS 攻击防护。 如果没有处于活跃状态,则无法为网络边缘安全政策使用自定义规则 Cloud Armor Enterprise 订阅和高级网络 DDoS 攻击防护。

如需配置自定义规则,请按照以下步骤操作:

  1. 使用名称创建新的网络边缘安全政策 区域中的 POLICY_NAME REGION.不使用相同的安全政策 和启用高级网络 DDoS 攻击防护时使用的服务。

    gcloud compute security-policies create POLICY_NAME \
       --type=CLOUD_ARMOR_NETWORK \
       --region=REGION
    
  2. 更改政策 默认规则 allowdeny,以屏蔽未明确允许的流量 其他规则

    gcloud compute security-policies rules update 2147483647 \
       --security-policy=POLICY_NAME \
       --action=deny \
       --region=REGION
    
  3. 在同一项安全政策中,添加一条具有优先级的规则 RULE_PRIORITY(允许来源 IP 中的请求) 地址范围RANGE

    gcloud compute security-policies rules create RULE_PRIORITY \
       --security-policy=POLICY_NAME \
       --network-src-ip-ranges=RANGE \
       --action=allow \
       --region=REGION
    
  4. 将该安全政策与后端服务 BACKEND_SERVICE_NAME 相关联。

    gcloud compute backend-services update BACKEND_SERVICE_NAME \
       --security-policy=POLICY_NAME \
       --region=REGION
    

    或者,您可以将安全政策与单个虚拟机相关联 实例:

    gcloud beta compute instances network-interfaces update VM_NAME \
       --security-policy=POLICY_NAME \
       --security-policy-region=REGION \
       --network-interface=NETWORK_INTERFACE \
       --zone=ZONE_NAME
    
  5. 可选:您可以使用 。如果成功,输出中的 securityPolicy 字段会包含指向安全政策资源的链接。

    gcloud compute instances describe VM_NAME --zone=ZONE_NAME
    

创建上述示例后,您可以继续使用 security-policies rules update 命令向网络边缘安全政策添加规则。网络边缘安全政策支持的字段如下所示:

字段 标志 说明
来源 IP 地址 --network-src-ip-ranges 标准文本格式的来源 IPv4/6 地址或 CIDR 前缀。
来源端口 --network-src-ports TCP/UDP/SCTP 的来源端口号。每个元素可以是(16 位) 数字(例如“80”)或范围(例如“0-1023”)。
来源区域代码 --network-src-region-codes 由两个字母组成的国家/地区代码 (ISO 3166-1 alpha-2)。
来源 ASN --network-src-asns 来源 IP 地址的 BGP 自治系统编号。
目标 IP 地址范围 --network-dest-ip-ranges 标准文本格式的目标 IPv4/6 地址或 CIDR 前缀 格式。
目标端口 --network-dest-ports TCP/UDP/SCTP 的目标端口号。每个元素可以是 (16 位)数字(例如“80”)或范围(例如“0-1023”)。
IP 地址协议 --network-ip-protocols IPv4 协议 / IPv6 Next 标头(在扩展标头之后)。每个 元素可以是 8 位数字(如“6”)、范围(如“253-254”),或者 使用以下某个协议名称: <ph type="x-smartling-placeholder">
    </ph>
  • tcp
  • udp
  • icmp
  • esp
  • ah
  • ipip
  • sctp
字节偏移过滤 不适用 请参阅以下部分。

--network-src-region-codes 标志与网络边缘安全机制搭配使用时 政策,您可以在以下国家/地区使用区号: 美国实施的全面制裁:

地区 分配的代码
克里米亚 XC
所谓的顿涅茨克人民共和国 (DNR);
所谓的卢甘斯克人民共和国 (LNR)
XD

配置字节偏移过滤

如果您使用外部直通式网络负载均衡器、协议转发或具有公共 IP 地址的虚拟机,则 Google Cloud Armor 可对入站流量执行深度数据包检测。您可以配置与特定 TCP/UDP 字节偏移值匹配的安全政策规则。您可以将规则配置为在配置的值存在时应用规则操作,或者在配置的值不存在时应用规则操作。

以下示例在该值存在时允许流量,并拒绝所有其他流量:

  1. 创建一个新的网络边缘安全政策。如果您符合以下情况,则可以跳过此步骤 已有网络边缘安全政策。

    gcloud compute security-policies create POLICY_NAME \
       --type=CLOUD_ARMOR_NETWORK \
       --region=REGION_NAME
    
  2. 更新网络边缘安全政策以添加用户定义的字段 使用以下参数:

    • 基准:值可以是 IPv4IPv6TCPUDP
    • 偏移:字段相对于基准的偏移(以字节为单位)
    • Size:以字节为单位的字段大小(最大值为 4
    • Mask(掩码):字段中要匹配的位的掩码

    每个政策最多可以使用八个用户定义的字段。在以下示例中, 您需要创建两个用户定义的字段

    gcloud compute security-policies add-user-defined-field POLICY_NAME \
       --user-defined-field-name=USER_DEFINED_FIELD_NAME_TCP \
       --base=TCP \
       --offset=OFFSET \
       --size=SIZE \
       --mask=MASK \
       --region=REGION_NAME
    
    gcloud compute security-policies add-user-defined-field POLICY_NAME \
       --user-defined-field-name=USER_DEFINED_FIELD_NAME_UDP \
       --base=UDP \
       --offset=OFFSET \
       --size=SIZE \
       --mask=MASK \
       --region=REGION_NAME
    
  3. 在网络边缘安全政策中,添加与上一示例中使用的自定义字段名称相同的规则。将 VALUE1VALUE2 替换为与您要允许的流量匹配的值。

    gcloud compute security-policies rules create RULE_PRIORITY \
       --security-policy=POLICY_NAME \
       --network-user-defined-fields="USER_DEFINED_FIELD_NAME_TCP;VALUE1:VALUE2,USER_DEFINED_FIELD_NAME_UDP;VALUE1:VALUE2,USER_DEFINED_FIELD_NAME_UDP;VALUE1,VALUE2" \
       --action=allow \
       --region=REGION_NAME
    
  4. 将网络边缘安全政策中的默认规则设置为 拒绝规则。如果您的安全政策中的默认规则已经是拒绝规则,则可以跳过此步骤。

    gcloud compute security-policies rules update 2147483647 \
       --security-policy=POLICY_NAME \
       --action=deny \
       --region=REGION_NAME
    
  5. 将网络边缘安全政策与外部直通式网络负载均衡器的后端服务相关联。

    gcloud compute backend-services update BACKEND_SERVICE_NAME \
       --security-policy=POLICY_NAME \
       --region=REGION_NAME
    

监控

Google Cloud Armor 将以下指标导出到 Cloud Monitoring 每条网络边缘安全政策规则:

  • packet_count
    • Blocked:一个布尔值,表示 allowdeny
      规则操作的结果
    • Count:每 10,000 个数据包递增一次 packet_count 的值;例如,packet_count 值为 5 表示至少有 50,000 个数据包与您的规则匹配
  • preview_packet_count:与 packet_count 相同,用于预览中的规则 模式

如需查看网络边缘安全政策的指标,您必须先启用 Network Security API (networksecurity.googleapis.com)。Compute Security Admin 角色 (roles/compute.securityAdmin) 可提供此权限。启用 Network Security API 后,您可以在 Google Cloud 控制台的 Monitoring 中查看该指标。

进入 Monitoring