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 von Traffic 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 ansehen 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. Diese Aktion wird im Sicherheitsprofil definiert. Weitere Informationen zur konfigurierten Aktion finden Sie unter Sicherheitsprofil für URL-Filterung.
|
applicationLayerDetails
|
ApplicationLayerDetails
|
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 dem VPC-Netzwerk zugeordnet 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
|
Die Server Name Indication (SNI), die 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 den Zeitpunkt 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 Firewalllog | 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. |