防火墙数据分析概览

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

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

优势

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

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

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

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

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

指标

通过防火墙数据分析指标,您可以分析防火墙规则的使用方式。您可以通过 Cloud Monitoring 和 Google Cloud Console 获得这些指标。

指标衍生自防火墙规则日志记录。它们仅适用于启用了防火墙规则日志记录的规则,并且仅在启用防火墙规则日志记录的时间段内是准确的。此外,仅为符合防火墙规则日志记录规范的流量生成防火墙指标。例如,系统仅记录 TCP 和 UDP 流量的数据并生成指标。如需查看标准的完整列表,请参阅“防火墙规则日志记录”概览中的规范

防火墙命中数指标

firewall_hit_count 指标跟踪防火墙规则用于允许或拒绝流量的次数。

对于每条防火墙规则,仅当规则因 TCP 或 UDP 流量而命中时,Cloud Monitoring 才会存储 firewall_hit_count 指标的数据。也就是说,Cloud Monitoring 不会存储未命中的规则的数据。

您还可以在 Cloud Console 中的以下页面上查看源自此指标的数据:

这些页面上的数据与 Cloud Monitoring 中存储的 firewall_hit_count 指标数据不同。例如,虽然 Cloud Monitoring 未明确标识没有命中的规则,但如果满足某些条件,Cloud Console 会将规则的命中数显示为零。也就是说,如果防火墙规则启用了日志记录,并且 Cloud Monitoring 未记录规则的命中数,则 Cloud Console 会显示零命中数。配置为允许或拒绝 TCP、UDP、ICMP 或任何类型的流量的规则可能会出现此状态。

此行为与未命中的允许规则数据分析不同。如果此数据分析识别没有命中的规则,则省略配置为允许 TCP 或 UDP 以外的流量的防火墙规则。即使这些规则也允许 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 地址和端口范围)都与具有更高或相等优先级的一个或多个规则(称为覆盖规则)的属性重叠

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

在 Recommender 框架中,每个数据分析子类型都有一个严重级别。对于被覆盖的规则的数据分析,严重级别为 medium。如需了解详情,请参阅 Recommender 文档中的严重级别

被覆盖的规则的示例

在此示例中,一些被覆盖的规则和覆盖规则具有重叠的来源 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 一起覆盖。

过于宽松的规则

防火墙数据分析可全面分析防火墙规则是否过于宽松。此分析包括以下数据分析:

机器学习预测中所述,其中一些数据分析包括有关规则或特性未来是否可能会命中的预测。

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

过于宽松的规则数据分析可以评估 TCP 和 UDP 流量。不会分析其他类型的流量。如需了解详情,请参阅每项数据分析的说明。

在 Recommender 框架中,每个数据分析子类型都有一个严重级别。对于过于宽松的规则的数据分析,严重级别为 high。如需了解详情,请参阅 Recommender 文档中的严重级别

未命中的允许规则

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

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

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

Allow rules with no hits 评估针对 TCP 和 UDP 流量强制执行的防火墙规则。如果防火墙规则允许任何其他类型的流量,则不包括在此分析中。

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

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

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

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

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

Allow rules with unused attributes 仅评估针对 TCP 和 UDP 流量定义的特性。如果除 TCP 和 UDP 之外,规则还允许其他类型的流量,则该规则可以包含在此分析中。但是,不会分析属于其他类型的流量的特性。

例如,假设规则允许 TCP 和 ICMP 流量。如果允许的 IP 地址范围显示为未使用,则该地址范围不会被视为未使用,因为它可能用于 ICMP 流量。但是,如果同一规则具有未使用的 TCP 端口范围,则该规则被标记为过于宽松。

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

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

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

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

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

Allow rules with overly permissive IP address or port ranges 仅评估针对 TCP 和 UDP 流量定义的特性。如果除 TCP 和 UDP 之外,规则还允许其他类型的流量,则该规则可以包含在此分析中。但是,不会分析属于其他类型的流量的特性。

例如,假设规则允许 TCP 和 ICMP 流量。如果允许的 IP 地址范围似乎仅被部分使用,数据分析不会将该 IP 地址范围标记为过于宽泛,因为该范围可能也会被用于 ICMP 流量。但是,如果同一规则的 TCP 端口范围仅被部分使用,那么该规则会被标记为过于宽松。

请注意,您的项目可能具有防火墙规则,允许从某些 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 位置查看防火墙数据分析的指标和数据分析:

后续步骤