处理防火墙数据分析的常见使用场景

以下各部分介绍了使用“防火墙数据分析”查看 Virtual Private Cloud (VPC) 防火墙运行时使用情况、清理和优化防火墙规则配置以及加强安全边界的方式。

查看以下有关“防火墙数据分析”的指标,您能够针对 Google Cloud 资源诊断可能的安全攻击:

  • 最近 30 天内已应用于虚拟机 (VM) 实例的防火墙规则
  • 命中数突然增加的 Ingress deny 防火墙规则

如需详细了解此页面上介绍的数据分析和用量指标,请参阅防火墙数据分析概览

查看最近 30 天内应用到虚拟机的规则

控制台

查看这些规则,有助于您避免配置错误和不必要的被覆盖的规则:

  1. 在 Google Cloud Console 中,转到 Compute Engine 虚拟机 (VM) 实例页面。

    转到“Compute Engine 虚拟机”页面

  2. 过滤虚拟机实例字段中,通过输入以下键值对之一来过滤实例以查找相关的虚拟机。您也可以点击输入键(例如 Network tags:)后出现的值。如需了解详情,请参阅标记IP 地址的文档。

    Network tags:TAG_NAME

    TAG_NAME 替换为分配给 VPC 网络的标记。

    Internal IP:INTERNAL_IP_ADDRESS

    INTERNAL_IP_ADDRESS 替换为虚拟机接口的内部 IP 地址。

    External IP:EXTERNAL_IP_ADDRESS

    EXTERNAL_IP_ADDRESS 替换为虚拟机接口的外部 IP 地址。

  3. 在虚拟机接口的搜索结果中,找到虚拟机,然后点击其更多操作菜单

  4. 在菜单上,选择查看网络详情

  5. 网络接口详情页面上,完成以下步骤:

    1. 防火墙规则和路由详情下,输入 last hit after:YYYY-MM-DD 以过滤防火墙规则。这将查找包含近期命中的防火墙规则。

    2. 对于防火墙规则,请点击命中数列中的数字以打开防火墙日志并查看流量详情,如以下示例查询中所示。要输入查询,请点击提交过滤条件

      jsonPayload.rule_details.reference:("network:network1/firewall:allow-tcp") AND
      jsonPayload.instance.project_id:("p6ntest-firewall-intelligence") AND
      jsonPayload.instance.zone:("us-central1-c") AND
      jsonPayload.instance.vm_name:("instance2")
      
    3. 添加一个或多个其他 Cloud Logging 过滤条件,以进一步过滤防火墙日志详情。例如,以下示例查询添加了一个附加过滤条件,该过滤条件按来源 IP 地址 (src_ip) 进行过滤。要输入查询,请点击提交过滤条件

      jsonPayload.rule_details.reference:("network:network1/firewall:allow-tcp") AND
      jsonPayload.instance.project_id:("p6ntest-firewall-intelligence") AND
      jsonPayload.instance.zone:("us-central1-c") AND
      jsonPayload.instance.vm_name:("instance2") AND
      jsonPayload.connection.src_ip:("10.0.1.2")
      

检测 ingress deny 防火墙规则的命中数突然增加情况

您可以配置 Cloud Monitoring 以检测 ingress deny VPC 防火墙规则的匹配数变化。例如,您可选择当特定规则的匹配数时,增加收到提醒的百分比。设置此提醒可帮助您检测针对 Google Cloud 资源的潜在攻击。

您可以为已启用防火墙规则日志记录的规则创建此提醒。

控制台

如需设置提醒,请完成以下步骤:

  1. 在 Cloud Console 中,选择您的 Google Cloud 项目,然后通过导航窗格选择 Monitoring

    转到 Cloud Console

  2. 在导航窗格中选择提醒

  3. 点击页面顶部的创建政策

  4. 创建提醒政策页面上,点击添加条件,然后完成以下步骤:

    1. 输入条件名称。

    2. 查找资源类型和指标字段中,输入 firewallinsights.googleapis.com/vm/firewall_hit_count虚拟机防火墙命中数)。此指标显示针对发往特定虚拟机的流量触发的防火墙规则的命中数。

    3. 输入过滤条件。例如:

      • 使用 instance_id 指定虚拟机的 ID。
      • 使用 firewall_name 来标识启用了防火墙规则日志记录的防火墙规则。
    4. 配置提醒条件。例如,当您确定的规则匹配数为 6 小时时,使用以下值触发提醒:

      • 条件触发的条件:设为 Any time series violates
      • 条件:设置为 increases by
      • 阈值:设置为 10
      • 对于:设置为 6 hours
    5. 点击添加

    6. 点击添加通知渠道,然后添加电子邮件地址等。

    7. 点击保存

清理被覆盖的防火墙规则

如需详细了解被覆盖的规则,请参阅防火墙数据分析概览中的被覆盖的规则的示例

控制台

如需清理被其他规则覆盖的防火墙规则,请执行以下步骤:

  1. 在 Cloud Console 中,转到 VPC 防火墙规则页面。

    转到“VPC 防火墙规则”页面

  2. 过滤条件表字段中,输入以下查询:

    Insight type: Shadowed by
  3. 对于搜索结果中的每个规则,点击相应规则的名称并查看其详情页面。根据需要审核并清理每个规则。

清理未使用的 ingress allow 规则

控制台

如需查找在请求的天数内未命中的入站流量规则,请执行以下步骤:

  1. 在 Cloud Console 中,转到 VPC 防火墙规则页面。

    转到“VPC 防火墙规则”页面

  2. 过滤条件表字段中,输入以下查询:

    Type:Ingress Last hit before:YYYY-MM-DD

    YYYY-MM-DD 替换为您要使用的日期。例如 2020-03-30

  3. 对于搜索结果中的每个规则,点击相应规则的名称并查看其详情页面。根据需要审核并清理每个规则。

后续步骤