防火墙数据分析概览

防火墙数据分析可帮助您更好地了解并安全地优化防火墙规则。它提供了有关防火墙规则使用方式的数据、公开配置错误,以及标识可能更严格的规则。此外,它还使用机器学习来预测防火墙规则的未来使用情况,从而明智地决定是移除还是收紧似乎过于宽松的规则。用于识别过于宽松的规则的功能目前处于预览阶段。

防火墙数据分析使用 Cloud Monitoring 指标和 Recommender 数据分析。如需了解这些产品的背景信息,请参阅以下文档:

优势

防火墙数据分析会生成指标和数据分析,可让您更好地决定防火墙规则。

借助防火墙数据分析指标,您可以执行以下任务:

  • 验证防火墙规则是否按预期方式使用。
  • 在指定的时间段内,验证防火墙规则是否允许或禁止其预期连接。
  • 对由于防火墙规则而无意中舍弃的连接执行实时调试。
  • 发现意图访问您网络的恶意软件,部分原因在于获取有关防火墙规则命中数的重大变化的提醒。

借助数据分析,您可以执行以下任务:

  • 确定防火墙配置错误
  • 识别安全攻击。
  • 通过识别过于宽松的 allow 规则,并查看关于其未来使用情况的预测,优化防火墙规则并严守安全边界。这些功能目前处于预览阶段。

指标

通过防火墙数据分析指标,您可以分析防火墙规则的使用方式。您可以通过 Cloud Monitoring 和 Google Cloud Console 使用防火墙数据分析指标。指标通过防火墙规则日志记录派生。

如需了解详情,请参阅查看防火墙数据分析指标

防火墙命中数指标

firewall_hit_count 指标会跟踪防火墙规则的命中数。为此,它会评估防火墙规则日志记录记录的所有流量。对于已经启用了日志记录功能的防火墙规则,您可以查看防火墙规则已经阻止或允许了多少次连接。您还可以查看特定虚拟机 (VM) 实例的接口的这些指标。

命中计数数据可能会滞后于实际事件几分钟。 防火墙数据分析仅会为符合防火墙规则日志记录规范的流量生成防火墙命中数指标。例如,只能记录 TCP 和 UDP 流量。

防火墙上次使用时间指标

您可以通过查看 firewall_last_used_timestamp 指标来查看上次应用特定防火墙规则以允许或拒绝流量的时间。通过查看这些指标,您可以了解哪些防火墙规则最近未被使用过。

该指标可以捕获过去 24 个月的总命中计数,或者启用日志以来的总命中计数(两个时间段中以较短者为准)。此时间段取决于 Cloud Logging 的保留期限。如果最后一次命中发生在过去 24 个月之前,则 last hit time 会显示为 N/A (not applicable)

防火墙规则用量指标仅在启用了防火墙规则日志记录的时间段内是准确的。

数据分析

数据分析提供有关防火墙规则配置和防火墙规则使用情况的分析。它们使用 google.compute.firewall.Insight 数据分析类型。

数据分析类别和状态

本部分介绍防火墙数据分析的类别,以及数据分析可具有的状态。

数据分析类别

在防火墙数据分析中,数据分析分为两大类。下表介绍了这些类别。

类别 说明 数据分析
基于配置 这些数据分析是基于有关防火墙规则配置方式的数据生成的。 被覆盖的规则
基于日志 这些数据分析是基于有关防火墙规则使用情况的日志记录以及规则配置方式信息生成的。
  • 过于宽松的规则(预览版):
    • 无命中的 Allow 规则
    • 具有未使用特性的 Allow 规则
    • 具有过于宽松的 IP 地址或端口范围的 Allow 规则
  • 有命中的 Deny 规则

数据分析状态

每个数据分析可以具有以下状态之一,您可以按照下表中的说明进行更改。

说明
ACTIVE 数据分析很活跃。Google 会根据最新信息不断更新 ACTIVE 数据分析的内容。
DISMISSED

数据分析被忽略,不再显示在任何活跃的数据分析列表上。您可以在已忽略的历史记录页面上将 DISMISSED 状态恢复为 ACTIVE

如需了解详情,请参阅将数据分析标记为“已忽略”

被覆盖的规则

防火墙数据分析用来分析防火墙规则,以检测被其他规则覆盖的防火墙规则。 被覆盖的规则是一种防火墙规则,它的所有相关属性(如 IP 地址和端口范围)都与具有更高或相等优先级的一个或多个规则(称为覆盖规则)的属性重叠

需要启用 Firewall Insights API 才能生成 shadowed-firewall-rule 数据分析。启用防火墙规则日志记录后,系统会在 24 小时内计算出被覆盖的规则,并且每天都会刷新被覆盖的规则信息。

防火墙数据分析不会识别所有可能的覆盖规则。具体而言,它无法确定防火墙规则的标记是否已被其他防火墙规则中的多个标记覆盖。

被覆盖的规则的示例

在此示例中,一些被覆盖的规则和覆盖规则具有重叠的来源 IP 范围过滤条件,而其他规则的规则优先级则不同。

下表展示了防火墙规则 AE。对于不同的被覆盖的规则场景,请参阅表后面的部分。

类型 目标 过滤 协议或端口 操作 优先级
防火墙规则 A 入站流量 应用到全部 10.10.0.0/16 tcp:80 允许 1000
防火墙规则 B 入站流量 应用到全部 10.10.0.0/24 tcp:80 允许 1000
防火墙规则 C 入站流量 Web 10.10.2.0/24 tcp:80
tcp:443
允许 1000
防火墙规则 D 入站流量 Web 10.10.2.0/24 tcp:80 拒绝 900
防火墙规则 E 入站流量 Web 10.10.2.0/24 tcp:443 拒绝 900

