创建防火墙政策规则时,您需要指定一组定义规则的作用的组件。这些组件指定流量方向、来源、目的地和第 4 层特征,例如协议和目的地端口(如果协议使用端口)。
每条防火墙政策规则都适用于传入(入站流量)或传出(出站流量)连接。
入站规则
入站流量方向是指从特定来源发送到 Google Cloud 目标的传入连接。入站流量规则适用于入站数据包,其中数据包的目的地是目标。
操作为 deny
的入站流量规则通过禁止发往所有实例的连接来保护所有实例。入站访问可能会被更高优先级的规则所允许。自动创建的默认网络包含一些预先填充的 VPC 防火墙规则,这些规则允许某些类型的流量入站。
出站规则
出站流量方向是指从目标发送到目的地的出站流量。出站流量规则适用于数据包来源为相应目标的新连接的数据包。
具有 allow
操作的出站流量规则允许实例将流量发送到规则中指定的目的地。出站流量可以被更高优先级的 deny
防火墙规则拒绝。Google Cloud 还会阻止或限制特定类型的流量。
防火墙政策规则组件
分层防火墙政策、全球网络防火墙政策和区域级网络防火墙政策中的规则使用本部分中所述的组件。“防火墙政策”这个术语指的是三种类型的政策中的任何一种。如需详细了解防火墙政策的类型,请参阅防火墙政策。
防火墙政策规则通常与 VPC 防火墙规则相同,但存在一些差异,如以下部分所述。
优先级
防火墙政策中规则的优先级是 0 到 2,147,483,647(含)之间的整数。数字越小,优先级越高。防火墙政策中规则的优先级与 VPC 防火墙规则优先级类似,但存在以下区别:
- 防火墙政策中的每个规则都必须具有唯一的优先级。
- 防火墙政策中规则的优先级用作规则的唯一标识符。防火墙政策中的规则不使用名称进行标识。
- 防火墙政策中规则的优先级定义了防火墙政策本身中的评估顺序。VPC 防火墙规则和分层防火墙政策、全球网络防火墙政策和区域级网络防火墙政策中的规则按照政策和规则评估顺序所述进行评估。
对匹配项执行的操作
防火墙政策中的规则可以执行以下操作之一:
allow
允许流量,并停止进一步的规则评估。deny
禁止流量,并停止进一步的规则评估。
apply_security_profile_group
以透明方式拦截流量,并将其发送到已配置的防火墙端点以进行第 7 层检查。
goto_next
会继续执行规则评估过程。
强制执行
您可以通过启用或停用防火墙政策规则来选择是否实施。您可以在创建规则或更新规则时设置实施状态。
如果您在创建新的防火墙规则时未设置实施状态,则防火墙规则会自动启用。
协议和端口
与 VPC 防火墙规则类似,您必须在创建规则时指定一个或多个协议和端口限制条件。在规则中指定 TCP 或 UDP 时,您可以指定协议、协议和目的地端口,或协议和目的地端口范围;不能仅指定端口或端口范围。您只能指定目的地端口。系统不支持基于来源端口的规则。
您可以在防火墙规则中使用以下协议名称:tcp
、udp
、icmp
(适用于 IPv4 ICMP)、esp
、ah
、sctp
、ipip
。对于所有其他协议,请使用 IANA 协议编号。
许多协议在 IPv4 和 IPv6 中使用相同的名称和编号,但某些协议(如 ICMP)并非如此。如需指定 IPv4 ICMP,请使用 icmp
或协议编号 1
。对于 IPv6 ICMP,请使用协议编号 58
。
防火墙规则不支持指定 ICMP 类型和代码,仅支持指定协议。
防火墙规则不支持 IPv6 逐跳协议。
如果未指定协议和端口参数,则规则适用于所有协议和目标端口。
日志记录
防火墙政策规则的日志记录与 VPC 防火墙规则日志记录相同,但以下方面除外:
引用字段包含防火墙政策 ID 和一个数字,该数字表明政策关联的资源的级层。例如,
0
表示政策应用于组织,1
表示政策应用于组织下的顶级文件夹。防火墙政策规则的日志包含一个
target_resource
字段,用于标识规则要应用于的 VPC 网络。
- 只能为
allow
、deny
和apply_security_profile_group
规则启用日志记录;不能为goto_next
规则启用。
目标、来源、目的地
目标参数标识防火墙规则适用的实例网络接口。
您可以指定适用于入站流量和出站流量防火墙规则的数据包来源或目的地的来源参数和目的地参数。防火墙规则的方向决定了来源和目的地参数的可能值。
目标、来源和目的地参数协同工作。
目标
目标参数用于标识 Compute Engine 实例(包括 GKE 节点和 App Engine 柔性环境实例)的网络接口。
您可以为入站流量或出站流量规则定义目标。有效的目标选项取决于防火墙政策的类型。
分层防火墙政策规则的目标
分层防火墙政策规则支持以下目标:
默认最大范围的目标:如果您在分层防火墙政策规则中省略目标规范,则防火墙规则将应用到与防火墙政策关联的 Resource Manager 节点(文件夹或组织)下所有项目的所有 VPC 网络中的所有实例。这是最大范围的目标集。
特定网络:如果您使用
target-resources
参数指定一个或多个 VPC 网络,则最大范围的目标集仅限于在至少一个指定 VPC 网络中具有网络接口的虚拟机。由服务账号标识的实例:如果您使用
target-service-accounts
参数指定一个或多个服务账号,则最大范围的目标集仅限于使用其中一个指定的服务账号的虚拟机。由服务账号标识的特定网络和实例:如果您同时指定
target-resources
参数和target-service-accounts
参数,则最大范围的目标集仅限于满足以下两个条件的虚拟机:- 虚拟机在其中一个指定 VPC 网络中具有网络接口。
- 虚拟机使用其中一个指定的服务账号。
全球网络防火墙政策规则的目标
全球网络防火墙政策规则支持以下目标:
默认目标 - VPC 网络中的所有实例:如果您在全球网络防火墙政策规则中省略目标规范,则防火墙规则适用于在与该政策关联的 VPC 网络中具有网络接口的实例。实例可以位于任何区域中。这是最大范围的目标集。
目标安全标记指代的实例:如果您使用
target-secure-tags
参数指定目标标记,则最大范围的目标集仅限于绑定到这些标记的虚拟机。目标服务账号指代的实例:如果您使用
target-service-accounts
参数指定服务账号,则最大范围的目标集仅限于使用其中一个指定服务账号的虚拟机。
区域级网络防火墙政策规则的目标
区域级网络防火墙政策规则支持以下目标:
默认目标 - 区域和 VPC 网络中的所有实例:如果您在区域级网络防火墙政策规则中省略目标规范,则防火墙规则将应用于在与该政策关联的 VPC 网络中具有网络接口的实例。实例必须与该政策位于同一区域。这是最大范围的目标集。
目标安全标记指代的实例:如果您使用
target-secure-tags
参数指定目标标记,则最大范围的目标集仅限于绑定到这些标记的虚拟机。目标服务账号指代的实例:如果您使用
target-service-accounts
参数指定服务账号,则最大范围的目标集仅限于使用其中一个指定服务账号的虚拟机。
入站规则的目标和 IP 地址
路由到目标虚拟机的网络接口的数据包将根据以下条件进行处理:
如果入站流量防火墙规则包含目的地 IP 地址范围,则数据包的目的地必须在其中一个明确定义的目的地 IP 地址范围内。
如果入站流量防火墙规则不包含目的地 IP 地址范围,则数据包的目的地必须与以下 IP 地址之一匹配:
分配给实例的 NIC 的主要内部 IPv4 地址。
实例的 NIC 上任何已配置的别名 IP 地址范围。
与实例的 NIC 关联的外部 IPv4 地址。
如果在子网上配置 IPv6,则为分配给 NIC 的任何 IPv6 地址。
与用于直通式负载均衡的转发规则关联的内部或外部 IP 地址,其中实例是内部直通式网络负载均衡器或外部直通式网络负载均衡器的后端。
与用于协议转发的转发规则关联的内部或外部 IP 地址,其中实例由目标实例引用。
将实例(
next-hop-instance
或next-hop-address
)用作下一个跃点虚拟机的自定义静态路由的目的地范围内的 IP 地址。将内部直通式网络负载均衡器 (
next-hop-ilb
) 用作下一个跃点的自定义静态路由的目的地范围内的 IP 地址(如果虚拟机是该负载均衡器的后端)。
出站规则的目标和 IP 地址
从目标的网络接口发出的数据包的处理取决于目标虚拟机上的 IP 转发配置。IP 转发默认处于停用状态。
当目标虚拟机停用 IP 转发时,该虚拟机可以发出具有以下来源的数据包:
实例的 NIC 的主要内部 IPv4 地址。
实例的 NIC 上任何已配置的别名 IP 地址范围。
如果在子网上配置 IPv6,则为分配给 NIC 的任何 IPv6 地址。
与用于直通式负载均衡或协议转发的转发规则相关联的内部或外部 IP 地址。如果实例是内部直通式网络负载均衡器、外部直通式网络负载均衡器的后端或由目标实例引用,这就有效。
如果出站流量防火墙规则包含来源 IP 地址范围,则目标虚拟机仍然仅限于之前提到的来源 IP 地址,但来源参数可用于优化该集合。如果在未启用 IP 转发的情况下使用来源参数,则系统不会扩展可能的数据包来源地址集。
如果出站流量防火墙规则不包含来源 IP 地址范围,则允许之前提到的所有来源 IP 地址。
当目标虚拟机启用 IP 转发时,该虚拟机可以发送具有任意来源地址的数据包。您可以使用来源参数更精确地定义允许的数据包来源集。
来源
源参数值取决于以下因素:
- 包含防火墙规则的防火墙政策类型
- 防火墙规则的方向
入站流量规则的来源
下表列出了可在单个入站流量防火墙政策规则中单独使用或组合使用的来源参数。Cloud NGFW 要求您至少指定一个来源参数。
入站流量规则来源参数 | 分层防火墙政策中的支持 | 全球和区域网络防火墙政策中的支持 |
---|---|---|
来源 IP 地址范围
由 CIDR 格式的 IPv4 地址或 CIDR 格式的 IPv6 地址组成的简单列表。该列表存储在防火墙政策规则本身中。 |
||
来源地址组
采用 CIDR 格式的 IPv4 地址或采用 CIDR 格式的 IPv6 地址的可重复使用集合。防火墙规则引用该集合。如需了解详情,请参阅防火墙政策的地址组。 |
||
来源网域名
一个或多个来源域名的列表。如需了解详情(包括如何将域名转换为 IP 地址),请参阅 FQDN 对象。 |
||
来源安全标记
一个或多个来源安全代码的列表。 如需了解详情,请参阅来源安全标记如何表示数据包来源。 |
||
来源地理位置
一个或多个来源地理位置的列表,指定为两个字母的国家/区域代码。如需了解详情,请参阅地理位置对象。 |
||
使用 Google Threat Intelligence 列表
一个或多个预定义的 Google 威胁情报列表名称的列表。 如需了解详情,请参阅防火墙政策规则的 Google 威胁情报。 |
||
来源网络范围
用于定义安全边界的约束条件。如需了解详情,请参阅网络范围。 |
在单个入站流量规则中,您可以使用两个或更多来源参数来生成来源组合。Cloud NGFW 会对每个入站规则的来源组合强制执行以下约束条件:
- 来源 IP 地址范围必须包含 IPv4 或 IPv6 CIDR,不能同时包含这两者。
- 包含 IPv4 CIDR 的来源地址组不能与包含 IPv6 CIDR 的来源地址组搭配使用。
- 包含 IPv4 CIDR 的来源 IP 地址范围不能与包含 IPv6 CIDR 的来源地址组搭配使用。
- 包含 IPv6 CIDR 的来源 IP 地址范围不能与包含 IPv4 CIDR 的来源地址组搭配使用。
- 互联网网络范围无法与来源安全代码搭配使用。
- 非互联网范围、VPC 网络范围和 VPC 网间范围不能与来源 Google 威胁情报列表或来源地理位置搭配使用。
Cloud NGFW 会应用以下逻辑,将数据包与使用来源组合的入站规则进行匹配:
如果来源组合不包含来源网络范围,则数据包只要与来源组合中的至少一个来源参数匹配,就与入站流量规则匹配。
如果来源组合包含来源网络范围,则数据包与入站流量规则匹配,前提是数据包与来源网络范围和来源组合中的至少一个其他来源参数匹配。
来源安全标记如何表示数据包来源
全球和区域级网络防火墙政策中的入站流量规则可以使用安全标记指定来源。每个安全标记都与单个 VPC 网络相关联,并且安全标记只能绑定到在与安全标记关联的 VPC 网络中具有网络接口的虚拟机。
当满足以下条件时,从虚拟机的网络接口发送的数据包与使用安全标记来源的入站规则匹配:
如果入站规则位于区域网络政策中,则虚拟机必须位于网络防火墙政策所在区域的一个可用区中。如果入站规则位于全球网络防火墙政策中,则虚拟机可以位于任何可用区。
发送数据包的虚拟机的网络接口满足以下条件之一:
- 虚拟机网络接口位于与全球或区域网络防火墙政策应用到的 VPC 网络相同的 VPC 网络中。
- 虚拟机网络接口位于通过 VPC 网络对等互连连接到应用了全球或区域性网络防火墙政策的 VPC 网络的 VPC 网络中。
- 虚拟机网络接口使用的 VPC 网络和全球或区域级网络防火墙政策应用到的 VPC 网络都是同一 Network Connectivity Center 中心的 VPC Spoke。
数据包的来源 IP 地址是以下某个地址:
- 网络接口的主要内部 IPv4 地址。
- 分配给网络接口的任何 IPv6 地址(内部或外部)。
使用来源安全标记时,系统不会解析数据包的其他来源 IP 地址。例如,与网络接口关联的别名 IP 地址范围和外部 IPv4 地址会被排除。如果您需要创建来源包含别名 IP 地址范围或外部 IPv4 地址的入站流量防火墙规则,请改用来源地址范围或来源地址组。
出站流量规则的来源
您可以在分层防火墙政策和网络防火墙政策中针对出站流量规则使用以下来源:
默认 - 由目标决定:如果在出站流量规则中省略来源参数,则数据包来源会隐式定义,如出站流量规则的目标和 IP 地址中所述。
来源 IPv4 地址范围:采用 CIDR 格式的 IPv4 地址列表。
来源 IPv6 地址范围:采用 CIDR 格式的 IPv6 地址列表。
请遵循以下准则来为出站流量规则添加来源 IP 地址范围:
- 如果虚拟机接口同时分配了内部和外部 IPv4 地址,则规则评估期间仅使用内部 IPv4 地址。
如果出站流量规则中具有来源 IP 地址范围和目的地参数,则目的地参数会解析为与来源 IP 版本相同的 IP 版本。
例如,在出站流量规则中,来源参数中具有 IPv4 地址范围,目的地参数中具有 FQDN 对象。如果 FQDN 同时解析为 IPv4 和 IPv6 地址,则在规则实施期间仅使用已解析的 IPv4 地址。
目的地
可以使用 IP 地址范围指定目的地,这些范围在分层和网络防火墙政策中均受入站流量和出站流量规则支持。默认目的地行为取决于规则的方向。
入站流量规则的目的地
您可以在分层和网络防火墙政策中针对入站流量防火墙规则使用以下目的地:
默认 - 由目标决定:如果在入站流量规则中省略目的地参数,则数据包目的地将隐式定义,如入站流量规则的目标和 IP 地址中所述。
目的地 IPv4 地址范围:采用 CIDR 格式的 IPv4 地址列表。
目的地 IPv6 地址范围:采用 CIDR 格式的 IPv6 地址列表。
请遵循以下准则为入站流量规则添加目标 IP 地址范围:
如果虚拟机接口同时分配了内部和外部 IPv4 地址,则规则评估期间仅使用内部 IPv4 地址。
如果您在入站流量规则中同时定义了来源和目的地参数,则来源参数会解析为与目的地 IP 版本相同的 IP 版本。如需详细了解如何为入站流量规则定义来源,请参阅分层防火墙政策中的入站流量规则的来源和网络防火墙政策中的入站流量规则的来源。
例如,在入站流量规则中,目的地参数中具有 IPv6 地址范围,来源参数中具有地理位置国家/地区代码。在规则实施期间,只有映射的 IPv6 地址用于指定的来源国家/地区代码。
出站流量规则的目的地
下表列出了可在单个出站流量防火墙政策规则中单独使用或组合使用的目的地参数。Cloud NGFW 要求您至少指定一个目的地参数。
出站规则目的地参数 | 分层防火墙政策中的支持 | 全球和区域网络防火墙政策中的支持 |
---|---|---|
目标 IP 地址范围
由 CIDR 格式的 IPv4 地址或 CIDR 格式的 IPv6 地址组成的简单列表。该列表存储在防火墙政策规则本身中。 |
||
目标地址组
采用 CIDR 格式的 IPv4 地址或采用 CIDR 格式的 IPv6 地址的可重复使用集合。防火墙政策规则引用该集合。如需了解详情,请参阅防火墙政策的地址组。 |
||
目标网域名
一个或多个来源域名的列表。如需了解详情(包括如何将域名转换为 IP 地址),请参阅 FQDN 对象。 |
||
目的地地理位置
一个或多个来源地理位置的列表,指定为两个字母的国家/区域代码。如需了解详情,请参阅地理位置对象。 |
||
目标 Google Threat Intelligence 列表
一个或多个预定义的 Google 威胁情报列表名称的列表。 如需了解详情,请参阅防火墙政策规则的 Google 威胁情报。 |
||
目标网络范围
用于定义安全边界的约束条件。如需了解详情,请参阅网络范围。 |
在单个出站流量规则中,您可以使用两个或更多目标参数来生成目标组合。Cloud NGFW 会对每条出站规则的目标组合强制执行以下约束条件:
- 目的地 IP 地址范围必须包含 IPv4 或 IPv6 CIDR,不能是这两者的组合。
- 包含 IPv4 CIDR 的目的地地址组不能与包含 IPv6 CIDR 的目的地地址组搭配使用。
- 包含 IPv4 CIDR 的目标 IP 地址范围不能与包含 IPv6 CIDR 的目的地地址组搭配使用。
- 包含 IPv6 CIDR 的目标 IP 地址范围不能与包含 IPv4 CIDR 的目标地址组搭配使用。
- 目的地 Google 威胁情报列表或目的地地理位置不能与目的地非互联网网络范围搭配使用。
Cloud NGFW 会应用以下逻辑,将数据包与使用目的地组合的出站规则进行匹配:
如果目的地组合不包含目的地网络范围,则如果数据包与目的地组合中的至少一个目的地参数匹配,则与出站流量规则匹配。
如果目的地组合包含目的地网络范围,则数据包与出站流量规则匹配,前提是数据包与目的地网络范围以及目的地组合中的至少一个其他目的地参数匹配。
网络范围
网络镜重可帮助您更高效地使用更少的防火墙政策规则来实现安全目标。Cloud NGFW 支持四种类型的网络范围,可用于在分层防火墙政策、全球网络防火墙政策或区域级网络防火墙政策的规则中创建来源组合或目的地组合。
网络范围类型
下表列出了四种网络范围,以及范围类型可否用于入站规则的源组合、出站规则的目标组合,或二者兼有。
网络范围类型 | 入站流量规则的来源 | 出站流量规则的目的地 |
---|---|---|
互联网 (INTERNET ) |
||
非互联网 (NON_INTERNET ) |
||
VPC 网络 (VPC_NETWORKS ) |
||
VPC 内部 (INTRA_VPC ) |
“互联网”和“非互联网”范围是互斥的。VPC 网络和 VPC 内范围是非互联网范围的子集。
互联网范围
互联网范围 (INTERNET
) 可用作入站规则的来源组合或出站规则的目的地组合的一部分:
对于入站流量规则,请指定互联网范围来源和至少一个其他来源参数(安全标记来源除外)。如果数据包与至少一个其他来源参数匹配,并且与互联网范围来源参数匹配,则数据包与入站流量规则匹配。
对于出站规则,请指定互联网范围的目的地和至少一个其他目的地参数。如果数据包与至少一个其他目标参数匹配,并且与互联网范围目标参数匹配,则与出站规则匹配。
本部分的其余部分介绍 Cloud NGFW 用于确定数据包是否属于互联网范围的条件。
入站数据包的互联网范围
由 Google Maglev 路由到虚拟机网络接口的入站数据包会计入互联网范围。当数据包目的地与以下某个地址匹配时,Maglev 会将数据包路由到虚拟机网络接口:
- 虚拟机网络接口、外部直通式网络负载平衡器的转发规则或外部协议转发的转发规则的区域级外部 IPv4 地址。
- 虚拟机网络接口的外部 IPv6 地址、外部直通式网络负载平衡器的外部 IPv6 地址或外部协议转发规则的外部 IPv6 地址,并且数据包未使用 VPC 网络对等互连导入的子网路由或从 Network Connectivity Center 枢纽上的 VPC 辐条导入的子网路由进行路由。
如需详细了解 Maglev 将数据包路由到外部直通式网络负载平衡器或外部协议转发的后端虚拟机,请参阅外部直通式网络负载平衡器和外部协议转发的路径。
出站数据包的互联网范围
由虚拟机网络接口发送且使用使用默认互联网网关下一个跃点的静态路由进行路由的出站数据包会计入互联网范围。不过,如果这些出站数据包的目的地 IP 地址是 Google API 和服务的 IP 地址,则这些数据包会被视为不在互联网范围内。如需详细了解与 Google API 和服务的连接,请参阅非互联网范围。
当数据包使用使用默认互联网网关下一个跃点的静态路由进行路由时,虚拟机网络接口发送到以下目的地的所有数据包都将被视为在互联网范围内:
- Google 网络之外的外部 IP 地址目的地。
- 虚拟机网络接口的区域级外部 IPv4 地址目的地、区域级外部负载均衡器的转发规则或外部协议转发的转发规则。
- 虚拟机网络接口的区域级外部 IPv6 地址目的地、区域级外部负载均衡器的转发规则,或外部协议转发的转发规则。
- 全球外部负载均衡器转发规则的全球外部 IPv4 和 IPv6 地址目的地。
虚拟机网络接口向 Cloud VPN 和 Cloud NAT 网关发送的数据包会计入互联网范围:
- 从运行 VPN 软件的虚拟机的网络接口发送到 Cloud VPN 网关的区域性外部 IPv4 地址的出站数据包会计入互联网范围。
- 从一个 Cloud VPN 网关发送到另一个 Cloud VPN 网关的出站数据包不会计入任何网络范围,因为防火墙规则仅适用于虚拟机。
- 对于 Public NAT,从虚拟机网络接口发送到 Cloud NAT 网关的区域级外部 IPv4 地址的响应数据包会被视为在互联网范围内。
如果 VPC 网络使用 VPC 网络对等互连连接,或者 VPC 网络作为 VPC 网关的网关参与同一 Network Connectivity Center,IPv6 子网路由可以提供与虚拟机网络接口的区域外部 IPv6 地址目的地、区域外部负载均衡器转发规则和外部协议转发规则的连接。如果使用子网路由提供与这些区域外部 IPv6 地址目的地的连接,则这些目的地将位于非互联网范围内。
非互联网范围
非互联网范围 (NON-INTERNET
) 可用作入站规则的来源组合或出站规则的目的地组合的一部分:
对于入站规则,请指定非互联网范围的来源和至少一个其他来源参数(威胁情报列表来源或地理位置来源除外)。如果数据包与其他来源参数中的至少一个匹配,并且与非互联网范围来源参数匹配,则与入站流量规则匹配。
对于出站规则,请指定非互联网范围的目标以及至少一个其他目标参数。如果数据包与至少一个其他目的地参数匹配,并且与非互联网范围目的地参数匹配,则与出站流量规则匹配。
本部分的其余部分介绍了 Cloud NGFW 用于确定数据包是否属于非互联网范围的条件。
入站数据包的非互联网范围
使用 VPC 网络中的下一个跃点或从 Google API 和服务路由到虚拟机网络接口的入站数据包会被视为非互联网范围。
在以下场景中,系统会使用 VPC 网络中的下一个跃点或 Google API 和服务中的下一个跃点来路由数据包:
数据包目的地与以下某个地址匹配:
- 虚拟机网络接口的区域性内部 IPv4 或 IPv6 地址、内部直通式网络负载平衡器的转发规则,或内部协议转发的转发规则。
- 虚拟机网络接口的外部 IPv6 地址、外部直通式网络负载平衡器的外部 IPv6 地址或外部协议转发的外部 IPv6 地址,并且数据包是使用本地子网路由、对等互连子网路由或 Network Connectivity Center 子网路由进行路由的。
- 静态路由目标范围内的任何地址,其中接收方虚拟机是下一个跃点虚拟机或下一个跃点内部直通网络负载平衡器的后端虚拟机。
数据包来源与以下任一项匹配:
- 全球 Google API 和服务使用的默认网域的 IP 地址。
private.googleapis.com
或restricted.googleapis.com
的 IP 地址。- 全球外部应用负载平衡器、传统版应用负载平衡器、全球外部代理网络负载平衡器或传统代理网络负载平衡器使用的 Google Front End 的 IP 地址。如需了解详情,请参阅 Google Front End 前端和后端之间的路径。
- 健康检查探测器的 IP 地址。如需了解详情,请参阅健康检查的路径。
- Identity-Aware Proxy 用于 TCP 转发的 IP 地址。如需了解详情,请参阅 Identity-Aware Proxy (IAP) 的路径。
- Cloud DNS 或 Service Directory 使用的 IP 地址。如需了解详情,请参阅 Cloud DNS 和 Service Directory 的路径。
- 无服务器 VPC 访问通道使用的 IP 地址。如需了解详情,请参阅无服务器 VPC 访问通道的路径。
- 适用于全球 Google API 的 Private Service Connect 端点的 IP 地址。如需了解详情,请参阅适用于全球 Google API 的 Private Service Connect 端点的路径。
出站数据包的非互联网范围
由虚拟机网络接口发送并在 VPC 网络中路由出去的出站数据包,或发送到 Google API 和服务的出站数据包,都属于非互联网范围。
在以下场景中,系统会使用 VPC 网络中的下一个跃点或 Google API 和服务来路由数据包:
- 数据包通过使用子网路由进行路由,其中包括以下目的地:
- 虚拟机网络接口的区域内部 IPv4 或 IPv6 地址目的地、内部负载均衡器的转发规则或内部协议转发的转发规则。
- 虚拟机网络接口的区域级外部 IPv6 地址目的地、区域级外部负载均衡器的转发规则,或外部协议转发的转发规则。
- 数据包是通过动态路由进行路由的。
- 系统使用静态路由来路由数据包,这些路由使用下一个跃点(不是默认互联网网关)。
- 数据包会被路由到使用具有默认互联网网关下一个跃点的静态路由访问的全局 Google API 和服务。全球 Google API 和服务目的地包括默认网域的 IP 地址和
private.googleapis.com
和restricted.googleapis.com
的 IP 地址。 - 使用以下路径之一访问的 Google 服务的目标:
VPC 网络范围
VPC 网络范围 (VPC_NETWORKS
) 只能用作入站规则的来源组合中的一部分。您无法将 VPC 网络范围用作出站规则的目标组合的一部分。
如需将 VPC 网络范围用作入站规则的来源组合中的一部分,请执行以下操作:
您必须指定来源 VPC 网络列表:
- 来源网络列表必须包含至少一个 VPC 网络。您最多可以向来源网络列表添加 250 个 VPC 网络。
- 必须先有 VPC 网络,然后才能将其添加到来源网络列表。
- 您可以使用该广告联盟的部分或完整网址标识符添加该广告联盟。
- 您添加到来源网络列表的 VPC 网络无需相互连接。每个 VPC 网络都可以位于任何项目中。
- 如果某个 VPC 网络在添加到来源网络列表后被删除,则列表中仍会保留对该已删除网络的引用。Cloud NGFW 在强制执行入站规则时会忽略已删除的 VPC 网络。如果删除来源网络列表中的所有 VPC 网络,则依赖于该列表的入站规则将无效,因为它们与任何数据包都不匹配。
您必须至少指定一个其他来源参数,但威胁情报列表来源或地理位置来源除外。
如果满足以下所有条件,数据包就会与在其来源组合中使用 VPC 网络范围的入站规则匹配:
数据包与至少一个其他来源参数匹配。
数据包由位于某个来源 VPC 网络中的资源发送。
包含入站规则的防火墙政策应用到的来源 VPC 网络与 VPC 网络是同一 VPC 网络,或者通过 VPC 网络对等互连连接,或者作为 Network Connectivity Center hub 上的 VPC spoke 连接。
以下资源位于 VPC 网络中:
- 虚拟机网络接口
- Cloud VPN 隧道
- Cloud Interconnect VLAN 连接
- 路由器设备
- 代理专用子网中的 Envoy 代理
- Private Service Connect 端点
- 无服务器 VPC 访问通道连接器
VPC 内部范围
VPC 内网络范围 (INTRA_VPC
) 只能用作入站规则的来源组合中的一部分。您不能将 VPC 内范围用作出站规则的目标组合的一部分。
如需将 VPC 内范围用作入站流量规则来源组合的一部分,您必须指定至少一个其他来源参数(威胁情报列表来源或地理位置来源除外)。
如果满足以下所有条件,数据包就会与在其来源组合中使用 VPC 内范围的入站规则匹配:
数据包与至少一个其他来源参数匹配。
数据包由位于包含入站规则的防火墙政策应用到的 VPC 网络中的资源发送。
以下资源位于 VPC 网络中:
- 虚拟机网络接口
- Cloud VPN 隧道
- Cloud Interconnect VLAN 连接
- 路由器设备
- 代理专用子网中的 Envoy 代理
- Private Service Connect 端点
- 无服务器 VPC 访问通道连接器
地理位置对象
在防火墙政策规则中使用地理位置对象,以根据特定的地理位置或区域过滤外部 IPv4 和外部 IPv6 流量。
您可以将具有地理位置对象的规则应用于入站流量和出站流量。根据流量方向,与国家/地区代码关联的 IP 地址会与流量来源或目的地进行匹配。
您可以为分层防火墙政策、全球网络防火墙政策和区域级网络防火墙政策配置地理位置对象。
如需向防火墙政策规则添加地理位置,请使用 ISO 3166 alpha-2 国家/地区代码中定义的由两个字母组成的国家/地区代码。
例如,如果您只想允许从美国到网络的传入流量,请创建入站流量防火墙政策规则,并将来源国家/地区代码设置为
US
,将操作设置为allow
。同样,如果您只想允许流向美国的出站流量,请配置出站流量防火墙政策规则,并将目的地国家/地区代码设置为US
,将操作设置为allow
。Cloud NGFW 可让您针对以下受美国制裁的地区配置防火墙规则:
地区 分配的代码 克里米亚 XC 所谓的顿涅茨克人民共和国和卢甘斯克人民共和国 XD 如果单一防火墙规则中包含任何重复的国家/地区代码,则仅保留该国家/地区代码的一个条目。重复条目会被移除。例如,在国家/地区代码列表
ca,us,us
中,仅保留ca,us
。Google 维护着一个具有 IP 地址和国家/地区代码映射的数据库。Google Cloud 防火墙使用此数据库将来源和目的地流量的 IP 地址映射到国家/地区代码,然后应用具有地理位置对象的匹配防火墙政策规则。
有时,IP 地址分配和国家/地区代码会因以下条件而变化:
- IP 地址在不同地理位置的移动情况
- ISO 3166 alpha-2 国家/地区代码标准的更新
由于这些更改需要一段时间才能反映在 Google 的数据库中,因此某些流量可能会中断,并且出现某些流量被阻止或允许的行为变化。
将地理位置对象与其他防火墙政策规则过滤条件结合使用
您可以使用地理位置对象以及其他来源或目的地过滤条件。根据规则方向,防火墙政策规则应用于与所有指定过滤条件并集匹配的传入或传出流量。
如需了解地理位置对象如何与入站流量规则中的其他来源过滤条件搭配使用,请参阅分层防火墙政策中的入站流量规则的来源和网络防火墙政策中的入站流量规则的来源。
如需了解地理位置对象如何与出站流量规则中的其他目的地过滤条件搭配使用,请参阅出站流量规则的目的地。
防火墙政策规则的 Google 威胁情报
防火墙政策规则允许您根据 Google 威胁情报数据允许或阻止流量,从而保护您的网络。Google 威胁情报数据包括基于以下类别的 IP 地址列表:
- Tor 退出节点:Tor 是一种开源软件,可实现匿名通信。如需排除隐藏其身份的用户,请阻止 Tor 退出节点(流量离开 Tor 网络的端点)的 IP 地址。
- 已知恶意 IP 地址:已知属于 Web 应用攻击来源的 IP 地址。为了改善应用的安全状况,请屏蔽这些 IP 地址。
- 搜索引擎:您可以允许以启用网站索引的 IP 地址。
- 公有云 IP 地址范围:您可以阻止此类别以免恶意自动化工具浏览 Web 应用;或者,如果您的服务使用其他公有云,则您可以允许此类别。此类别进一步分为以下子类别:
- Amazon Web Services 使用的 IP 地址范围
- Microsoft Azure 使用的 IP 地址范围
- Google Cloud 使用的 IP 地址范围
- Google 服务使用的 IP 地址范围
Google 威胁情报数据列表可以包含 IPv4 地址和/或 IPv6 地址。如需在防火墙政策规则中配置 Google 威胁情报,请根据您要允许或阻止的类别来使用预定义的 Google 威胁情报列表名称。这些列表会持续更新,从而保护服务免受新威胁的影响,而无需执行额外的配置步骤。有效的列表名称如下。
列表名称 | 说明 |
---|---|
iplist-tor-exit-nodes |
匹配 TOR 退出节点的 IP 地址 |
iplist-known-malicious-ips |
匹配已知用于攻击 Web 应用的 IP 地址 |
iplist-search-engines-crawlers |
匹配搜索引擎抓取工具的 IP 地址 |
iplist-vpn-providers |
匹配属于声誉不佳的 VPN 提供方的 IP 地址 |
iplist-anon-proxies |
匹配属于开放匿名代理的 IP 地址 |
iplist-crypto-miners |
匹配属于加密货币挖矿网站的 IP 地址 |
iplist-public-clouds
|
匹配属于公有云的 IP 地址
|
将 Google 威胁情报与其他防火墙政策规则过滤条件结合使用
如需使用 Google 威胁情报定义防火墙政策规则,请遵循以下准则:
对于出站流量规则,请使用一个或多个目的地 Google 威胁情报列表指定目的地。
对于入站流量规则,请使用一个或多个来源 Google 威胁情报列表指定来源。
您可以为分层防火墙政策、全球网络防火墙政策和区域级网络防火墙政策配置 Google 威胁情报列表。
您可以将这些列表与其他来源或目的地规则过滤条件组件结合使用。
如需了解 Google 威胁情报列表如何与入站流量规则中的其他来源过滤条件搭配使用,请参阅分层防火墙政策中的入站流量规则的来源和网络防火墙政策中的入站流量规则的来源。
如需了解 Google 威胁情报列表如何与出站流量规则中的其他目的地过滤条件搭配使用,请参阅出站流量规则的目的地。
防火墙日志记录是在规则级别完成的。为便于调试和分析防火墙规则所带来的影响,请勿在单一防火墙规则中包含多个 Google 威胁情报列表。
您可以向防火墙政策规则添加多个 Google 威胁情报列表。无论该列表中包含的 IP 地址或 IP 地址范围的数量是多少,规则中包含的每个列表名称都算作一个特性。例如,如果您已在防火墙政策规则中添加了
iplist-tor-exit-nodes
、iplist-known-malicious-ips
和iplist-search-engines-crawlers
列表名称,则每项防火墙政策的规则属性计数增加 3。如需详细了解规则属性数量,请参阅配额和限制。
创建 Google 威胁情报列表的例外情况
如果您的规则适用于 Google 威胁情报列表,则可以使用以下方法创建适用于 Google 威胁情报列表中的某些 IP 地址的例外规则:
选择性允许列表:假设您有入站流量或出站流量防火墙规则,该规则拒绝来自或发送到 Google 威胁情报列表的数据包。如需允许进出该 Google 威胁情报列表中所选 IP 地址的数据包,请创建单独的优先级较高的入站流量或出站流量允许防火墙规则,以将例外 IP 地址指定为来源或目的地。
选择性拒绝列表:假设您有入站流量或出站流量防火墙规则,该规则允许来自或发送到 Google 威胁情报列表的数据包。如需拒绝进出该 Google 威胁情报列表中所选 IP 地址的数据包,请创建优先级较高的入站流量或出站流量拒绝防火墙规则,以将例外 IP 地址指定为来源或目的地。
防火墙政策的地址组
地址组是采用 CIDR 格式的 IPv4 地址范围或 IPv6 地址范围的逻辑集合。您可以使用地址组来定义许多防火墙规则引用的一致来源或目的地。地址组可以更新,而无需修改使用它们的防火墙规则。如需详细了解地址组,请参阅防火墙政策的地址组。
您可以分别为入站流量和出站流量防火墙规则定义来源和目标地址组。
如需了解来源地址组如何与入站流量规则中的其他来源过滤条件搭配使用,请参阅分层防火墙政策中的入站流量规则的来源和网络防火墙政策中的入站流量规则的来源。
如需了解目的地地址组如何与出站流量规则中的其他目的地过滤条件搭配使用,请参阅出站流量规则的目的地。
FQDN 对象
在防火墙政策规则中使用完全限定域名 (FQDN) 对象,以过滤进出特定网域的传入或传出流量。
您可以将使用 FQDN 对象的防火墙政策规则应用于入站流量和出站流量。根据流量方向,与域名关联的 IP 地址会与流量来源或目的地进行匹配。
您可以在防火墙政策规则中为分层防火墙政策、全球网络防火墙政策和区域级网络防火墙政策配置 FQDN 对象。
您必须采用标准 FQDN 语法指定 FQDN 对象
如需详细了解域名格式,请参阅域名格式。
Cloud NGFW 会定期使用最新的域名解析结果更新包含 FQDN 对象的防火墙政策规则。
防火墙政策规则中指定的域名根据 Cloud DNS 的 VPC 名称解析顺序解析为 IP 地址。如果域名解析结果(也称为域名系统 [DNS] 记录)发生任何更改,Cloud DNS 会通知 Cloud NGFW。
如果两个域名解析为同一 IP 地址,则防火墙政策规则适用于该 IP 地址,而不仅仅是一个域名。换句话说,FQDN 对象是第 3 层实体。
如果出站流量防火墙政策规则中的 FQDN 对象包含 DNS 记录中具有 CNAME 的网域,则必须使用虚拟机可以查询的所有域名(包括所有可能的别名)配置出站流量防火墙政策规则,以确保可靠的防火墙规则行为。如果您的虚拟机查询未在出站流量防火墙政策规则中配置的 CNAME,则此政策在 DNS 记录更改期间可能不起作用。
您还可以在网络防火墙政策规则中使用 Compute Engine 内部 DNS 名称。不过,请确保您的网络未配置为使用出站服务器政策中的备用域名服务器。
如果您要在网络防火墙政策规则中添加自定义域名,则可以使用 Cloud DNS 托管式区域进行域名解析。不过,请确保您的网络未配置为使用出站服务器政策中的备用域名服务器。如需详细了解可用区管理,请参阅创建、修改和删除可用区。
限制
以下限制适用于使用 FQDN 对象的入站流量和出站流量防火墙规则:
- FQDN 对象不支持通配符 (*) 和顶级(根)域名。例如,
*.example.com.
和.org
不受支持。
您可以在入站流量防火墙政策规则中使用 FQDN 对象。为入站流量规则定义 FQDN 对象时,您必须考虑以下限制:
域名最多可以解析为 32 个 IPv4 地址和 32 个 IPv6 地址。解析为超过 32 个 IPv4 和 32 个 IPv6 地址的 DNS 查询会被截断,以便仅包含这些已解析 IP 地址的 32 个 IPv4 或 IPv6 地址。因此,请勿在入站流量防火墙政策规则中包含解析为超过 32 个 IPv4 和 IPv6 地址的域名。
某些域名查询根据请求客户端的位置提供唯一的答案。执行防火墙规则政策的 DNS 解析的位置是包含应用防火墙政策规则的虚拟机的 Google Cloud 区域。
如果域名解析结果是高度可变的或域名解析使用基于 DNS 的负载均衡形式,请不要使用涉及 FQDN 对象的入站流量规则。例如,许多 Google 域名使用基于 DNS 的负载均衡方案。
您可以在出站防火墙政策规则中使用 FQDN 对象,但我们不建议将 FQDN 对象与 TTL(生存时间)小于 90 秒的 DNS A 记录结合使用。
将 FQDN 对象与其他防火墙政策规则过滤条件结合使用
在防火墙政策规则中,您可以定义 FQDN 对象以及其他来源或目的地过滤条件。
如需了解 FQDN 对象如何与入站流量规则中的其他来源过滤条件搭配使用,请参阅分层防火墙政策中的入站流量规则的来源和网络防火墙政策中的入站流量规则的来源。
如需了解 FQDN 对象如何与出站流量规则中的其他目的地过滤条件搭配使用,请参阅出站流量规则的目的地。
域名格式
VPC 防火墙支持 RFC 1035、RFC 1123 和 RFC 4343 中定义的域名格式。
如需将域名添加到防火墙政策规则,请遵循以下格式设置准则:
域名必须至少包含两个标签,如下所示:
- 每个标签匹配仅包含以下字符的正则表达式:
[a-z]([-a-z0-9][a-z0-9])?.
。 - 每个标签的长度为 1-63 个字符。
- 标签使用点 (.) 串联。
- 每个标签匹配仅包含以下字符的正则表达式:
域名的最大编码长度不得超过 255 个字节(八位字节)。
您还可以向防火墙政策规则添加国际化域名 (IDN)。
域名必须采用 Unicode 或 Punycode 格式。
如果您以 Unicode 格式指定 IDN,Google Cloud 防火墙会在处理之前将其转换为 Punycode 格式。或者,您可以使用 IDN 转换器工具获取 IDN 的 Punycode 表示法。
Google Cloud 防火墙不支持同一防火墙政策规则中的等效域名。将域名转换为 Punycode 后,如果两个域名最多相差一个尾随点,则系统会将它们视为等效域名。
FQDN 异常场景
在防火墙政策规则中使用 FQDN 对象时,您可能会在 DNS 域名解析期间遇到以下异常:
域名错误:如果您在创建防火墙政策规则时指定了一个或多个使用无效格式的域名,则会收到错误消息。 除非所有域名格式均正确,否则无法创建防火墙政策规则。
域名不存在 (
NXDOMAIN
):如果域名不存在,Google Cloud 会忽略防火墙政策规则中的 FQDN 对象。无 IP 地址解析:如果域名未解析为任何 IP 地址,则系统会忽略 FQDN 对象。
Cloud DNS 服务器无法访问:如果 DNS 服务器无法访问,则只有在先前缓存的 DNS 解析结果可用时,使用 FQDN 对象的防火墙政策规则才适用。如果没有缓存的 DNS 解析结果或缓存的 DNS 结果已过期,则系统会忽略规则的 FQDN 对象。