Secure Web Proxy-Logs erfassen
Parserversion: 2.0
In diesem Dokument wird beschrieben, wie Sie Secure Web Proxy-Daten exportieren und mit Cloud Storage in Google Security Operations aufnehmen. Der Parser extrahiert Felder aus JSON-Logs und wandelt sie in das Unified Data Model (UDM) um. Es initialisiert UDM-Felder, parst die JSON-Nutzlast, extrahiert Netzwerkinformationen, Sicherheitsdetails und Ressourcenattribute und legt den Ereignistyp basierend auf dem Vorhandensein von Informationen zum Hauptkonto und Ziel fest.
Hinweis
Folgende Voraussetzungen müssen erfüllt sein:
- Google SecOps-Instanz
- Secure Web Proxy ist in Ihrer Google Cloud -Umgebung aktiv und konfiguriert.
- Privilegierter Zugriff auf Google Cloud und entsprechende Berechtigungen für den Zugriff auf Secure Web Proxy-Logs.
Cloud Storage-Bucket erstellen
- Melden Sie sich in der Google Cloud Console an.
Rufen Sie die Seite Cloud Storage-Buckets auf.
Klicken Sie auf Erstellen.
Geben Sie auf der Seite Bucket erstellen die Bucket-Informationen ein. Klicken Sie nach jedem der folgenden Schritte auf Weiter, um mit dem nächsten Schritt fortzufahren:
Führen Sie im Abschnitt Einstieg die folgenden Schritte aus:
- Geben Sie einen eindeutigen Namen ein, der den Anforderungen für Bucket-Namen entspricht, z. B. gcp-swp-logs.
Wenn Sie den hierarchischen Namespace aktivieren möchten, klicken Sie auf den Maximierungspfeil, um den Bereich Für dateiorientierte und datenintensive Arbeitslasten optimieren zu maximieren, und wählen Sie dann Hierarchischen Namespace für diesen Bucket aktivieren aus.
Wenn Sie ein Bucket-Label hinzufügen möchten, klicken Sie auf den Erweiterungspfeil, um den Abschnitt Labels zu maximieren.
Klicken Sie auf Label hinzufügen und geben Sie einen Schlüssel und einen Wert für das Label an.
Gehen Sie im Bereich Speicherort für Daten auswählen so vor:
- Standorttyp auswählen.
Wählen Sie im Menü für den Standorttyp einen Standort aus, an dem die Objektdaten in Ihrem Bucket dauerhaft gespeichert werden sollen.
Wenn Sie die Bucket-übergreifende Replikation einrichten möchten, maximieren Sie den Bereich Bucket-übergreifende Replikation einrichten.
Im Abschnitt Speicherklasse für Ihre Daten auswählen wählen Sie entweder Standardspeicherklasse für den Bucket oder Autoclass zur automatischen Verwaltung der Speicherklassen Ihrer Bucket-Daten aus.
Wählen Sie im Abschnitt Zugriff auf Objekte steuern aus, dass die Verhinderung des öffentlichen Zugriffs nicht erzwungen werden soll, und wählen Sie ein Zugriffssteuerungsmodell für die Objekte Ihres Buckets aus.
Gehen Sie im Bereich Auswählen, wie Objektdaten geschützt werden so vor:
- Wählen Sie unter Datenschutz die Optionen aus, die Sie für Ihren Bucket festlegen möchten.
- Um auszuwählen, wie Ihre Objektdaten verschlüsselt werden, klicken Sie auf den Erweiterungspfeil mit dem Label Datenverschlüsselung und wählen Sie eine Methode für die Datenverschlüsselung aus.
Klicken Sie auf Erstellen.
Export von Secure Web Proxy-Logs konfigurieren
- Melden Sie sich in der Google Cloud Console an.
- Rufen Sie Logging > Logrouter auf.
- Klicken Sie auf Senke erstellen.
Geben Sie die folgenden Konfigurationsparameter an:
- Name der Senke: Geben Sie einen aussagekräftigen Namen ein, z. B.
SWP-Export-Sink. - Senkenziel: Wählen Sie Cloud Storage aus und geben Sie den URI für Ihren Bucket ein, z. B.
gs://gcp-swp-logs/. - Logfilter:
logName="projects/<your-project-id>/logs/networkservices.googleapis.com/gateway_requests"- Name der Senke: Geben Sie einen aussagekräftigen Namen ein, z. B.
Klicken Sie auf Erstellen.
Berechtigungen für Cloud Storage konfigurieren
- Rufen Sie IAM & Verwaltung > IAM auf.
- Suchen Sie das Dienstkonto Cloud Logging.
- Weisen Sie dem Bucket die Rolle roles/storage.admin zu.
Feeds einrichten
So konfigurieren Sie einen Feed:
- Rufen Sie die Einstellungen > Datenverwaltung > Feeds auf. Wenn Sie eine reine SIEM-Plattform verwenden, rufen Sie die Einstellungen > Feeds auf.
- Klicken Sie auf Neuen Feed hinzufügen.
- Klicken Sie auf der nächsten Seite auf Einzelnen Feed konfigurieren.
- Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. Google Cloud SWP-Logs.
- Wählen Sie Google Cloud Storage V2 als Quelltyp aus.
- Wählen Sie GCP Secure Web Proxy als Logtyp aus.
- Klicken Sie neben dem Feld Chronicle-Dienstkonto auf Dienstkonto abrufen.
- Klicken Sie auf Weiter.
Geben Sie Werte für die folgenden Eingabeparameter an:
- Storage-Bucket-URI: Cloud Storage-Bucket-URL, z. B.
gs://gcp-swp-logs/. Diese URL muss mit einem Schrägstrich (/) enden. Optionen zum Löschen der Quelle: Wählen Sie die gewünschte Löschoption aus.
Maximales Dateialter: Es werden Dateien berücksichtigt, die in den letzten Tagen geändert wurden. Der Standardwert ist 180 Tage.
- Storage-Bucket-URI: Cloud Storage-Bucket-URL, z. B.
Klicken Sie auf Weiter.
Prüfen Sie die neue Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.
UDM-Zuordnungstabelle
| Logfeld | UDM-Zuordnung | Logik |
|---|---|---|
httpRequest.latency |
additional.fields[].key: HTTPRequest Latencyadditional.fields[].value.string_value: 0.124462s |
Direkt aus dem Feld des Rohlogs zugeordnet. |
httpRequest.protocol |
network.application_protocol: HTTPnetwork.application_protocol_version: 2 |
Das Protokoll und die Version werden mithilfe eines Grok-Musters aus dem Feld httpRequest.protocol extrahiert. |
httpRequest.remoteIp |
target.asset.ip: 1.1.0.1target.ip: 1.1.0.1 |
Die IP-Adresse wird mithilfe eines Grok-Musters aus dem Feld httpRequest.remoteIp extrahiert. |
httpRequest.requestMethod |
network.http.method: GET |
Direkt aus dem Feld des Rohlogs zugeordnet. |
httpRequest.requestSize |
network.sent_bytes: 144 |
Wird direkt aus dem Rohprotokollfeld zugeordnet und in eine Ganzzahl konvertiert. |
httpRequest.requestUrl |
target.url: https://github.com/tempuslabs/tempusutils/info/refs?service=git-upload-pack |
Direkt aus dem Feld des Rohlogs zugeordnet. |
httpRequest.responseSize |
network.received_bytes: 225 |
Wird direkt aus dem Rohprotokollfeld zugeordnet und in eine Ganzzahl konvertiert. |
httpRequest.serverIp |
principal.asset.ip: 1.8.1.4principal.ip: 1.8.1.4 |
Die IP-Adresse wird mithilfe eines Grok-Musters aus dem Feld httpRequest.serverIp extrahiert. |
httpRequest.status |
network.http.response_code: 401 |
Wird direkt aus dem Rohprotokollfeld zugeordnet und in eine Ganzzahl konvertiert. |
httpRequest.userAgent |
network.http.user_agent: git/2.34.1network.http.parsed_user_agent: {family: USER_DEFINED,device: git,device_version: 2.34.1} |
Direkt aus dem Feld des Rohlogs zugeordnet. Das Feld parsed_user_agent wird durch Parsen des Felds httpRequest.userAgent abgeleitet. |
insertId |
metadata.product_log_id: 1yh8wczer5o8n |
Direkt aus dem Feld des Rohlogs zugeordnet. |
jsonPayload.@type |
additional.fields[].key: Log Typeadditional.fields[].value.string_value: type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry |
Direkt aus dem Feld des Rohlogs zugeordnet. |
jsonPayload.enforcedGatewaySecurityPolicy.hostname |
target.asset.hostname: github.comtarget.hostname: github.com |
Direkt aus dem Feld des Rohlogs zugeordnet. |
jsonPayload.enforcedGatewaySecurityPolicy.matchedRules[].action |
security_result.action: ALLOWsecurity_result.action_details: ALLOWED |
Der security_result.action wird anhand des Werts von jsonPayload.enforcedGatewaySecurityPolicy.matchedRules[].action abgeleitet. Wenn die Aktion ALLOWED ist, wird das UDM-Feld auf ALLOW gesetzt. Wenn die Aktion DENIED ist, wird das UDM-Feld auf BLOCK gesetzt. |
jsonPayload.enforcedGatewaySecurityPolicy.matchedRules[].name |
security_result.rule_name: projects/671807354785/locations/us-central1/gatewaySecurityPolicies/github-access-gateway-security-policy-5cec30cd/rules/github-access-gateway-security-policy-rule-5cec30cd |
Direkt aus dem Feld des Rohlogs zugeordnet. |
jsonPayload.enforcedGatewaySecurityPolicy.requestWasTlsIntercepted |
security_result.detection_fields[].key: requestWasTlsInterceptedsecurity_result.detection_fields[].value: true |
Direkt aus dem Feld des Rohlogs zugeordnet. |
logName |
additional.fields[].key: Log Nameadditional.fields[].value.string_value: projects/rws-w6uza3pn5jzzh6z3hc3d/logs/networkservices.googleapis.com%2Fgateway_requests |
Direkt aus dem Feld des Rohlogs zugeordnet. |
receiveTimestamp |
metadata.collected_timestamp: {seconds: 1710189647,nanos: 661101224} |
Wird aus dem Rohprotokollfeld im RFC 3339-Datumsformat geparst. |
resource.labels.gateway_name |
security_result.detection_fields[].key: gateway-namesecurity_result.detection_fields[].value: github-access-gateway-5cec30cd |
Direkt aus dem Feld des Rohlogs zugeordnet. |
resource.labels.gateway_type |
security_result.detection_fields[].key: gateway-typesecurity_result.detection_fields[].value: SECURE_WEB_GATEWAY |
Direkt aus dem Feld des Rohlogs zugeordnet. |
resource.labels.location |
target.resource.attribute.cloud.availability_zone: us-central1 |
Direkt aus dem Feld des Rohlogs zugeordnet. |
resource.labels.network_name |
target.resource.attribute.labels[].key: rc_network_nametarget.resource.attribute.labels[].value: projects/rws-w6uza3pn5jzzh6z3hc3d/global/networks/rws-tr-pilot-workspace |
Direkt aus dem Feld des Rohlogs zugeordnet. |
resource.type |
target.resource.attribute.labels[].key: Resource Typetarget.resource.attribute.labels[].value: networkservices.googleapis.com/Gateway |
Direkt aus dem Feld des Rohlogs zugeordnet. |
severity |
security_result.severity: MEDIUM |
Aus dem unformatierten Logfeld zugeordnet. Der Wert wird in einen UDM-Schweregrad übersetzt. In diesem Fall wird WARNING MEDIUM zugeordnet. |
timestamp |
metadata.event_timestamp: {seconds: 1710189639,nanos: 952848000} |
Wird aus dem Rohprotokollfeld im RFC 3339-Datumsformat geparst. |
| (Parser-Logik) | metadata.event_type: NETWORK_HTTP |
Wird durch die Parserlogik basierend auf dem Vorhandensein von has_principal, has_target und einem Protokoll, das mit http übereinstimmt, bestimmt. |
| (Parser-Logik) | metadata.log_type: GCP_SWP |
Hartcodierter Wert basierend auf dem Produkt. |
Änderungsprotokoll
Änderungsprotokoll für diesen Parser ansehen
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten