Secure Web Proxy-Logs erfassen

Parserversion:2.0

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Secure Web Proxy-Logs mit Cloud Storage exportieren und in Google Security Operations aufnehmen. Der Parser extrahiert Felder aus JSON-Logs und wandelt sie in das einheitliche Datenmodell (Unified Data Model, UDM) um. Er initialisiert UDM-Felder, parst die JSON-Nutzlast, extrahiert Netzwerkinformationen, Sicherheitsdetails und Ressourcenattribute und legt den Ereignistyp basierend auf dem Vorhandensein von Informationen zu 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

  1. Melden Sie sich in der Google Cloud Console an.
  2. Rufen Sie die Seite Cloud Storage-Buckets auf.

    Buckets aufrufen

  3. Klicken Sie auf Erstellen.

  4. 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:

    1. Führen Sie im Abschnitt Einstieg die folgenden Schritte aus:

      1. Geben Sie einen eindeutigen Namen ein, der den Anforderungen für Bucket-Namen entspricht, z. B. gcp-swp-logs.
      2. 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.

      3. Wenn Sie ein Bucket-Label hinzufügen möchten, klicken Sie auf den Maximierungspfeil , um den Bereich Label zu maximieren.

      4. Klicken Sie auf Label hinzufügen und geben Sie einen Schlüssel und einen Wert für das Label an.

    2. Gehen Sie im Bereich Speicherort für Daten auswählen so vor:

      1. Wählen Sie einen Standorttyp aus.
      2. Wählen Sie im Menü für den Standorttyp einen Speicherort aus, an dem die Objektdaten in Ihrem Bucket dauerhaft gespeichert werden sollen.

      3. Wenn Sie die Bucket-übergreifende Replikation einrichten möchten, maximieren Sie den Bereich Bucket-übergreifende Replikation einrichten.

    3. Wählen Sie im Abschnitt Speicherklasse für Ihre Daten auswählen entweder eine Standardspeicherklasse für den Bucket oder Autoclass zur automatischen Verwaltung der Speicherklassen Ihrer Bucket-Daten aus.

    4. Wählen Sie im Abschnitt Zugriff auf Objekte steuern die Option nicht aus, um die Verhinderung des öffentlichen Zugriffs zu erzwingen, und wählen Sie ein Zugriffssteuerungsmodell für die Objekte Ihres Buckets aus.

    5. Gehen Sie im Bereich Auswählen, wie Objektdaten geschützt werden so vor:

      1. Wählen Sie eine der Optionen unter Datenschutz aus, die Sie für Ihren Bucket festlegen möchten.
      2. Um auszuwählen, wie Ihre Objektdaten verschlüsselt werden, klicken Sie auf den Maximierungspfeil mit Label Datenverschlüsselung und wählen Sie eine Methode für die Datenverschlüsselung aus.
  5. Klicken Sie auf Erstellen.

Export von Secure Web Proxy-Logs konfigurieren

  1. Melden Sie sich in der Google Cloud Console an.
  2. Wechseln Sie zu Logging > Logrouter.
  3. Klicken Sie auf Senke erstellen.
  4. Geben Sie die folgenden Konfigurationsparameter an:

    • Name der Senke: Geben Sie einen aussagekräftigen Namen ein, z. B. SWP-Export-Sink.
    • Ziel der Senke: 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"
    
  5. Klicken Sie auf Erstellen.

Berechtigungen für Cloud Storage konfigurieren

  1. Rufen Sie IAM & Verwaltung > IAM auf.
  2. Suchen Sie das Cloud Logging-Dienstkonto.
  3. Gewähren Sie die Rolle roles/storage.admin für den Bucket.

Feeds einrichten

So konfigurieren Sie einen Feed:

  1. Rufen Sie die SIEM-Einstellungen > Feeds auf.
  2. Klicken Sie auf Neuen Feed hinzufügen.
  3. Klicken Sie auf der nächsten Seite auf Einzelnen Feed konfigurieren.
  4. Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. Google Cloud SWP-Logs.
  5. Wählen Sie Google Cloud Storage V2 als Quelltyp aus.
  6. Wählen Sie GCP Secure Web Proxy als Logtyp aus.
  7. Klicken Sie neben dem Feld Chronicle-Dienstkonto auf Dienstkonto abrufen.
  8. Klicken Sie auf Weiter.
  9. Geben Sie Werte für die folgenden Eingabeparameter an:

    • Cloud Storage-Bucket-URI: Cloud Storage-Bucket-URL, z. B. gs://gcp-swp-logs/. Diese URL muss mit einem nachgestellten Schrägstrich (/) enden.
    • Optionen für das Löschen der Quelle: Wählen Sie die gewünschte Löschoption aus.

    • Maximales Alter der Datei: Enthält Dateien, die in den letzten Tagen geändert wurden. Der Standardwert ist 180 Tage.

  10. Klicken Sie auf Weiter.

  11. 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 Latency
