VPC 防火墙规则日志记录网络流量信息,可帮助您查询、分析和排查 Virtual Private Cloud (VPC)网络中的规则匹配问题。 Google Cloud本文档介绍了 VPC 防火墙规则日志记录的日志格式和字段结构。
Cloud Logging 使用基本字段和元数据字段来构建防火墙日志记录,您可以使用这些字段来识别网络配置错误并优化规则性能。日志记录显示在 Logging LogEntry 的 JSON 载荷字段中。
本文档面向查询、查看和分析网络防火墙日志的网络管理员、安全工程师和运营分析师。
支持的日志字段
下表介绍了 VPC 防火墙规则支持的日志字段。
| 字段名称 | 字段类型:基本或可选元数据 | 说明 |
|---|---|---|
connection |
底座 | IpConnection 一个 5 元组,它表示此连接的源 IP 地址、目标 IP 地址、源端口、目标端口以及 IP 协议。 |
disposition |
底座 | 指示连接是 ALLOWED 还是
DENIED。 |
rule_details |
底座 | RuleDetails VPC 防火墙规则详细信息。对于 VPC 防火墙 规则,格式为 network:{network name}/firewall:{firewall_name}。 |
instance |
元数据 | InstanceDetails 虚拟机实例详细信息。在共享 VPC 配置中, project_id 与服务项目的此内容相对应。 |
load_balancer_details |
元数据 | LoadBalancingDetails 防火墙 规则所适用的内部应用负载平衡器或内部代理网络负载平衡器的详细信息。当防火墙规则的目标是其中一个负载 均衡器时,系统会省略 instance 字段。 |
vpc |
元数据 | VpcDetails VPC 网络详细信息。在共享 VPC 配置中, project_id 与宿主项目的相应参数相对应。 |
remote_instance |
元数据 | InstanceDetails 如果连接的远程端点是位于 Compute Engine 中的虚拟机,则此字段会填充虚拟机实例详细信息。 |
remote_vpc |
元数据 | VpcDetails 如果连接的远程端点是位于 VPC 网络中的虚拟机,则此字段会填充网络 详细信息。 |
remote_location |
元数据 | GeographicDetails 如果连接的远程端点在 VPC 网络的外部,则此字段会填充可用位置元数据。 |
IpConnection
| 字段 | 类型 | 说明 |
|---|---|---|
src_ip |
字符串 | 来源 IP 地址。如果来源是 Compute Engine 虚拟机,
src_ip 是主要内部 IP 地址或虚拟机网络接口的别名 IP 范围内的地址。系统不显示外部 IP
地址。如果虚拟机在数据包标头上发现虚拟机的 IP 地址,则 Logging 将显示此地址,这与您在虚拟机上运行
tcpdump一样。 |
src_port |
整数 | 来源端口。 |
dest_ip |
字符串 | 目标 IP 地址。如果目的地是 虚拟机,则
dest_ip 是主要内部 IP 地址或虚拟机网络接口的别名 IP 范围内的地址。 Google Cloud 即使使用外部 IP
地址进行连接,系统也不会显示此地址。 |
dest_port |
整数 | 目标端口。 |
protocol |
整数 | 连接的 IP 协议。 |
RuleDetails
| 字段 | 类型 | 说明 |
|---|---|---|
reference |
字符串 | 引用绑定到单个 VPC 网络的资源命名防火墙规则的唯一标识符字符串
。VPC 防火墙规则的格式为:network:{network name}/firewall:{VPC firewall rule name}. |
priority |
整数 | VPC 防火墙规则的优先级。 |
action |
字符串 | 应用于连接的操作。支持的值为 ALLOW
或 DENY。 |
direction |
字符串 | VPC 防火墙规则所适用的方向。
它可以是 INGRESS 或 EGRESS。 |
source_range[ ] |
字符串 | VPC 防火墙规则适用的源范围列表。 |
destination_range[ ] |
字符串 | VPC 防火墙规则适用的目标范围列表。 |
ip_port_info[ ] |
字符串 | 规则的 IP 协议和适用端口范围列表。 |
source_tag[ ] |
字符串 | VPC 防火墙规则适用的源网络标记列表。 |
target_tag[ ] |
字符串 | VPC 防火墙规则适用的目标网络标记列表。 |
source_service_account[ ] |
字符串 | VPC 防火墙规则适用的所有源服务账号的列表。 |
target_service_account[ ] |
字符串 | VPC 防火墙规则适用的所有目标服务账号的列表。 |
IpPortDetails
| 字段 | 类型 | 说明 |
|---|---|---|
ip_protocol |
字符串 | VPC 防火墙规则所应用的 IP 协议。如果规则适用于所有 IP 协议,则可以设置为 ALL。 |
port_range[ ] |
字符串 | VPC 防火墙规则的适用端口范围列表。
例如,8080-9090。 |
InstanceDetails
| 字段 | 类型 | 说明 |
|---|---|---|
project_id |
字符串 | 包含虚拟机的项目的 ID。 |
vm_name |
字符串 | 虚拟机的实例名称。 |
region |
字符串 | 虚拟机的区域。 |
zone |
字符串 | 虚拟机所在的可用区。 |
LoadBalancingDetails
| 字段 | 类型 | 说明 |
|---|---|---|
forwarding_rule_project_id |
字符串 | Google Cloud 包含转发规则的项目 ID。当负载均衡器是目标而不是虚拟机时发送。 |
type |
字符串 | 负载平衡器类型:APPLICATION_LOAD_BALANCER 表示
内部应用负载平衡器。PROXY_NETWORK_LOAD_BALANCER 表示
内部代理网络负载平衡器。当负载均衡器是目标而不是虚拟机时发送。 |
scheme |
字符串 | 负载平衡器方案,INTERNAL_MANAGED。当负载均衡器是目标而不是虚拟机时发送。 |
url_map_name |
字符串 | 网址映射的名称。仅当 type
为 APPLICATION_LOAD_BALANCER 时填充。当负载均衡器是目标而不是虚拟机时发送。 |
forwarding_rule_name |
字符串 | 转发规则的名称。当负载均衡器是目标而不是虚拟机时发送。 |
VpcDetails
| 字段 | 类型 | 说明 |
|---|---|---|
project_id |
字符串 | 包含此网络的项目的 ID。 |
vpc_name |
字符串 | 运行虚拟机的网络。 |
subnetwork_name |
字符串 | 运行虚拟机的子网。 |
GeographicDetails
| 字段 | 类型 | 说明 |
|---|---|---|
continent |
字符串 | 大洲名称。如果连接的远程端点在 VPC 外部,则适用。 |
country |
字符串 | 国家/地区名称。如果连接的远程端点在 VPC 外部,则适用。 |
region |
字符串 | 区域名称。如果连接的远程端点在 VPC 外部,则适用。 |
city |
字符串 | 城市名称。如果连接的远程端点在 VPC 外部,则适用。 |