Mit den Protokollen des URL-Filterdienstes können Sie die URL-basierte Trafficfilterung in Ihrem Netzwerk prüfen, verifizieren und analysieren.
Wenn die Cloud Next Generation Firewall eine URL-basierte Filterung des Traffics mit aktivierter Layer 7-Prüfung durchführt, wird für jede Verbindung ein Logeintrag mit Details zur Verbindung generiert. Cloud NGFW generiert einen Logeintrag, wenn die Firewallregel mit Layer 7-Prüfung aktiviert wird, unabhängig davon, ob Cloud Logging aktiviert oder deaktiviert ist.
Wenn Sie die Logs zur URL-Filterung aufrufen und untersuchen möchten, suchen Sie im Log-Explorer nach dem Log networksecurity.googleapis.com/firewall_url_filter.
Auf dieser Seite werden das Format und die Struktur der URL-Filterprotokolle beschrieben, die Cloud NGFW für jede Verbindung generiert, wenn Traffic zugelassen oder abgelehnt wird.
Logformat für URL-Filterung
Cloud NGFW erstellt in Cloud Logging einen Logeintrag für jede Verbindung, die der URL-Filterung unterzogen wird, um den Traffic zu oder von einer VM-Instanz in einer bestimmten Zone zu überwachen. Logeinträge werden im JSON-Nutzlastfeld eines LogEntry erfasst.
Einige Logfelder haben ein Mehrfeldformat mit mehr als einem Datenelement in einem bestimmten Feld. Das Feld connection hat beispielsweise das Format Connection. Dieses Format enthält die Server-IP-Adresse und den Serverport, die Client-IP-Adresse und den Clientport sowie die Protokollnummer in einem einzigen Feld.
In der folgenden Tabelle wird das Format der Logfelder für die URL-Filterung beschrieben.
| Feld | Typ | Beschreibung |
|---|---|---|
connection
|
Connection
|
Ein 5‑Tupel, das die Verbindungsparameter für den Traffic beschreibt, der basierend auf Informationen zu Domain und Server Name Indication (SNI) entweder zugelassen oder abgelehnt wird. |
interceptInstance
|
InterceptInstance
|
Die Details der VM-Instanz, in der der Traffic basierend auf Domain- und SNI-Informationen entweder zugelassen oder abgelehnt wird. |
detectionTime
|
string
|
Die Uhrzeit (UTC), zu der der Firewall-Endpunkt eine Übereinstimmung für die Domain- und SNI-Informationen erkennt. |
uriMatched
|
string
|
Die Domain, für die der Firewall-Endpunkt eine Übereinstimmung erkannt hat. |
interceptVpc
|
VpcDetails
|
Die Details des VPC-Netzwerks (Virtual Private Cloud), das der VM-Instanz zugeordnet ist, in der der Traffic basierend auf Domain- und SNI-Informationen entweder zugelassen oder abgelehnt wird. |
ruleIndex
|
integer
|
Der Index oder die Ordnungszahl des URL-Filters, mit dem der Firewallendpunkt eine Übereinstimmung erkannt hat. |
direction
|
string
|
Die Richtung des Traffics (entweder CLIENT_TO_SERVER oder SERVER_TO_CLIENT), für den der Firewallendpunkt eine Übereinstimmung erkannt hat.
|
securityProfileGroupDetails
|
SecurityProfileGroupDetails
|
Die Details der Sicherheitsprofilgruppe, die auf den abgefangenen Traffic angewendet wird. |
denyType
|
string
|
Der Typ der Informationen, die der Firewall-Endpunkt verwendet, um den Traffic zu verweigern.
|
action
|
string
|
Die Aktion, entweder allow oder deny, die für den Traffic ausgeführt wird, der anhand der Domain- und SNI-Informationen gefiltert wird. Das Sicherheitsprofil definiert diese Aktion. Weitere Informationen zur konfigurierten Aktion finden Sie unter Sicherheitsprofil für URL-Filterung.
|
applicationLayerDetails
|
ApplicationLayerDetails
|
Die Details zur Verarbeitung auf der Anwendungsschicht. |
sessionLayerDetails
|
SessionLayerDetails
|
Details zur Verarbeitung der Sitzungsschicht. |
Format des Felds Connection
In der folgenden Tabelle wird das Format des Felds Connection beschrieben.
| Feld | Typ | Beschreibung |
|---|---|---|
clientIp
|
string
|
Die IP-Adresse des Clients. Wenn der Client eine Compute Engine-VM ist, ist clientIp entweder die primäre interne IP-Adresse oder eine Adresse in einem Alias-IP-Bereich der Netzwerkschnittstelle einer VM. Die externe IP-Adresse wird nicht angegeben. In den Logs wird die IP-Adresse der VM-Instanz angezeigt, wie sie im IP-Header zu sehen ist, ähnlich wie beim TCP-Dump auf der VM-Instanz.
|
clientPort
|
integer
|
Die Clientportnummer. |
serverIp
|
string
|
Die IP-Adresse des Servers. Wenn die Quelle eine Compute Engine-VM ist, ist serverIp entweder die primäre interne IP-Adresse oder eine Adresse in einem Alias-IP-Bereich der Netzwerkschnittstelle einer VM. Die externe IP-Adresse wird nicht angegeben, auch wenn sie zur Herstellung der Verbindung verwendet wurde.
|
serverPort
|
integer
|
Die Server-Portnummer. |
protocol
|
string
|
Das IP-Protokoll der Verbindung. |
Format des Felds InterceptInstance
In der folgenden Tabelle wird das Format des Felds InterceptInstance beschrieben.
| Feld | Typ | Beschreibung |
|---|---|---|
zone
|
string
|
Der Name der Zone, in der sich die VM-Instanz befindet, die dem abgefangenen Traffic zugeordnet ist. |
vm
|
string
|
Der Name der VM-Instanz, die mit dem abgefangenen Traffic verknüpft ist. |
projectId
|
string
|
Der Name des Google Cloud -Projekts, das mit dem abgefangenen Traffic verknüpft ist. |
Format des Felds VpcDetails
In der folgenden Tabelle wird das Format des Felds VpcDetails beschrieben.
| Feld | Typ | Beschreibung |
|---|---|---|
vpc
|
string
|
Der Name des VPC-Netzwerk, das mit dem abgefangenen Traffic verknüpft ist. |
projectId
|
string
|
Der Name des Google Cloud Projekts, das mit dem VPC-Netzwerk verknüpft ist. |
Format des Felds SecurityProfileGroupDetails
In der folgenden Tabelle wird das Format des Felds SecurityProfileGroupDetails beschrieben.
| Feld | Typ | Beschreibung |
|---|---|---|
securityProfileGroupId
|
string
|
Der Name der Sicherheitsprofilgruppe, die auf den Traffic angewendet wird. |
organizationId
|
string
|
Die Organisations-ID, zu der die VM-Instanz gehört. |
Format des Felds ApplicationLayerDetails
In der folgenden Tabelle wird das Format des Felds ApplicationLayerDetails beschrieben.
| Feld | Typ | Beschreibung |
|---|---|---|
protocol
|
string
|
Die Protokollversion, die der Firewall-Endpunkt auf der Anwendungsschicht verwendet.
|
uri
|
string
|
Die Domain- und Subdomaininformationen, die der Firewall-Endpunkt aus dem Traffic liest. |
Format des Felds SessionLayerDetails
In der folgenden Tabelle wird das Format des Felds SessionLayerDetails beschrieben.
| Feld | Typ | Beschreibung |
|---|---|---|
sni
|
string
|
Der Server Name Indication (SNI), den der Firewall-Endpunkt aus dem Traffic liest. |
protocolVersion
|
string
|
Die Protokollversion, die der Firewall-Endpunkt auf der Sitzungsebene verwendet.
|
Korrelation von URL-Filterlogs mit einem Firewalllog
Wenn Traffic durch eine Firewallregel ausgewertet wird, protokolliert Cloud NGFW einen Eintrag für Logging von Firewallregeln. Dieser Eintrag enthält Felder wie die Quell-IP-Adresse, die Ziel-IP-Adresse und die Uhrzeit der Traffic-Prüfung. Informationen zum Anzeigen dieser Firewallregel-Logs finden Sie unter Logs ansehen.
Wenn für eine Firewallrichtlinienregel mit Layer 7-Prüfung das Logging aktiviert ist, protokolliert Cloud NGFW zuerst den Eintrag „Firewall Rules Logging“ für den ausgewerteten Traffic. Anschließend wird der Traffic zur Layer-7-Prüfung an den Firewall-Endpunkt gesendet.
Der Firewall-Endpunkt analysiert den Traffic anhand seiner Domain und SNI und erstellt ein separates URL-Filterungsprotokoll für die Verbindung. Dieses URL-Filterungsprotokoll enthält Felder wie den Domainnamen, die Quelle des Traffics und das Ziel des Traffics.
Um die Logs zur URL-Filterung aufzurufen, suchen Sie im Log-Explorer nach dem Log networksecurity.googleapis.com/firewall_url_filter.
Sie können die Felder im Firewallregellog und im URL-Filterlog vergleichen, um die Verbindung zu ermitteln, die das URL-Filtern ausgelöst hat, und entsprechende Maßnahmen zur Behebung des Problems ergreifen.
Angenommen, Sie haben eine Firewallrichtlinienregel mit den folgenden Einstellungen konfiguriert:
- Quell-IP-Adresse:
192.0.2.0 - Quellport:
47644 - Ziel-IP-Adresse:
192.0.2.1 - Zielport:
80 - Protokollierung:
Enabled
Wenn Sie die mit dieser Regel verknüpften Logs zur URL-Filterung aufrufen möchten, rufen Sie die Seite Log-Explorer auf. Fügen Sie im Bereich Abfrage die folgende Abfrage in das Feld des Abfrageeditors ein.
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"
Im Abschnitt Abfrageergebnisse wird das folgende Log zum Filtern von URLs angezeigt:
{
"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"
}
Wenn Sie die Firewall-Logs für diese Regel aufrufen möchten, rufen Sie die Seite Log-Explorer auf. Fügen Sie im Bereich Abfrage die folgende Abfrage in das Feld des Abfrageeditors ein.
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"
Im Abschnitt Abfrageergebnisse wird das folgende Firewall-Log angezeigt:
{
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"
}
Sowohl mit dem URL-Filterprotokoll als auch mit Firewall-Protokollabfragen können Sie die Korrelation zwischen ihnen sehen. In der folgenden Tabelle werden die Firewall-Logfelder den entsprechenden Logfeldern für die URL-Filterung zugeordnet.
| Feld für Firewall-Log | Logfeld für URL-Filterung | Beschreibung |
|---|---|---|
src_ip
|
clientIp
|
Die Quell-IP-Adresse im Firewall-Log wird mit der Client-IP-Adresse im URL-Filter-Log korreliert, um den Ursprung des gefilterten Traffics zu ermitteln. |
src_port
|
clientPort
|
Der Quellport im Firewall-Log wird mit dem Clientport im URL-Filter-Log korreliert, um den Quellport zu ermitteln, der vom gefilterten Traffic verwendet wird. |
dest_ip
|
serverIp
|
Die Ziel-IP-Adresse im Firewall-Log wird mit der Server-IP-Adresse im URL-Filter-Log korreliert, um das Ziel des gefilterten Traffics zu ermitteln. |
dest_port
|
serverPort
|
Der Zielport im Firewall-Log wird mit dem Serverport im URL-Filter-Log korreliert, um den Zielport zu ermitteln, der vom gefilterten Traffic verwendet wird. |