借助网址过滤服务日志,您可以审核、验证和分析网络中基于网址的流量过滤。
当 Cloud 新一代防火墙对启用第 7 层检查的流量执行基于网址的过滤时,会为每个连接生成一个日志条目,其中包含有关该连接的详细信息。当启用第 7 层检查的防火墙规则被激活时,Cloud NGFW 会生成一个日志条目,无论 Cloud Logging 是否已启用。
如需查看和检查网址过滤日志,请在 Logs Explorer 中搜索日志 networksecurity.googleapis.com/firewall_url_filter
。
本页介绍了 Cloud NGFW 在允许或拒绝流量时为每个连接生成的网址过滤日志的格式和结构。
网址过滤日志格式
Cloud NGFW 会在 Cloud Logging 中,为每个接受网址过滤的连接创建日志记录条目,以监控进出特定可用区的虚拟机 (VM) 实例的流量。日志记录包含在 LogEntry 的 JSON 载荷字段中。
某些日志字段采用多字段格式,在给定字段中包含多段数据。例如,connection
字段采用 Connection
格式,它在单个字段中包含服务器 IP 地址和端口、客户端 IP 地址和端口以及协议号。
下表介绍了网址过滤日志字段的格式。
字段 | 类型 | 说明 |
---|---|---|
connection
|
Connection
|
一个 5 元组,用于描述与根据网域和服务器名称指示 (SNI) 信息允许或拒绝的流量关联的连接参数。 |
interceptInstance
|
InterceptInstance
|
虚拟机实例的详细信息,其中流量是根据网域和 SNI 信息允许或拒绝的。 |
detectionTime
|
string
|
防火墙端点检测到网域和 SNI 信息匹配的时间(世界协调时)。 |
uriMatched
|
string
|
防火墙端点检测到匹配的网域。 |
interceptVpc
|
VpcDetails
|
与虚拟机实例关联的虚拟私有云 (VPC) 网络的详细信息,该虚拟机实例的流量是根据网域和 SNI 信息允许或拒绝的。 |
ruleIndex
|
integer
|
防火墙端点检测到匹配的网址过滤条件的索引或序号。 |
direction
|
string
|
防火墙端点检测到匹配项的流量方向(CLIENT_TO_SERVER 或 SERVER_TO_CLIENT )。
|
securityProfileGroupDetails
|
SecurityProfileGroupDetails
|
应用于被拦截流量的安全配置文件组的详细信息。 |
denyType
|
string
|
防火墙端点用于拒绝流量的信息类型。
|
action
|
string
|
根据网域和 SNI 信息过滤的流量所执行的操作,可以是 allow 或 deny 。安全配置文件定义了此操作。如需详细了解配置的操作,请参阅网址过滤安全配置文件。
|
applicationLayerDetails
|
ApplicationLayerDetails
|
与应用层处理相关的详细信息。 |
sessionLayerDetails
|
SessionLayerDetails
|
与会话层处理相关的详细信息。 |
Connection
字段格式
下表介绍了 Connection
字段的格式。
字段 | 类型 | 说明 |
---|---|---|
clientIp
|
string
|
客户端 IP 地址。如果客户端是 Compute Engine 虚拟机,则 clientIp 是主要内部 IP 地址或虚拟机网络接口的别名 IP 范围内的地址。系统不显示外部 IP 地址。日志显示 IP 标头上观察到的虚拟机实例的 IP 地址,类似于虚拟机实例上的 TCP 转储。 |
clientPort
|
integer
|
客户端端口号。 |
serverIp
|
string
|
服务器 IP 地址。如果服务器是 Compute Engine 虚拟机,则 serverIp 是主要内部 IP 地址或虚拟机网络接口的别名 IP 范围内的地址。即使使用外部 IP 地址进行连接,系统也不会显示此地址。 |
serverPort
|
integer
|
服务器端口号。 |
protocol
|
string
|
连接的 IP 协议。 |
InterceptInstance
字段格式
下表介绍了 InterceptInstance
字段的格式。
字段 | 类型 | 说明 |
---|---|---|
zone
|
string
|
与被拦截流量关联的虚拟机实例所在的可用区的名称。 |
vm
|
string
|
与被拦截流量关联的虚拟机实例的名称。 |
projectId
|
string
|
与被拦截流量关联的 Google Cloud 项目的名称。 |
VpcDetails
字段格式
下表介绍了 VpcDetails
字段的格式。
字段 | 类型 | 说明 |
---|---|---|
vpc
|
string
|
与被拦截流量关联的 VPC 网络的名称。 |
projectId
|
string
|
与 VPC 网络关联的 Google Cloud 项目的名称。 |
SecurityProfileGroupDetails
字段格式
下表介绍了 SecurityProfileGroupDetails
字段的格式。
字段 | 类型 | 说明 |
---|---|---|
securityProfileGroupId
|
string
|
应用于流量的安全配置文件组名称。 |
organizationId
|
string
|
虚拟机实例所属的组织 ID。 |
ApplicationLayerDetails
字段格式
下表介绍了 ApplicationLayerDetails
字段的格式。
字段 | 类型 | 说明 |
---|---|---|
protocol
|
string
|
防火墙端点在应用层使用的协议版本。
|
uri
|
string
|
防火墙端点从流量中读取的网域和子网域信息。 |
SessionLayerDetails
字段格式
下表介绍了 SessionLayerDetails
字段的格式。
字段 | 类型 | 说明 |
---|---|---|
sni
|
string
|
防火墙端点从流量中读取的服务器名称指示 (SNI)。 |
protocolVersion
|
string
|
防火墙端点在会话层使用的协议版本。
|
网址过滤日志与防火墙日志的相关性
当流量由防火墙规则评估时,Cloud NGFW 会记录一条防火墙规则日志记录条目。此条目包含来源 IP 地址、目标 IP 地址和流量检查时间等字段。如需查看这些防火墙规则日志,请参阅查看日志。
如果启用了日志记录,则具有第 7 层检查功能的防火墙政策规则会先记录所评估流量的“防火墙规则日志记录”条目。然后,它会将流量发送到防火墙端点以进行第 7 层检查。
防火墙端点使用其网域和 SNI 分析流量,并为连接创建单独的网址过滤日志。此网址过滤日志包含域名、流量来源和流量目的地等字段。
如需查看网址过滤日志,请在日志浏览器中搜索日志 networksecurity.googleapis.com/firewall_url_filter
。
您可以比较防火墙规则日志和 网址 过滤日志中的字段,以确定触发 网址 过滤的连接,并采取适当措施来解决此问题。
例如,您已配置一条防火墙政策规则,其中包含以下设置:
- 来源 IP 地址:
192.0.2.0
- 来源端口:
47644
- 目的地 IP 地址:
192.0.2.1
- 目标端口:
80
- 日志记录:
Enabled
如需查看与此规则关联的网址过滤日志,请前往 Logs Explorer 页面。在查询窗格中,将以下查询粘贴到查询编辑器字段中。
resource.type="networksecurity.googleapis.com/FirewallEndpoint" jsonPayload.source_ip_address="192.0.2.0" jsonPayload.source_port="47644" jsonPayload.destination_ip_address="192.0.2.1" jsonPayload.destination_port="80"
查询结果部分会显示以下网址过滤日志:
{ "insertId": "akxp8uf5f0fuv", "jsonPayload": { "connection": { "serverPort": 80, "clientPort": 47644, "protocol": "TCP", "clientIp": "192.0.2.0", "serverIp": "192.0.2.1" }, "interceptInstance": { "zone": "us-central1-c", "vm": "aied-test-dont-delete", "projectId": "project_001" }, "detectionTime": "2025-06-02T19:09:27.802711668Z", "uriMatched": "", "interceptVpc": { "projectId": "project_001", "vpc": "default" }, "ruleIndex": 0, "direction": "CLIENT_TO_SERVER", "@type": "type.googleapis.com/google.cloud.networksecurity.logging.v1.URLFilterLog", "securityProfileGroupDetails": { "securityProfileGroupId": "project_001/spg/my-spg-id", "organizationId": "organization_001" }, "denyType": "HOST", "action": "DENY", "applicationLayerDetails": { "protocol": "HTTP1", "uri": "server.fwp.com" }, "sessionLayerDetails": { "sni": "", "protocolVersion": "PROTOCOL_VERSION_UNSPECIFIED" } }, "resource": { "type": "networksecurity.googleapis.com/FirewallEndpoint", "labels": { "location": "us-central1-c", "resource_container": "organizations/organization_001", "id": "pg-ni-latencyayzl8peq" } }, "timestamp": "2025-06-02T19:09:35.452299517Z", "logName": "projects/project_001/logs/networksecurity.googleapis.com%2Ffirewall_url_filter", "receiveTimestamp": "2025-06-02T19:09:35.452299517Z" }
同样,如需查看与此规则关联的防火墙日志,请前往日志浏览器页面。在查询窗格中,将以下查询粘贴到查询编辑器字段中。
jsonPayload.rule_details.action="APPLY_SECURITY_PROFILE_GROUP" jsonPayload.connection.src_ip="192.0.2.0" jsonPayload.connection.src_port="47644" jsonPayload.connection.dest_ip="192.0.2.1" jsonPayload.connection.dest_port="80"
查询结果部分会显示以下防火墙日志:
{ insertId: "qn82vdg109q3r9" jsonPayload: { connection: { } dest_ip: "192.0.2.1" dest_port: 80 protocol: 6 src_ip: "192.0.2.0" src_port: 47644 disposition: "INTERCEPTED" ►instance: {4} ▸ remote_instance: {4} ▸ remote_vpc: {3} rule_details: { action: "APPLY_SECURITY_PROFILE_GROUP" apply_security_profile_fallback_action: "UNSPECIFIED" direction: "INGRESS" ▸ ip_port_info: [1] ▼ priority: 6000 reference: "network: fwplus-vpc/firewallPolicy: fwplus-fwpolicy" source_range: [ 1 0: "192.0.2.0/24" target_secure_tag: [ 0: "tagValues/281479199099651" ] } vpc: { project_id: "project_001" subnetwork_name: "fwplus-us-central1-subnet" vpc_name: "fwplus-vpc" } } logName: "projects/project_001/logs/compute.googleapis.com%2Ffirewall", receiveTimestamp: "2023-11-28T19:08:46.749244092Z" resource: {2} timestamp: "2023-11-28T19:08:40.207465099Z" }
通过网址过滤日志和防火墙日志查询,您可以查看它们之间的相关性。下表将防火墙日志字段映射到相应的网址过滤日志字段。
防火墙日志字段 | 网址过滤日志字段 | 说明 |
---|---|---|
src_ip
|
clientIp
|
防火墙日志中的源 IP 地址与网址过滤日志中的客户端 IP 地址相关联,以确定过滤后流量的来源 |
src_port
|
clientPort
|
将防火墙日志中的源端口与网址过滤日志中的客户端端口相关联,以确定过滤后的流量使用的源端口 |
dest_ip
|
serverIp
|
防火墙日志中的目标 IP 地址与网址过滤日志中的服务器 IP 地址相关联,以精确定位过滤流量的目标 |
dest_port
|
serverPort
|
防火墙日志中的目标端口与网址过滤日志中的服务器端口相关联,以确定过滤后的流量所使用的目标端口 |