additional.fields[].value.string_value: 0.124462s
Direkt aus dem Rohlogfeld zugeordnet.
httpRequest.protocol network.application_protocol: HTTP
network.application_protocol_version: 2
Das Protokoll und die Version werden mit einem Grok-Muster aus dem Feld httpRequest.protocol extrahiert.
httpRequest.remoteIp target.asset.ip: 1.1.0.1
target.ip: 1.1.0.1
Die IP-Adresse wird mit einem Grok-Muster aus dem Feld httpRequest.remoteIp extrahiert.
httpRequest.requestMethod network.http.method: GET Direkt aus dem Rohlogfeld zugeordnet.
httpRequest.requestSize network.sent_bytes: 144 Direkt aus dem Rohlogfeld zugeordnet und in eine Ganzzahl konvertiert.
httpRequest.requestUrl target.url: https://github.com/tempuslabs/tempusutils/info/refs?service=git-upload-pack Direkt aus dem Rohlogfeld zugeordnet.
httpRequest.responseSize network.received_bytes: 225 Direkt aus dem Rohlogfeld zugeordnet und in eine Ganzzahl konvertiert.
httpRequest.serverIp principal.asset.ip: 1.8.1.4
principal.ip: 1.8.1.4
Die IP-Adresse wird mit einem Grok-Muster aus dem Feld httpRequest.serverIp extrahiert.
httpRequest.status network.http.response_code: 401 Direkt aus dem Rohlogfeld zugeordnet und in eine Ganzzahl konvertiert.
httpRequest.userAgent network.http.user_agent: git/2.34.1
network.http.parsed_user_agent: {
family: USER_DEFINED,
device: git,
device_version: 2.34.1
}
Direkt aus dem Rohlogfeld zugeordnet. Das Feld parsed_user_agent wird durch das Parsen des Felds httpRequest.userAgent abgeleitet.
insertId metadata.product_log_id: 1yh8wczer5o8n Direkt aus dem Rohlogfeld zugeordnet.
jsonPayload.@type additional.fields[].key: Log Type
additional.fields[].value.string_value: type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry
Direkt aus dem Rohlogfeld zugeordnet.
jsonPayload.enforcedGatewaySecurityPolicy.hostname target.asset.hostname: github.com
target.hostname: github.com
Direkt aus dem Rohlogfeld zugeordnet.
jsonPayload.enforcedGatewaySecurityPolicy.matchedRules[].action security_result.action: ALLOW
security_result.action_details: ALLOWED
Die security_result.action wird basierend auf dem Wert 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 Rohlogfeld zugeordnet.
jsonPayload.enforcedGatewaySecurityPolicy.requestWasTlsIntercepted security_result.detection_fields[].key: requestWasTlsIntercepted
security_result.detection_fields[].value: true
Direkt aus dem Rohlogfeld zugeordnet.
logName additional.fields[].key: Log Name
additional.fields[].value.string_value: projects/rws-w6uza3pn5jzzh6z3hc3d/logs/networkservices.googleapis.com%2Fgateway_requests
Direkt aus dem Rohlogfeld zugeordnet.
receiveTimestamp metadata.collected_timestamp: {
seconds: 1710189647,
nanos: 661101224
}
Mit dem Datumsformat RFC 3339 aus dem Rohlogfeld geparst.
resource.labels.gateway_name security_result.detection_fields[].key: gateway-name
security_result.detection_fields[].value: github-access-gateway-5cec30cd
Direkt aus dem Rohlogfeld zugeordnet.
resource.labels.gateway_type security_result.detection_fields[].key: gateway-type
security_result.detection_fields[].value: SECURE_WEB_GATEWAY
Direkt aus dem Rohlogfeld zugeordnet.
resource.labels.location target.resource.attribute.cloud.availability_zone: us-central1 Direkt aus dem Rohlogfeld zugeordnet.
resource.labels.network_name target.resource.attribute.labels[].key: rc_network_name
target.resource.attribute.labels[].value: projects/rws-w6uza3pn5jzzh6z3hc3d/global/networks/rws-tr-pilot-workspace
Direkt aus dem Rohlogfeld zugeordnet.
resource.type target.resource.attribute.labels[].key: Resource Type
target.resource.attribute.labels[].value: networkservices.googleapis.com/Gateway
Direkt aus dem Rohlogfeld zugeordnet.
severity security_result.severity: MEDIUM Aus dem Rohlogfeld zugeordnet. Der Wert wird in einen UDM-Schweregrad übersetzt. In diesem Fall wird WARNING zu MEDIUM zugeordnet.
timestamp metadata.event_timestamp: {
seconds: 1710189639,
nanos: 952848000
}
Mit dem Datumsformat RFC 3339 aus dem Rohlogfeld geparst.
(Parserlogik) 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.
(Parserlogik) 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