本页面介绍了在以下防火墙政策中创建的防火墙规则的组成部分,这些政策适用于常规虚拟私有云 (VPC) 网络:
如需详细了解防火墙规则和远程直接内存访问 (RDMA) 网络配置文件,请参阅 Cloud NGFW for RoCE VPC networks。
每条防火墙政策规则都适用于传入(入站流量)或传出(出站流量)连接。创建防火墙政策规则时,您需要指定定义规则的作用的组件。除了方向之外,您还可以指定来源、目的地和第 4 层特征,例如协议和目的地端口(如果协议使用端口)。
优先级
防火墙政策中规则的优先级是 0 到 2,147,483,547(含)之间的整数。数字越小,优先级越高。防火墙政策中规则的优先级与 VPC 防火墙规则优先级类似,但存在以下区别:
- 防火墙政策中的每个规则都必须具有唯一的优先级。
- 防火墙政策中规则的优先级用作规则的唯一标识符。防火墙政策中的规则不使用名称进行标识。
- 防火墙政策中规则的优先级定义了防火墙政策本身中的评估顺序。VPC 防火墙规则和分层防火墙政策、全球网络防火墙政策和区域级网络防火墙政策中的规则按照将防火墙政策和规则应用于网络中所述进行评估。
对匹配项执行的操作
防火墙政策中的规则可以执行以下操作之一:
| 操作参数 | 说明 |
|---|---|
allow |
允许新连接的数据包。停止评估包含匹配规则的防火墙政策中的规则。不会评估任何其他防火墙规则。 无论规则的方向如何,如果数据包协议和防火墙政策类型支持连接跟踪,则允许规则会创建一个防火墙连接跟踪表条目,该条目允许入站和出站数据包。 |
deny |
禁止新连接的数据包。停止评估包含匹配规则的防火墙政策中的规则。不会评估任何其他防火墙规则。 Cloud NGFW 始终会在评估防火墙规则之前检查防火墙连接跟踪表条目。因此,如果某条允许规则创建了连接跟踪表条目,则该连接跟踪表条目具有优先权。 |
apply_security_profile_group |
拦截新连接的数据包,并将它们发送到防火墙端点或 拦截端点组。停止评估包含匹配规则的防火墙政策中的规则。不会评估任何其他防火墙规则。 无论规则的方向如何,如果数据包协议和防火墙政策类型支持连接跟踪,则具有 您无法在区域级网络防火墙政策中创建具有 |
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 VPC 防火墙规则日志记录相同,但以下方面除外:
引用字段包含防火墙政策 ID 和一个数字,该数字表明政策关联的资源的级层。例如,
0表示政策应用于组织,1表示政策应用于组织下的顶级文件夹。防火墙政策规则的日志包含一个
target_resource字段,用于标识规则要应用于的 VPC 网络。
只能为
allow、deny和apply_security_profile_group规则启用日志记录;不能为goto_next规则启用日志记录。如果您为使用
apply_security_profile_group操作的规则启用日志记录,Cloud NGFW 会在拦截流量会话并将流量重定向到防火墙端点以进行深度数据包检测时生成单个日志条目。此日志条目确认防火墙规则与流量匹配,并已成功将流量重定向到防火墙端点。 如需了解详情,请参阅防火墙政策规则日志记录概览。防火墙端点会执行深度数据包检测,例如入侵检测与防御服务和网址过滤服务,并生成自己的日志集。这些日志提供有关拦截会话中连接的详细信息,列出所有检测到的威胁或网址过滤操作。这些深度数据包检测日志可能会为每个会话生成多个日志条目。
目标、来源、目的地
目标、来源和目的地参数协同工作,以确定防火墙规则的范围。
目标参数:标识防火墙规则适用的资源。
来源和目的地参数:定义流量条件。您可以为入站规则和出站规则同时指定这两个参数。来源和目的地参数的有效选项取决于目标参数和防火墙规则的方向。
目标
目标类型参数和一个或多个目标参数用于定义防火墙规则的目标。防火墙规则的这些目标是受防火墙规则保护的资源。
如果省略目标类型或将其设置为
INSTANCES,则防火墙规则适用于 Compute Engine 实例(包括 Google Kubernetes Engine 节点和 App Engine 柔性环境实例)的网络接口。支持入站规则和出站规则。如需指定防火墙规则适用于哪些虚拟机网络接口,请使用目标参数:
如果目标类型设置为
INTERNAL_MANAGED_LB(预览版),则防火墙规则适用于内部应用负载平衡器和内部代理网络负载平衡器使用的受管 Envoy 代理。 仅支持入站规则。如果您省略了目标转发规则参数,则防火墙规则将应用于最广泛的负载均衡器目标。
如需将防火墙规则限制为仅适用于单个负载均衡器,请使用目标转发规则参数。如需了解详情,请参阅具体目标。
最广泛的实例目标
最广泛的实例目标取决于防火墙政策类型:
分层防火墙政策中规则的最大范围实例目标:与分层防火墙政策关联的 Resource Manager 节点(文件夹或组织)下任何项目中的任何 VPC 网络的任何区域的子网中的所有虚拟机网络接口。
全球网络防火墙政策中规则的最广泛实例目标:与全球网络防火墙政策关联的 VPC 网络的任何区域中的子网中的所有虚拟机网络接口。
区域级网络防火墙政策中规则的最广泛实例目标:与区域级网络防火墙政策关联的区域和 VPC 网络中的子网内的所有虚拟机网络接口。
最广泛的负载均衡器目标
只有区域级网络防火墙政策的规则支持负载均衡器目标。最广泛的负载均衡器目标是政策区域和关联 VPC 网络中的内部应用负载均衡器和内部代理网络负载均衡器的转发规则。具体目标
下表列出了目标参数、支持包含每个参数的规则的防火墙政策,以及支持的规则目标类型。如果您未指定目标参数,则规则会根据其目标类型使用最广泛的实例目标或最广泛的负载均衡器目标。 对勾标记表示支持相应参数, 符号表示不支持相应参数。
| 目标参数 | 防火墙政策支持 | 规则目标类型支持 | |||
|---|---|---|---|---|---|
| 分层 | 全球网络 | 地区级网络 | INSTANCES |
INTERNAL_MANAGED_LB |
|
| 目标 VPC 网络资源
使用 |
|||||
| 目标服务账号
使用 |
|||||
| 具有网络用途数据的标记键中的目标安全标记值
使用 此列表将最广泛的实例目标范围缩小到满足以下全部条件的虚拟机网络接口:
如需了解详情,请参阅防火墙的安全标记。 |
|||||
| 以组织用途数据为依据,定位标记键中的安全标记值
使用 此列表会将最广泛的实例目标范围缩小到满足以下两项条件的虚拟机网络接口:
如需了解详情,请参阅防火墙的安全标记。 |
|||||
| 目标转发规则
预览版
以目标转发规则格式指定的内部应用负载平衡器或内部代理网络负载平衡器的单个转发规则。此参数将最广泛的负载均衡器目标缩小到特定的内部应用负载均衡器或内部代理网络负载均衡器。 |
|||||
特定目标组合
支持 target-resources 参数的规则可以将其与其他定位参数结合使用,以创建定位参数组合。下表列出了支持的目标参数组合、支持包含每个参数的规则的防火墙政策,以及支持的规则目标类型。如果您未指定目标参数,规则将根据其目标类型使用最广泛的实例目标或最广泛的负载均衡器目标。
对勾标记表示支持相应参数, 符号表示不支持相应参数。
| 目标参数组合 | 防火墙政策支持 | 规则目标类型支持 | |||
|---|---|---|---|---|---|
| 分层 | 全球网络 | 地区级网络 | INSTANCES |
INTERNAL_MANAGED_LB |
|
| 目标 VPC 网络资源和目标服务账号的组合
同时使用 此组合会将最广泛的实例目标范围缩小到满足以下两项条件的虚拟机网络接口:
|
|||||
| 目标 VPC 网络资源和目标安全标记值的组合
同时使用 此组合会将最广泛的实例目标范围缩小到满足以下全部条件的虚拟机网络接口:
|
|||||
目标转发规则格式
当防火墙规则的目标类型设置为INTERNAL_MANAGED_LB(预览版)时,目标转发规则参数接受以下格式的值:
对于区域级内部应用负载均衡器和区域级内部代理网络负载均衡器,请使用以下命令:
https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules/FORWARDING_RULE_NAMEprojects/PROJECT_ID/regions/REGION/forwardingRules/FORWARDING_RULE_NAME
对于跨区域内部应用负载平衡器和跨区域内部代理网络负载平衡器,请使用以下命令:
https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/forwardingRules/FORWARDING_RULE_NAMEprojects/PROJECT_ID/global/forwardingRules/FORWARDING_RULE_NAME
入站流量规则的目标和 IP 地址
如果防火墙规则目标类型被省略或设置为 INSTANCES,则该规则适用于路由到目标虚拟机的网络接口的数据包。
如果入站流量防火墙规则包含目的地 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 地址(如果虚拟机是该负载均衡器的后端)。
当防火墙规则的目标类型设置为 INTERNAL_MANAGED_LB(预览版)时,该规则会过滤路由到与内部应用负载平衡器和内部代理网络负载平衡器关联的代管式 Envoy 代理的数据包。在 Ingress 规则中使用目标 IP 范围时,请确保该范围包含相关的负载均衡器转发规则 IP 地址。
出站流量规则的目标和 IP 地址
如果防火墙规则目标类型被省略或设置为 INSTANCES,则该规则适用于目标虚拟机的网络接口发出的数据包。
如果目标虚拟机停用了 IP 转发(默认设置),则该虚拟机只能发送具有以下来源的数据包:
实例的 NIC 的主要内部 IPv4 地址。
实例的 NIC 上任何已配置的别名 IP 地址范围。
如果在子网上配置 IPv6,则为分配给 NIC 的任何 IPv6 地址。
与用于直通式负载均衡或协议转发的转发规则相关联的内部或外部 IP 地址。如果实例是内部直通式网络负载均衡器、外部直通式网络负载均衡器的后端或由目标实例引用,这就有效。
如果出站流量防火墙规则包含来源 IP 地址范围,则目标虚拟机仍然仅限于之前提到的来源 IP 地址,但来源参数可用于优化来源。如果在未启用 IP 转发的情况下使用来源参数,则系统绝不会扩展可能的数据包来源地址集。
如果出站流量防火墙规则不包含来源 IP 地址范围,则允许之前提到的所有来源 IP 地址。
如果目标虚拟机启用了 IP 转发,则该虚拟机可以发送具有任意来源地址的数据包。您可以使用来源参数更精确地定义允许的数据包来源集。
来源
来源参数值取决于防火墙规则的方向。
入站流量规则的来源
下表列出了入口规则的来源参数、支持每个参数的防火墙政策,以及与每个参数兼容的规则目标类型。您必须至少指定一个来源参数。 对勾标记表示支持相应参数, 符号表示不支持相应参数。
| 入站流量规则来源参数 | 防火墙政策支持 | 规则目标类型支持 | |||
|---|---|---|---|---|---|
| 分层 | 全球网络 | 地区级网络 | INSTANCES |
INTERNAL_MANAGED_LB |
|
| 来源 IP 地址范围 一个列表,包含采用 CIDR 格式的 IPv4 地址或采用 CIDR 格式的 IPv6 地址。该列表存储在防火墙政策规则本身中。 |
|||||
| 来源地址组
采用 CIDR 格式的可重复使用的 IPv4 地址集合或采用 CIDR 格式的可重复使用的 IPv6 地址集合。防火墙规则引用了该集合。如需了解详情,请参阅防火墙政策的地址组。 |
|||||
| 来源域名 一个或多个来源域名的列表。如需了解详情(包括如何将域名转换为 IP 地址),请参阅 FQDN 对象。 |
|||||
| 从具有网络用途数据的标记键中获取来源安全标记值
一个或多个标记值的列表,这些标记值来自用途数据指定单个 VPC 网络的标记键。如需了解详情,请参阅防火墙的安全标记和来源安全标记如何表示数据包来源。 |
|||||
| 从具有组织用途数据的标记键中获取安全标记值
一个或多个标记值的列表,这些标记值来自用途数据为 |
|||||
| 来源地理定位
一个或多个来源地理定位的列表,指定为两个字母的国家/地区代码。如需了解详情,请参阅地理定位对象。 |
|||||
| Google Threat Intelligence 列表来源
一个或多个预定义的 Google Threat Intelligence 列表名称的列表。 如需了解详情,请参阅防火墙政策规则的 Google Threat Intelligence。 |
|||||
| 来源网络上下文
用于定义安全边界的限制条件。有效值取决于规则的目标类型。如需了解详情,请参阅网络上下文。 |
|||||
入站流量规则来源组合
在单个 Ingress 规则中,您可以使用两个或更多来源参数来生成来源组合。Cloud NGFW 会对每条入站流量规则的来源组合施加以下限制:
- 源 IP 地址范围必须包含 IPv4 或 IPv6 CIDR,但不能同时包含两者。
- 包含 IPv4 CIDR 的来源地址组不能与包含 IPv6 CIDR 的来源地址组搭配使用。
- 包含 IPv4 CIDR 的来源 IP 地址范围不能与包含 IPv6 CIDR 的来源地址组搭配使用。
- 包含 IPv6 CIDR 的来源 IP 地址范围不能与包含 IPv4 CIDR 的来源地址组搭配使用。
- 互联网网络上下文无法与来源安全标记搭配使用。
- 非互联网上下文、VPC 网络上下文和 VPC 间上下文不能与 来源 Google Threat Intelligence 列表或 来源地理定位结合使用。
Cloud NGFW 会应用以下逻辑,将数据包与使用来源组合的入站流量规则进行匹配:
如果来源组合不包含来源网络范围,则数据包只要与来源组合中的至少一个来源参数匹配,就与入站流量规则匹配。
如果来源组合包含来源网络上下文,则数据包只要与来源网络上下文和来源组合中的至少一个其他来源参数匹配,就与入站流量规则匹配。
来源安全标记如何表示数据包来源
如果入站防火墙规则的目标类型被省略或设置为 INSTANCES,则可以使用来源安全标记值。安全标记值用于标识网络接口,而不是 IP 地址等数据包特征。
从虚拟机实例的网络接口发送的数据包会根据以下规则与使用来源安全标记值的入站流量规则匹配:
如果入站流量规则位于区域级网络政策中,则虚拟机实例必须位于与区域级网络防火墙政策相同的区域的某个可用区中。否则,虚拟机实例可以位于任何可用区中。
虚拟机实例必须与入站流量防火墙规则中用作来源安全标记的同一安全标记值相关联。
与虚拟机实例关联并由入站流量防火墙规则使用的安全标记值必须来自一个标记键,该标记键的
purpose-data属性至少标识一个包含虚拟机实例网络接口的 VPC 网络:如果标记键的用途数据指定了单个 VPC 网络,则使用来源安全标记值的入站防火墙规则会应用于该 VPC 网络中虚拟机实例的网络接口。
如果标记键的用途数据指定了组织,则使用来源安全标记值的入站防火墙规则将应用于组织中任何 VPC 网络内的虚拟机实例的网络接口。
所识别的虚拟机网络接口必须满足以下条件之一:
- 虚拟机网络接口与应用防火墙政策的 VPC 网络位于同一 VPC 网络中。
虚拟机网络接口位于通过 VPC 网络对等互连连接到应用防火墙政策的 VPC 网络的 VPC 网络中。
虚拟机网络接口使用的 VPC 网络和防火墙政策适用的 VPC 网络都是同一 NCC hub 上的 VPC spoke。
如需详细了解防火墙的安全标记,请参阅规范。
出站流量规则的来源
您可以在分层防火墙政策和网络防火墙政策中针对出站流量规则使用以下来源:
默认 - 由目标决定:如果在出站流量规则中省略来源参数,则数据包来源会隐式定义,如出站流量规则的目标和 IP 地址中所述。
来源 IPv4 地址范围:采用 CIDR 格式的 IPv4 地址列表。
来源 IPv6 地址范围:采用 CIDR 格式的 IPv6 地址列表。
请遵循以下准则来为出站流量规则添加来源 IP 地址范围:
- 如果虚拟机接口同时分配了内部和外部 IPv4 地址,则规则评估期间仅使用内部 IPv4 地址。
如果出站流量规则中具有来源 IP 地址范围和目标参数,则目标参数将解析为与来源 IP 版本相同的 IP 版本。
例如,在出站流量规则中,来源参数中具有 IPv4 地址范围,目的地参数中具有 FQDN 对象。如果 FQDN 同时解析为 IPv4 和 IPv6 地址,则在规则实施期间仅使用已解析的 IPv4 地址。
目的地
目标参数值取决于防火墙规则的方向。
入站流量规则的目的地
您可以在分层和网络防火墙政策中针对入站流量防火墙规则使用以下目的地:
默认 - 由目标决定:如果在入站流量规则中省略目的地参数,则数据包目的地将隐式定义,如入站流量规则的目标和 IP 地址中所述。
目的地 IPv6 地址范围:采用 CIDR 格式的 IPv6 地址列表。
目的地 IPv6 地址范围:采用 CIDR 格式的 IPv6 地址列表。
请遵循以下准则为入站流量规则添加目标 IP 地址范围:
如果虚拟机接口同时分配了内部和外部 IPv4 地址,则规则评估期间仅使用内部 IPv4 地址。
如果您在入站流量规则中同时定义了来源和目的地参数,则来源参数会解析为与目的地 IP 版本相同的 IP 版本。如需详细了解如何为入站流量规则定义来源,请参阅分层防火墙政策中的入站流量规则的来源和网络防火墙政策中的入站流量规则的来源。
例如,在入站流量规则中,目的地参数中具有 IPv6 地址范围,来源参数中具有地理位置国家/地区代码。在规则实施期间,只有映射的 IPv6 地址用于指定的来源国家/地区代码。
出站流量规则的目的地
下表列出了出站规则的目标参数、支持每个参数的防火墙政策,以及与每个参数兼容的规则目标类型。您必须至少指定一个目标参数。 对勾标记表示支持相应参数, 符号表示不支持相应参数。
| 出站流量规则目的地参数 | 防火墙政策支持 | 规则目标类型支持 | |||
|---|---|---|---|---|---|
| 分层 | 全球网络 | 地区级网络 | INSTANCES |
INTERNAL_MANAGED_LB |
|
| 目的地 IP 地址范围: 一个列表,包含采用 CIDR 格式的 IPv4 地址或采用 CIDR 格式的 IPv6 地址。该列表存储在防火墙政策规则本身中。 |
|||||
| 目标地址组 采用 CIDR 格式的可重复使用的 IPv4 地址集合或采用 CIDR 格式的可重复使用的 IPv6 地址集合。防火墙政策规则引用了该集合。如需了解详情,请参阅防火墙政策的地址组。 |
|||||
| 目标域名
一个或多个目标域名的列表。如需了解详情(包括如何将域名转换为 IP 地址),请参阅 FQDN 对象。 |
|||||
| 目标地理定位
一个或多个来源地理定位的列表,指定为两个字母的国家/地区代码。如需了解详情,请参阅地理定位对象。 |
|||||
| 目标 Google Threat Intelligence 列表
一个或多个预定义的 Google Threat Intelligence 列表名称的列表。 如需了解详情,请参阅防火墙政策规则的 Google Threat Intelligence。 |
|||||
| 目标网络上下文
用于定义安全边界的限制条件。 |
|||||
出站流量规则目的地组合
在单个出站流量规则中,您可以使用两个或更多个目标参数来生成目标组合。Cloud NGFW 会对每条出站流量规则的目标组合施加以下限制:
- 目标 IP 地址范围必须包含 IPv4 或 IPv6 CIDR,而不能同时包含两者。
- 包含 IPv4 CIDR 的目标地址组不能与包含 IPv6 CIDR 的目标地址组搭配使用。
- 包含 IPv4 CIDR 的目标 IP 地址范围不能与包含 IPv6 CIDR 的目标地址组搭配使用。
- 包含 IPv6 CIDR 的目标 IP 地址范围不能与包含 IPv4 CIDR 的目标地址组搭配使用。8 目标 Google Threat Intelligence 列表或目标 地理定位不能与目标非互联网网络上下文搭配使用。
Cloud NGFW 会应用以下逻辑,将数据包与使用目标组合的出站流量规则进行匹配:
如果目标组合不包含目标网络上下文,则数据包只要与目标组合中的至少一个目标参数匹配,就会与出站流量规则匹配。
如果目标组合包含目标网络情境,则数据包如果与目标网络情境和目标组合中的至少一个其他目标参数匹配,则与出站流量规则匹配。