查看和优化防火墙规则

本页面介绍了用于查看和优化 Virtual Private Cloud (VPC) 防火墙用量的一些常见防火墙数据分析任务。执行这些任务以优化防火墙规则配置并收紧安全边界。

例如,您是网络管理员或网络安全工程师,支持包含多个项目和应用的多个大型共享 VPC 网络。您想要查看和优化随着时间的推移积累的大量防火墙规则,以确保它们与您的网络的预期状态一致。您可以使用以下任务来查看和优化防火墙规则。

所需的角色和权限

如需获得使用防火墙数据分析所需的权限,请让您的管理员为您授予项目的以下 IAM 角色:

如需详细了解如何授予角色,请参阅管理访问权限

这些预定义角色可提供使用防火墙数据分析所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

使用防火墙数据分析需要以下权限:

  • recommender.computeFirewallInsights.list
  • recommender.computeFirewallInsights.update

您也可以使用自定义角色或其他预定义角色来获取这些权限。

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

如需查看可帮助您避免配置错误和不必要的被覆盖的规则的规则,请执行以下操作:

控制台

  1. 在 Google Cloud 控制台中,前往 Compute Engine“虚拟机实例”页面。

    转到 Compute Engine 虚拟机实例

  2. 过滤条件字段中,通过输入以下键值对之一来过滤实例以查找相关的虚拟机。

    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. 防火墙和路由详情部分中,点击防火墙,然后点击 过滤条件
    2. 输入 last hit after:YYYY-MM-DD 以过滤防火墙规则。此过滤条件表达式会查找包含近期命中的防火墙规则。

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

      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")
      
    4. 添加一个或多个其他 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")
      

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

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

如需设置提醒,请执行以下操作:

控制台

  1. 在 Google Cloud 控制台中,前往 Monitoring 页面。

    进入 Monitoring

  2. 在导航窗格中,点击 提醒,然后点击 创建政策

  3. 创建提醒政策页面上,点击 添加提醒发出条件。系统会添加一个新条件。

  4. 展开新建条件部分,然后选择配置触发器。系统会打开配置提醒触发器页面。

  5. 配置提醒条件。例如,当您确定的规则匹配数为 6 小时时,使用以下值触发提醒:

    • 条件类型:设置为 Threshold
    • 提醒触发器:设置为 Any time series violates
    • 阈值位置:设置为 Above threshold
    • 阈值:设置为 10
  6. 高级选项部分中,输入条件的名称,然后点击下一步

  7. 多条件触发器页面上,指定条件并点击下一步

  8. 配置通知页面上,依次选择通知渠道管理通知渠道

  9. 通知渠道窗口中,添加新的通知渠道(例如电子邮件地址),然后点击保存

  10. 通知渠道列表中,选择添加的通知,然后点击确定

  11. 为提醒政策命名部分中,输入名称,然后点击下一步。系统会添加提醒发出条件。

清理被覆盖的防火墙规则

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

控制台

  1. 在 Google Cloud 控制台中,转到防火墙页面。

    转到“防火墙政策”

  2. VPC 防火墙规则部分中,点击 过滤条件,然后选择数据分析类型 > 被覆盖的规则

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

如需详细了解被覆盖的规则,请参阅被覆盖的规则示例

移除未使用的 allow 规则

如需评估并移除未使用的 allow 规则,请执行以下操作:

控制台

  1. 在 Google Cloud 控制台中,转到防火墙页面。

    转到“防火墙政策”

  2. VPC 防火墙规则部分中,点击 过滤条件,然后选择类型 > Ingress > 上次命中时间早于 MM/DD/YYYY

    MM/DD/YYYY 替换为您要使用的日期。例如 08/31/2021

  3. 对于搜索结果中的每条规则,请查看数据分析列中的信息。此列提供一个百分比值,该值表示此规则在未来命中的可能性。如果百分比较高,您可能需要保留此规则。但是,如果该值较低,请继续查看数据分析生成的信息。

  4. 点击数据分析链接以显示数据分析详情窗格。

  5. 数据分析详情窗格中,查看此规则的属性以及列出的任何类似规则的属性。

  6. 如果规则将来被命中的可能性较低,并且类似规则的命中模式支持该预测,请考虑移除该规则。如需移除规则,请点击规则名称。系统会打开防火墙规则详情页面。

  7. 点击删除

  8. 在确认对话框中点击删除

allow 规则中移除未使用的特性

如需评估并移除未使用的属性,请执行以下操作:

控制台

  1. 在 Google Cloud 控制台中,进入防火墙数据分析页面。

    转到“防火墙数据分析”

  2. 在名为具有未使用属性的允许规则 (Allow rules with unused attributes) 的卡片上,点击查看完整列表。在响应中,Google Cloud 控制台会显示具有未使用特性的允许规则页面。本页面列出了在观察期间具有未使用特性的所有规则。

  3. 点击数据分析列中显示的文本。数据分析详情页面随即打开。

  4. 查看页面顶部的详细信息。此总结包含以下详细信息:

    • 数据分析的名称。
    • 此规则具有的未使用特性的数量。
    • 上次更新数据分析的时间。
    • 项目中使用类似特性的其他规则名称。
    • 观察期的长度。
  5. 评估是否可以移除该特性:

    1. 查看具有无命中特性的防火墙规则卡片。查看标记为无命中的特性(具有未来命中预测)的字段。此字段提供了一个百分比,该值说明特性将来被命中的可能性。
    2. 查看同一项目中的类似防火墙规则卡片。查看显示的有关是否使用此规则特性的数据。
  6. 如果特性在未来被命中的可能性较低,并且类似规则的命中模式支持该预测,请考虑从规则中移除该特性。如需移除该特性,请点击显示在数据分析详情页面顶部的规则名称。防火墙规则详情页面随即打开。

  7. 点击修改,进行所需的更改,然后点击保存

缩小 allow 规则的 IP 地址范围

请注意,您的项目可能具有防火墙规则,允许从某些 IP 地址块进行访问以进行负载均衡器健康检查或其他 Google Cloud 功能。这些 IP 地址可能不会被命中,但不应从防火墙规则中移除。如需详细了解这些范围,请参阅 Compute Engine 文档

如需评估并限制过于宽松的 IP 地址范围,请执行以下操作:

控制台

  1. 在 Google Cloud 控制台中,进入防火墙数据分析页面。

    转到“防火墙数据分析”

  2. 在名为具有过于宽松的 IP 地址或端口范围的允许规则的卡片上,点击查看完整列表。在响应中,Google Cloud 控制台会显示观察期内具有过于宽松范围的所有规则的列表。

  3. 在列表中找到任意规则,然后点击数据分析列中显示的文本。数据分析详情页面随即打开。

  4. 查看页面顶部的详细信息。此总结包含以下详细信息:

    • 规则的名称。
    • 可缩小的 IP 地址范围数量。
    • 上次更新数据分析的时间。
    • 观察期的长度。
  5. 评估是否可以缩小 IP 地址范围:查看具有过于宽松的 IP 地址或端口范围的防火墙规则卡片。 查看所提议的新 IP 地址范围列表。

  6. 如果适用,请考虑根据数据分析中的建议缩小 IP 地址范围。点击数据分析详情页面顶部显示的规则的名称。防火墙规则详情页面随即打开。

  7. 点击修改,进行所需的更改,然后点击保存

后续步骤