使用防火墙数据分析

本页面介绍了如何使用防火墙数据分析,提供了与防火墙规则相关的数据分析、建议和指标的访问权限。您可以在 Google Cloud Console 中的防火墙数据分析页面以及 Cloud Console 中的其他位置查看此信息。您还可以使用 Recommender API 或 gcloud 命令行工具来获取数据。

如需简要了解可用的数据分析,请参阅防火墙数据分析概览

如需查看防火墙用量指标的列表,请参阅查看指标

准备工作

您必须先选择项目,然后完成所需的设置任务,然后才能使用防火墙数据分析。某些功能的前提条件与其他功能的前提条件不同。有关详情,请参阅下表。

任务 所有指标 被覆盖的规则数据分析 过于宽松的规则数据分析(预览 有命中的拒绝规则
启用 Firewall Insights API
启用防火墙规则日志记录
启用 Recommender API
启用此类数据分析
配置观察期

以下各部分分别介绍了这些任务。

选择项目

在满足任何前提条件或使用防火墙数据分析执行其他操作之前,我们建议您创建或选择一个 Google Cloud 项目。按照以下步骤操作:

  1. 在 Google Cloud Console 中,转到项目选择器页面。

    转到“项目选择器”(Project selector)

  2. 选择或创建 Google Cloud 项目。

  3. 确保您的 Cloud 项目已启用结算功能

启用 Firewall Insights API

在使用防火墙数据分析执行任何任务之前,您必须先启用 Firewall Insights API。按照以下步骤操作: 此外,您还可以使用 Cloud Console API 库,如启用 API 中所述。

控制台

  1. 在 Google Cloud Console 中,转到防火墙数据分析页面。

    转到“防火墙数据分析”

  2. Firewall Insights API 下,点击启用

启用防火墙规则日志记录

如果您要查看以下任何一项,则必须启用防火墙规则日志记录

  • 防火墙规则的相关指标
  • 有关过于宽松的规则或 deny 规则的数据分析;这些数据分析统称为基于日志的数据分析

过于宽松的规则目前处于预览阶段。

防火墙数据分析仅针对启用了日志记录的规则生成指标和基于日志的数据分析。如需了解详情,请参阅防火墙规则日志记录概览

启用被覆盖的规则和/或过于宽松的规则数据分析

除非您在“防火墙数据分析”页面上主动启用这些功能,否则防火墙数据分析不会生成被覆盖的规则或过于宽松的规则数据分析。过于宽松的规则数据分析目前处于预览阶段。

启用任一功能后,您可能最多需要等待 24 小时才能看到生成的数据分析。您可能需要等待一周,才能看到机器学习预测

控制台

  1. 在 Google Cloud Console 中,转到防火墙数据分析页面。

    转到“防火墙数据分析”

  2. 点击配置

  3. 点击启用

  4. 根据需要,针对以下任一或全部将滑块移至已启用已停用

    • 被覆盖的规则数据分析

    • 过于宽松的规则数据分析

启用 Recommender API

如果要执行以下操作之一,则必须启用 Recommender API:

  • 使用被覆盖的规则数据分析
  • 使用过于宽松的规则数据分析(预览
  • 通过发出 API 调用或使用 gcloud 命令行工具检索任何数据

控制台

  1. 在 Cloud Console 中,转到启用对 API 的访问权限页面。

    启用对 API 的访问权限

  2. 确保选择了正确的项目,然后点击下一步

  3. 点击启用

gcloud

运行以下命令:

gcloud services enable recommender.googleapis.com

配置观察期

对于某些数据分析,您可以配置观察期,即数据分析所涵盖的时间段。您可以为过于宽松的规则和 deny 规则数据分析执行此操作。过于宽松的规则目前处于预览阶段。

例如,假设您将 deny 规则数据分析的观察期设置为两个月。在这种情况下,当您查看命中的 deny 规则列表时,防火墙数据分析仅显示过去两个月内曾有命中的那些规则。假设您稍后将观察期更改为一个月。在这种情况下,系统可能会识别不同数量的规则,因为防火墙数据分析会分析较短的时间段。

被覆盖的规则没有观察期。被覆盖的规则分析每 24 小时在单一时间点执行。

控制台

如需配置观察期,请执行以下操作:

  1. 在 Google Cloud Console 中,转到防火墙数据分析页面。

    转到“防火墙数据分析”

  2. 点击配置

  3. 点击观察期

  4. 根据需要,将观察期下拉列表设置为以下每项的适当时间:

    • 过于宽松的规则数据分析

    • 拒绝规则数据分析

使用防火墙数据分析着陆页

Cloud Console 中的防火墙数据分析着陆页为所有数据分析提供卡片,其中包括:

  • 被覆盖的防火墙规则
  • 过于宽容的规则(预览)包括以下各项:
    • 无命中的 Allow 规则
    • 具有未使用特性的 Allow 规则
    • 具有过于宽松的 IP 地址或端口范围的 Allow 规则
  • 无命中的 Deny 规则

每张卡片都列出了项目中符合数据分析标准的所有规则。如果您只想将结果限制为一个 VPC 网络,请使用页面顶部的过滤栏选择网络。

以下部分介绍了如何查看每项数据分析。

查看被覆盖的防火墙规则

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

控制台

  1. 在 Cloud Console 中,转到防火墙数据分析页面。

    转到“防火墙数据分析”

  2. 在名为被覆盖的规则的卡片上,点击查看完整列表。 在响应中,Cloud Console 会显示被覆盖的规则页面,其中列出了被标识为被覆盖的所有规则。每条规则的数据分析列都说明了该规则被识别为被覆盖的规则的原因。

  3. 如需详细了解被覆盖的规则和覆盖该规则的规则,请点击数据分析。

查看无命中的 allow 规则

如需了解此数据分析,请参阅防火墙数据分析概览中的无命中的允许规则

控制台

  1. 在 Cloud Console 中,转到防火墙数据分析页面。

    转到“防火墙数据分析”

  2. 在名为无命中的允许规则的卡片上,点击查看完整列表。 在响应中,Cloud Console 将显示无命中的允许规则页面,其中列出了在观察期间无命中的所有规则。每条规则的数据分析列显示了未来规则是否会被命中的预测。

  3. 对于列表中的任意规则,请根据需要执行以下任一操作:

    • 如需查看该规则的防火墙规则详情页面,请点击规则的名称。
    • 如需查看规则的日志记录,请点击查看审核日志链接。
    • 如需查看有关预测的详细信息,请点击预测链接。响应中随即会显示数据分析详情面板。此面板介绍了规则的主要特性。它还描述了项目中其他类似规则的特性及其命中数。

查看具有未使用特性的 allow 规则

如需了解此数据分析,请参阅防火墙数据分析概览中的具有未使用特性的允许规则

控制台

  1. 在 Cloud Console 中,转到防火墙数据分析页面。

    转到“防火墙数据分析”

  2. 在名为具有未使用特性的允许规则 (Allow rules with unused attributes) 的卡片上,点击查看完整列表。在响应中,Cloud Console 会显示具有未使用特性的允许规则页面。本页面列出了在观察期间识别出的具有未使用特性的所有规则。每条规则的数据分析列显示了未来特性是否会被命中的预测。

  3. 对于列表中的任意规则,请根据需要执行以下任一操作:

    • 如需查看该规则的防火墙规则详情页面,请点击规则的名称。
    • 如需查看规则的日志记录,请点击查看审核日志链接。
    • 如需查看有关预测的详细信息,请点击预测链接。响应中随即会显示数据分析详情面板。此面板介绍了规则的主要特性。它还描述了项目中具有类似特性的其他规则。

查看具有过于宽松的 IP 地址或端口范围的 allow 规则

如需了解此数据分析,请参阅防火墙数据分析概览中的具有过于宽松的 IP 地址或端口范围的允许规则

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

控制台

  1. 在 Cloud Console 中,转到防火墙数据分析页面。

    转到“防火墙数据分析”

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

  3. 对于列表中的任意规则,请根据需要执行以下任一操作:

    • 如需查看任意规则的防火墙规则详情页面,请点击该规则的名称。
    • 如需查看规则的日志记录,请点击查看审核日志链接。
    • 如要查看有关如何缩小范围的建议,请点击数据分析列中的链接。响应中随即会显示数据分析详情面板。此面板介绍了规则的主要特性。它向您推荐您可以使用的更精确的 IP 地址或端口范围。

查看命中的 deny 规则

如需了解此数据分析,请参阅防火墙数据分析概览中的命中的拒绝规则

控制台

  1. 在 Cloud Console 中,转到防火墙数据分析页面。

    转到“防火墙数据分析”

  2. 在名为有命中的拒绝规则的卡片上,点击查看完整列表。 在响应中,Cloud Console 会显示命中的拒绝规则页面,其中列出了在观察期间命中的所有 deny 规则。

  3. 如需查看由防火墙丢弃的数据包,请点击命中数

将数据分析标记为“已忽略”

如果所有数据分析都没有意义,或者如果您出于任何其他原因想要隐藏它,则可以忽略它。忽略数据分析后,除非您将其恢复,否则 Cloud Console 将不再向您或其他用户显示该数据分析。

控制台

  1. 在 Cloud Console 中,转到防火墙数据分析页面。

    转到“防火墙数据分析”

  2. 找到相应的卡片,然后点击查看完整列表

  3. 选择要忽略的规则,然后点击忽略

恢复已忽略的数据分析

如果您忽略了后来认为相关的数据分析,您或其他用户可以恢复它并使其在 Cloud Console 中可见。

控制台

  1. 在 Cloud Console 中,转到防火墙数据分析页面。

    转到“防火墙数据分析”

  2. 点击忽略历史记录。在响应中,Cloud Console 会显示已忽略的数据分析页面。

  3. 选择要恢复的数据分析,然后点击恢复

导出数据分析

如果需要,您可以使用 JSON 格式导出数据分析。

出于以下原因,您可能需要导出数据分析:

  • 您需要将数据导入另一系统。
  • 您希望离线访问数据。
  • 您打算停用防火墙数据分析,但希望保留对以前生成的数据分析的访问权限。

控制台

  1. 在 Cloud Console 中,转到防火墙数据分析页面。

    转到“防火墙数据分析”

  2. 点击另存为

  3. 按照提示选择数据分析格式并下载。

使用 Recommendation Hub

Recommendation Hub 是 Recommender 产品的一项功能,用于提供 Google Cloud 产品和服务的使用建议。

Recommendation Hub 的 Cloud Console 显示以下防火墙规则数据分析:

  • 被覆盖的防火墙规则
  • 过于宽容的规则(预览)包括以下各项:
    • 无命中的 Allow 规则
    • 具有未使用特性的 Allow 规则
    • 具有过于宽松的 IP 地址或端口范围的 Allow 规则

Recommendation Hub 会显示这些数据分析以及有关其他产品(例如 Identity and Access Management (IAM) 和虚拟机合理容量)的建议。

如需了解 Recommendation Hub 的常规信息,请参阅 Recommendation Hub 使用入门

查看被覆盖的防火墙规则

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

控制台

  1. 在 Cloud Console 中,转到 Recommendation Hub

    转到 Recommendation Hub

  2. 在名为简化防火墙配置的卡片上,点击查看全部。 Recommendation Hub 会显示一个页面,其中列出了被覆盖的规则。每条规则的数据分析列都说明了该规则被识别为被覆盖的规则的原因。

  3. 如需详细了解被覆盖的规则和覆盖该规则的规则,请点击数据分析。

查看过于宽松的规则数据分析

如需了解过于宽松的规则数据分析,请参阅防火墙数据分析概览中的以下部分:

控制台

  1. 在 Cloud Console 中,转到 Recommendation Hub

    转到 Recommendation Hub

  2. 在名为查看未使用的防火墙规则卡片上,点击查看全部

  3. 使用页面顶部的标签页可在数据分析类型之间切换。

    您可以点击列出任意规则的数据分析,了解规则包含在列表中的原因。数据分析详情会显示有关规则命中数和特性的更多信息。

将数据分析标记为“已忽略”

如果所有数据分析都没有意义,或者如果您出于任何其他原因想要隐藏它,则可以忽略它。忽略数据分析后,除非您将其恢复,否则 Cloud Console 将不再向您或其他用户显示该数据分析。

控制台

  1. 在 Cloud Console 中,转到 Recommendation Hub

    转到 Recommendation Hub

  2. 找到相应的卡片,然后点击查看全部

  3. 如果要忽略有关过于宽松的规则的数据分析,请使用页面顶部的标签页导航到相应的数据分析类别。

  4. 选择要忽略的数据分析,然后点击忽略

  5. 在确认对话框中,点击是,忽略

恢复已忽略的数据分析

如果您忽略了您认为稍后具有相关性的数据分析,您或用户可以按照以下步骤在 Cloud Console 中进行恢复。

控制台

  1. 在 Cloud Console 中,转到 Recommendation Hub

    转到 Recommendation Hub

  2. 找到相应的卡片,然后点击查看全部

  3. 如果要忽略有关过于宽松的规则的数据分析,请使用页面顶部的标签页导航到相应的数据分析类别。

  4. 点击页面顶部的历史记录

  5. 点击已忽略标签页,其中会显示项目的已忽略建议和数据分析。

  6. 选择您要恢复的数据分析。

  7. 点击恢复

  8. 在确认对话框中点击恢复

使用“防火墙详情”(Firewall details) 页面

如需详细了解此页面,请参阅列出 VPC 网络的防火墙规则

列出项目的数据分析

控制台

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

    转到防火墙

  2. 对于每个防火墙规则,在数据分析列中查看可用的数据分析的名称。

  3. 您可以点击数据分析名称以查看其详细信息。以下各部分介绍了如何查看和解释每种类型的数据分析的细节。

查看过去 24 个月内没有任何命中的 allow 规则

控制台

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

    转到防火墙

  2. 上次命中时间列中,查看过去 24 个月内最后一次使用指定防火墙规则的时间。

查看规则的使用记录图表

控制台

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

    转到防火墙

  2. 点击防火墙规则名称。

  3. 在页面的命中数监控部分中查看生成的图表,其中显示给定时间段内的防火墙命中数。您可以选择图表上方不同时间段的标签页。

查看观察期内有命中的 deny 规则

控制台

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

    转到防火墙

  2. 命中数列中,查看过去 24 个月(默认值)内用于给定防火墙规则的唯一连接数。

使用“虚拟机网络接口详情”页面

在虚拟机的网络接口详细信息页上查看防火墙用量。

如需详细了解此页面,请参阅列出虚拟机实例网络接口的防火墙规则

查看在过去 24 个月内有命中的规则

控制台

  1. 在 Cloud Console 中,转到 Compute Engine“虚拟机实例”页面。

    转到 Compute Engine 虚拟机实例

  2. 选择一个虚拟机,然后在页面的最右侧点击其更多操作菜单

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

  4. 防火墙和路由详细信息部分中,点击防火墙规则标签页。

  5. 命中数列中,查看过去 24 个月内与特定网络接口关联的所有防火墙规则的 allowdeny 流量的命中数。

使用 gcloud 命令或 API 处理数据分析

防火墙数据分析使用 Recommender 命令。Recommender 是一项 Google Cloud 服务,可提供有关 Google Cloud 产品和服务的使用建议。

列出数据分析

gcloud

如需列出项目的数据分析,请运行以下命令:

gcloud beta recommender insights list \
    --project=PROJECT_ID \
    --location=global \
    --insight-type=google.compute.firewall.Insight \
    --filter=EXPRESSION \
    --limit=LIMIT \
    --page-size=PAGE_SIZE \
    --sort-by=SORT_BY \
    --format=json

PROJECT_ID 替换为您要列出其数据分析的项目 ID。

location 标志始终使用名为 global 的位置。insight-type 标志始终使用名为 google.compute.firewall.Insight 的数据分析类型。除非您使用 JSON 格式化输出,否则命令输出将以表格形式显示。

以下字段是可选的:

  • EXPRESSION:将此布尔过滤条件应用于您要列出的每个资源。

    如果表达式的计算结果为 True,则系统会列出相应项。如需了解详情以及过滤条件表达式的示例,请运行 $ gcloud topic filters 或查看 gcloud topic filters 文档

  • LIMIT:要列出的资源数上限;列出的默认资源数量不受限制

  • PAGE_SIZE:每页列出的资源数上限

    默认页大小由服务确定,否则不进行分页。可以在 FILTERLIMIT 之前或之后应用分页。

  • SORT_BY:对资源排序所依据的以英文逗号分隔的字段键名称列表

    默认顺序是升序。如需指定降序,请在相应字段前面加上 ~(波浪号)。

API

如需获取 Google Cloud 项目的所有数据分析,请向 projects.locations.insightTypes.insights 方法发出 GET 请求:

GET https://recommender.googleapis.com/v1/{parent=projects/*/locations/global/insightTypes/*}/insights

以下示例展示了此命令的示例响应:

insights {
"name": "projects/{project_number}/locations/global/insightTypes/google.compute.firewall.Insight/insights/{insight-id}"
"description": "Firewall projects/{project_id}/global/firewalls/{shadowed_firewall_name} is shadowed by   projects/{project_id}/global/firewalls/{shadowing_firewall_name}."
"content": {
  "shadowingFirewalls": [
    "//compute.googleapis.com/projects/{project_id}/global/firewalls/shadowing_firewall_name1}"
  ]
},
"lastRefreshTime": "2020-04-01T19:16:43Z",
"observationPeriod": "0s",
"stateInfo" {
 "state": "ACTIVE"
}
"category": "SECURITY"
"targetResources":[
 "//compute.googleapis.com/projects/{project_id}/global/firewalls/{shadowed_firewall_name}"
 ],
"insightSubtype": "SHADOWED_RULE"
}

描述数据分析

gcloud

如需列出特定防火墙规则的数据分析详情,请运行以下命令:

gcloud beta recommender insights describe INSIGHT_ID \
    --project=PROJECT_NAME \
    --location=global \
    --insight-type=google.compute.firewall.Insight

将以下变量替换为您网络的值:

  • INSIGHT_ID:要描述的数据分析 ID
  • PROJECT_NAME:您要列出其数据分析的项目的名称

location 标志始终使用名为 global 的位置。insight-type 标志始终使用名为 google.compute.firewall.Insight 的数据分析类型。

API

如需获取数据分析的详细信息,请向 projects.locations.insightTypes.insights 方法发出 GET 请求:

GET
https://recommender.googleapis.com/v1/{name=projects/*/locations/global/insightTypes/*/insights/*}
{
 "name": projects/PROJECT_ID/locations/LOCATION/insightTypes/INSIGHT_TYPE_ID/insights/INSIGHT_ID,
{

将以下变量替换为您网络的值:

  • PROJECT_ID:项目 ID
  • LOCATION:始终使用名为 global 的位置
  • INSIGHT_TYPE_ID:始终使用 google.compute.firewall.Insight
  • INSIGHT_ID:数据分析的 ID

后续步骤

  • 如需查看 VPC 防火墙运行时用量、清理并优化防火墙规则配置并加强安全边界,请参阅处理常见使用场景