示例 1:防火墙规则 A 覆盖了防火墙规则 B

在此示例中,有两个防火墙规则:A 和 B。除了它们的来源 IP 范围过滤条件外,这些规则几乎相同。防火墙规则 A 的 IP 范围为 10.10.0.0/16,而防火墙规则 B 的地址范围为 10.10.0.0/24。因此,防火墙规则 B 被防火墙规则 A 覆盖。

shadowed firewall rules 数据分析通常表示防火墙配置错误。例如,防火墙规则 A 的 IP 过滤条件设置不必要地宽泛了,或者防火墙规则 B 的过滤条件设置过于严格且不需要。

示例 2:防火墙规则 D 和 E 覆盖了防火墙规则 C

在此示例中,有三个防火墙规则:C、D 和 E。防火墙规则 C 允许 HTTP 端口 80 和 HTTPS 端口 443 网络流量入站,并且优先级为 1000(默认优先级)。防火墙规则 D 和 E 分别拒绝 HTTP 和 HTTPS 网络流量入站,它们的优先级均为 900(高优先级)。因此,防火墙 C 被防火墙规则 D 和 E 一起覆盖。

过于宽松的规则

防火墙数据分析可全面分析防火墙规则是否过于宽松。此分析包含以下部分所述的数据分析。其中一些数据分析包括该数据分析未来是否可能有效的预测。

这些数据分析提供的数据基于防火墙规则日志记录。只有在整个观察期内持续启用了防火墙规则日志记录时,此数据才是准确的。否则,每个数据分析类别中的实际规则数量可能高于指示的数量。

未命中的允许规则

此数据分析确定了观察期内没有命中的 allow 规则。

对于所识别的每条规则,此数据分析还会报告该规则今后是否可能会命中的概率。此预测由机器学习 (ML) 分析生成,该分析会考虑此规则的历史流量模式和同一组织中类似规则。

为了帮助您理解预测结果,此数据分析会识别与数据分析所识别的规则位于同一项目中的类似规则。这些数据分析列出了这些规则的命中数并汇总了其配置详细信息。这些详细信息包括每个规则的优先级和特性,例如其 IP 地址和端口范围。

如需了解防火墙数据分析使用的预测,请参阅机器学习预测

具有未使用特性的允许规则

对于在观察期内命中的 allow 规则,此数据分析会报告此规则的任何特性(例如 IP 地址和端口范围),这些特性在观察期没有命中

对于这些未使用的特性,此数据分析会报告未来命中它们的概率。此预测基于机器学习分析,该分析会考虑此规则的历史流量模式以及同一组织中的类似规则。

为了帮助您理解预测结果,数据分析汇总了同一项目中具有类似特性的其他防火墙规则。此总结包含有关规则特性是否命中的数据。

如需了解防火墙数据分析使用的预测,请参阅机器学习预测

具有过于宽松的 IP 地址或端口范围的允许规则

对于在观察期内命中的 allow 规则,此数据分析可以识别 IP 地址或端口范围过于宽泛的规则。

此数据分析非常有用,因为创建的防火墙规则通常具有比所需范围更广泛的范围。如果范围过于宽泛,则可能会导致安全风险。

此数据分析可通过分析规则 IP 地址和端口范围的实际使用情况缓解此问题。对于范围过于宽泛的规则,它还建议使用 IP 地址和端口范围的替代组合。通过这些信息,您可以移除观察期内根据流量模式显示为不需要的范围。

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

机器学习预测

如前面部分所述,allow 规则(没有命中)和 allow 规则(具有未使用的特性),两个数据分析使用机器学习预测。

为了生成预测,防火墙数据分析会训练同一组织中的所有防火墙规则中的机器学习模型。这样,防火墙数据分析就会学习常见模式。例如,防火墙数据分析会了解经常命中的特性组合。这些特性可能包括 IP 地址范围、端口范围和 IP 协议。如果正在分析的防火墙规则包含历史上可能会命中的一些常见模式,则防火墙数据分析对于今后可能会命中该规则的置信度更高。反之亦然。

对于使用预测的每个数据分析,防火墙数据分析都会显示与数据分析所识别的规则类似的规则的详细信息。具体而言,在数据分析详情面板中,防火墙数据分析会显示与作为预测主题的规则最相似的三个规则的详细信息。两个规则的特性之间存在的重叠越多,两者就越相似。

对于没有命中的 allow 规则,请参考以下示例:

假设规则 A 具有以下特性:

Source IP ranges: 10.0.1.0/24
Target tags: http-server
Protocol and ports: TCP:80

假设规则 B 具有以下特性:

Source IP ranges: 10.0.2.0/24
Target tags: http-server
Protocol and ports: TCP:80

这两条规则具有相同的目标标记、协议特性和端口特性。它们在来源属性方面有所不同。因此,它们被认为是类似的。

对于包含未使用特性的 allow 规则,会以相同方式确定相似度。对于此数据分析,防火墙数据分析在配置包含相同特性时会将规则视为相似。

有命中的拒绝规则

此数据分析详细介绍了在观察期内命中的 deny 规则。

这些数据分析可为您提供防火墙数据包丢弃信号。然后,您可以检查丢弃的数据包是由于安全保护而预期丢失的,还是由于网络配置错误而造成的。

您可以查看指标和数据分析的地方

您可以在以下 Cloud Console 位置查看防火墙数据分析的指标和数据分析:

后续步骤