Netskope-Web-Proxy-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Netskope-Web-Proxy-Logs mit Cloud Storage V2 in Google Security Operations aufnehmen.

Netskope bietet ein cloudnatives Secure Web Gateway, das Webtraffic in Echtzeit prüft und steuert. Webtransaktionsprotokolle (WebTx) erfassen detaillierte Aufzeichnungen jeder HTTP- und HTTPS-Sitzung, die vom Netskope-Proxy verarbeitet wird, einschließlich Nutzeridentität, Anwendung, URL-Kategorie, Bedrohungs- und DLP-Entscheidungen sowie Netzwerkmetadaten.

Hinweis

Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:

  • Eine Google SecOps-Instanz
  • Ein Google Cloud -Projekt mit aktivierter Cloud Storage API
  • Berechtigungen zum Erstellen und Verwalten von Cloud Storage-Buckets
  • Berechtigungen zum Verwalten von IAM-Richtlinien (Identity and Access Management) für Cloud Storage-Buckets
  • Privilegierter Zugriff auf den Netskope-Mandanten mit Administratoranmeldedaten

Option 1: Netskope-Log-Streaming zu Cloud Storage

Verwenden Sie diese Option, wenn Sie ein Netskope Log Streaming-Abo für Ihren Mandanten aktiviert haben. Netskope Log Streaming überträgt WebTx-Logdateien in einem festen Intervall von 240 Sekunden als komprimierte .gzip-Dateien direkt in Ihren Cloud Storage-Bucket.

Cloud Storage-Bucket erstellen

  1. Rufen Sie die Google Cloud Console auf.
  2. Wählen Sie Ihr Projekt aus oder erstellen Sie ein neues.
  3. Rufen Sie im Navigationsmenü Cloud Storage > Buckets auf.
  4. Klicken Sie auf Bucket erstellen.
  5. Geben Sie die folgenden Konfigurationsdetails an:

    Einstellung Wert
    Bucket benennen Geben Sie einen global eindeutigen Namen ein (z. B. netskope-webtx-logs).
    Standorttyp Wählen Sie die Option, die am besten zu Ihren Anforderungen passt (Region, Dual-Region, Multi-Region).
    Standort Wählen Sie den Standort aus, der Ihrer Organisation am nächsten liegt (z. B. us-central1).
    Speicherklasse Standard (empfohlen für Logs, auf die häufig zugegriffen wird)
    Zugriffssteuerung Einheitlich (empfohlen)
    Schutztools Optional: Objektversionsverwaltung oder Aufbewahrungsrichtlinie aktivieren
  6. Klicken Sie auf Erstellen.

Google Cloud -Dienstkonto erstellen

Für Netskope Log Streaming ist ein Google Cloud -Dienstkonto mit Schreibberechtigungen für Ihren Cloud Storage-Bucket erforderlich. Die JSON-Schlüsseldatei dieses Dienstkontos wird von Netskope zur Authentifizierung beim Senden von Protokolldateien verwendet.

  1. Wechseln Sie in der Google Cloud Console zu IAM und Verwaltung > Dienstkonten.
  2. Klicken Sie auf Dienstkonto erstellen.
  3. Geben Sie die folgenden Konfigurationsdetails an:
    • Name des Dienstkontos: Geben Sie netskope-log-streaming ein.
    • Beschreibung des Dienstkontos: Geben Sie Service account for Netskope Log Streaming to push WebTx logs to GCS ein.
  4. Klicken Sie auf Erstellen und fortfahren.
  5. Im Abschnitt Diesem Dienstkonto Zugriff auf das Projekt gewähren:
    1. Klicken Sie auf Rolle auswählen.
    2. Suchen Sie nach Storage Object Creator und wählen Sie die Rolle aus.
  6. Klicken Sie auf Weiter.
  7. Klicken Sie auf Fertig.

JSON-Schlüssel generieren

  1. Rufen Sie in der Google Cloud Console IAM und Verwaltung > Dienstkonten auf und klicken Sie auf das Dienstkonto netskope-log-streaming.
  2. Wählen Sie den Tab Keys aus.
  3. Klicken Sie auf Schlüssel hinzufügen > Neuen Schlüssel erstellen.
  4. Wählen Sie JSON als Schlüsseltyp aus.
  5. Klicken Sie auf Erstellen.
  6. Eine JSON-Schlüsseldatei wird automatisch heruntergeladen. Speichern Sie diese Datei an einem sicheren Ort. Im nächsten Abschnitt fügen Sie den gesamten Inhalt dieser Datei in Netskope ein.

Schreibberechtigungen für einen Cloud Storage-Bucket gewähren

  1. Rufen Sie in der Google Cloud Console Cloud Storage > Buckets auf.
  2. Klicken Sie auf den Namen Ihres Buckets (z. B. netskope-webtx-logs).
  3. Wechseln Sie zum Tab Berechtigungen.
  4. Klicken Sie auf Zugriff erlauben.
  5. Geben Sie die folgenden Konfigurationsdetails an:
    • Hauptkonten hinzufügen: Geben Sie die E-Mail-Adresse des Dienstkontos ein (z. B. netskope-log-streaming@YOUR_PROJECT_ID.iam.gserviceaccount.com).
    • Rollen zuweisen: Wählen Sie Storage-Objekt-Ersteller aus.
  6. Klicken Sie auf Speichern.

Logstream erstellen

  1. Melden Sie sich mit Administratoranmeldedaten im Netskope-Mandanten an.
  2. Gehen Sie zu Einstellungen > Tools > Log-Streaming.
  3. Klicken Sie auf Stream erstellen.
  4. Geben Sie im Feld Name einen menschenlesbaren Namen für den Stream ein. Beispiel: Google SecOps WebTx GCS.
  5. Wählen Sie GCP Cloud Storage als Zieltyp aus.
  6. Geben Sie die folgenden Konfigurationsdetails an:

    • Bucket: Geben Sie den Namen des Cloud Storage-Bucket ein (z. B. netskope-webtx-logs).

      • Pfad (optional): Geben Sie einen Ordnerpfad im Bucket ein, in dem Logs gespeichert werden sollen (z. B. `netskope/webtx/{%Y}`).
    • Privater Schlüssel: Fügen Sie den gesamten Inhalt der im vorherigen Abschnitt generierten JSON-Schlüsseldatei als einzelnes JSON-Objekt ein, das mit { beginnt und mit } endet. Dazu gehören die Felder type, project_id, private_key_id, private_key, client_email und client_id.

  7. Sehen Sie sich die Versandoptionen an: Die Push-Häufigkeit beträgt 240 Sekunden.

  8. Klicken Sie auf Speichern (oder Erstellen), um den Stream zu aktivieren. Netskope validiert die Anmeldedaten, indem ein Testobjekt mit dem Namen netskope-test-file.txt in den Bucket geschrieben wird.

Feed in Google SecOps konfigurieren, um Netskope WebTx-Logs aus Cloud Storage aufzunehmen

So erstellen Sie den Google SecOps-Feed und gewähren IAM-Berechtigungen:

Google SecOps-Dienstkonto abrufen

Google SecOps verwendet ein eindeutiges Dienstkonto, um Daten aus Ihrem Cloud Storage-Bucket zu lesen. Sie müssen diesem Dienstkonto Zugriff auf Ihren Bucket gewähren.

  1. Rufen Sie die Einstellungen > Datenverwaltung > Feeds auf. Wenn Sie eine reine SIEM-Plattform verwenden, rufen Sie die Einstellungen > Feeds auf.
  2. Klicken Sie auf Neuen Feed hinzufügen.
  3. Klicken Sie auf Einzelnen Feed konfigurieren.
  4. Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. Netskope WebTx Logs.
  5. Wählen Sie Google Cloud Storage V2 als Quelltyp aus.
  6. Wählen Sie Netskope Web Proxy als Logtyp aus.
  7. Klicken Sie auf Dienstkonto abrufen.
  8. Eine eindeutige E-Mail-Adresse für das Dienstkonto wird angezeigt, z. B.:

    chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com
    
  9. Kopieren Sie diese E-Mail-Adresse, um sie im nächsten Schritt zu verwenden.

  10. Klicken Sie auf Weiter.

  11. Geben Sie Werte für die folgenden Eingabeparameter an:

    • Storage-Bucket-URL: Geben Sie den Cloud Storage-Bucket-URI mit dem Präfixpfad ein:

      gs://netskope-webtx-logs/netskope/webtx/
      
      • Ersetzen Sie:
        • netskope-webtx-logs: Name Ihres Cloud Storage-Bucket.
        • netskope/webtx/: Das in Netskope Log Streaming konfigurierte Pfadpräfix (für das Stammverzeichnis leer lassen).
    • Option zum Löschen der Quelle: Wählen Sie die gewünschte Löschoption aus:

      • Dateien nie löschen: Dateien werden nie aus der Quelle gelöscht (empfohlen für Tests).
      • Übertragene Dateien und leere Verzeichnisse löschen: Dateien und leere Verzeichnisse werden nach einem erfolgreichen Abruf aus der Quelle gelöscht.
    • Maximales Dateialter: Dateien einschließen, die in den letzten Tagen geändert wurden (Standardwert: 180 Tage)

    • Asset-Namespace: Der Asset-Namespace

    • Labels für Datenaufnahme: Das Label, das auf die Ereignisse aus diesem Feed angewendet werden soll.

  12. Klicken Sie auf Weiter.

  13. Prüfen Sie die neue Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.

Dem Google SecOps-Dienstkonto IAM-Berechtigungen gewähren

Das Google SecOps-Dienstkonto benötigt zwei Rollen für Ihren Cloud Storage-Bucket: Storage-Objekt-Betrachter zum Lesen der Logobjekte und eine Rolle auf Bucket-Ebene zum Lesen der Bucket-Metadaten.

  1. Rufen Sie Cloud Storage > Buckets auf.
  2. Klicken Sie auf den Namen Ihres Buckets (z. B. netskope-webtx-logs).
  3. Wechseln Sie zum Tab Berechtigungen.
  4. Klicken Sie auf Zugriff erlauben.
  5. Geben Sie die folgenden Konfigurationsdetails an:
    • Hauptkonten hinzufügen: Fügen Sie die E-Mail-Adresse des Google SecOps-Dienstkontos ein (z. B. chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com).
    • Rollen zuweisen: Wählen Sie die beiden folgenden Rollen aus:
      • Storage-Objekt-Betrachter: Liest die Logobjekte.
      • Storage Legacy Bucket Reader: Liest die Bucket-Metadaten. Wenn Sie die Löschoption Übertragene Dateien und leere Verzeichnisse löschen ausgewählt haben, wählen Sie stattdessen Storage Legacy Bucket Writer aus. Dadurch wird auch die Löschberechtigung gewährt.
  6. Klicken Sie auf Speichern.

Option 2: Netskope Cloud Exchange Log Shipper für Cloud Storage verwenden

Verwenden Sie diese Option, wenn Sie die Netskope Cloud Exchange-Plattform mit dem konfigurierten Log Shipper-Modul bereitgestellt haben. Der Log Shipper ruft WebTx-Logs von Ihrem Netskope-Mandanten ab und überträgt sie als komprimierte .gzip-Dateien in einen Cloud Storage-Bucket, den Google SecOps dann über einen Cloud Storage V2-Feed liest.

Hinweise (Cloud Exchange)

Für diese Option müssen die folgenden zusätzlichen Voraussetzungen erfüllt sein:

Cloud Storage-Ziel-Plug-in konfigurieren

  1. Gehen Sie in Cloud Exchange zu Einstellungen > Plugin Store.
  2. Suchen Sie nach dem Plug-in Google Cloud SCC (Google GCS) und wählen Sie es aus.
  3. Klicken Sie auf Neues Plug-in konfigurieren (oder fügen Sie eine neue Plug-in-Konfiguration hinzu).
  4. Geben Sie die folgenden Konfigurationsdetails an:
    • Konfigurationsname: Geben Sie einen aussagekräftigen Namen ein, z. B. GCS WebTx Destination.
    • Zuordnung: Wählen Sie eine Zuordnungsdatei aus. Für WebTx-Protokolle, die als ursprüngliche .gzip-Dateien übertragen werden, wird keine Zuordnungstransformation angewendet.
    • Bucket: Geben Sie den Namen des Cloud Storage-Bucket ein (z. B. netskope-webtx-logs).
    • Pfad (optional): Geben Sie einen Ordnerpfad ein (z. B. netskope/webtx/).
    • Schlüsseldatei: Fügen Sie den gesamten Inhalt der JSON-Schlüsseldatei des Dienstkontos ein, nicht nur den Wert private_key.
  5. Klicken Sie auf Speichern.
  6. Die neue Plug-in-Konfiguration wird auf der Seite Log Shipper > Plug-ins angezeigt.

Geschäftsregel konfigurieren (optional)

Standardmäßig werden mit der Geschäftsregel Alle alle Benachrichtigungen und Ereignisse gefiltert. Wenn Sie WebTx-Protokolle gezielt filtern möchten, erstellen Sie eine neue Geschäftsregel:

  1. Gehen Sie in Log Shipper zu Geschäftsregeln.
  2. Klicken Sie auf Neue Regel erstellen.
  3. Geben Sie einen Regelnamen ein, z. B. WebTx Only.
  4. Konfigurieren Sie Ihre Filter so, dass nur WebTx-Daten berücksichtigt werden.
  5. Klicken Sie auf Speichern.

Logübermittlung konfigurieren

  1. Gehen Sie in Log Shipper zu Log Delivery.
  2. Klicken Sie auf Add Log Delivery Configuration (Konfiguration für die Logbereitstellung hinzufügen).
  3. Geben Sie die folgenden Konfigurationsdetails an:
    • Source Configuration (Quellkonfiguration): Wählen Sie das Netskope CLS-Quell-Plug-in aus (z. B. WebTxCLS oder Netskope CLS).
    • Zielkonfiguration: Wählen Sie das von Ihnen konfigurierte Cloud Storage-Ziel-Plug-in aus (z. B. GCS WebTx Destination).
    • Geschäftsregel: Wählen Sie eine Geschäftsregel aus (z. B. All oder WebTx Only).
  4. Klicken Sie auf Speichern.

  5. Wenn Sie zusätzliche Verlaufsdaten abrufen möchten, klicken Sie unter den Log Delivery-Aktionen auf das Symbol Pull Historical Data.

  6. Wählen Sie einen Zeitraum für Bisherige Daten von und Bis aus und klicken Sie auf Abrufen.

Feed in Google SecOps konfigurieren, um Netskope WebTx-Logs aus Cloud Storage aufzunehmen

Führen Sie die gleichen Schritte wie bei der Netskope-Log-Streaming-Option aus, um einen Google SecOps-Feed zu erstellen und IAM-Berechtigungen zu gewähren:

  1. Google SecOps-Dienstkonto abrufen: Erstellen Sie einen Feed mit Google Cloud Storage V2 als Quelltyp und Netskope-Webproxy als Logtyp.
  2. IAM-Berechtigungen für das Google SecOps-Dienstkonto gewähren: Gewähren Sie dem Google SecOps-Dienstkonto die Rollen Storage-Objekt-Betrachter und Storage-Legacy-Bucket-Leser (verwenden Sie Storage-Legacy-Bucket-Writer, wenn Sie die Löschoption verwenden) für den Cloud Storage-Bucket.

Logzustellung bestätigen

So prüfen Sie, ob WebTx-Logs an den Cloud Storage-Bucket gesendet werden:

  1. Rufen Sie in Cloud Exchange die Option Log Shipper > Log Delivery auf.
  2. Prüfen Sie die Spalten Total Logs/WebTx Sent to External Receiver und Total WebTx Sent to Storage Bucket, um zu bestätigen, dass Daten an das Ziel übertragen werden.
  3. Prüfen Sie im GCS-Bucket, ob .gzip-Dateien vom Log Shipper geschrieben werden.

Globale Einstellungen für Log Shipper konfigurieren (optional)

Nur Administratoren können die globalen Einstellungen für Log Shipper ändern. Rufen Sie Einstellungen > Log Shipper auf. Es gibt zwei Tabs: „Allgemein“ und „Zuordnungen“.

Auf dem Tab Allgemein können Sie die Wiederholungsstrategie für die Protokollbereitstellung konfigurieren:

  • Standard (3 Wiederholungsversuche): Wenn die Log-Zustellung fehlschlägt, unternimmt Log Shipper 3 Versuche, die Logs an das Ziel zu senden. Wenn alle drei Wiederholungsversuche fehlschlagen, wird der entsprechende Batch von Logs verworfen.
  • Wiederholen bis zur erfolgreichen Übermittlung: Unbegrenzte Wiederholungen, bis die Logs erfolgreich übermittelt wurden.

Sie können auch die UTF-8-Codierung für Benachrichtigungen, Ereignisse und WebTx aktivieren, um eine nahtlose Verarbeitung von UTF-8-codierten Daten zu ermöglichen. Diese Funktion ist standardmäßig deaktiviert.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
applicationType security_result.detection_fields[].key: "applicationType", security_result.detection_fields[].value: applicationType Direkt aus dem entsprechenden CEF-Feld zugeordnet
appcategory security_result.category_details[]: appcategory Direkt aus dem entsprechenden CEF-Feld zugeordnet
browser security_result.detection_fields[].key: "browser", security_result.detection_fields[].value: browser Direkt aus dem entsprechenden CEF-Feld zugeordnet
c-ip principal.asset.ip[]: c-ip, principal.ip[]: c-ip Direkt aus dem entsprechenden JSON-Feld zugeordnet
cci security_result.detection_fields[].key: "cci", security_result.detection_fields[].value: cci Direkt aus dem entsprechenden CEF-Feld zugeordnet
ccl security_result.confidence: Abgeleiteter Wert, security_result.confidence_details: ccl security_result.confidence wird anhand des Werts von ccl abgeleitet: „excellent“ oder „high“ wird HIGH_CONFIDENCE zugeordnet, „medium“ wird MEDIUM_CONFIDENCE zugeordnet, „low“ oder „poor“ wird LOW_CONFIDENCE zugeordnet und „unknown“ oder „not_defined“ wird UNKNOWN_CONFIDENCE zugeordnet. security_result.confidence_details wird direkt von ccl zugeordnet.
clientBytes network.sent_bytes: clientBytes Direkt aus dem entsprechenden CEF-Feld zugeordnet
cs-access-method additional.fields[].key: "accessMethod", additional.fields[].value.string_value: cs-access-method Direkt aus dem entsprechenden JSON-Feld zugeordnet
cs-app additional.fields[].key: "x-cs-app", additional.fields[].value.string_value: cs-app, principal.application: cs-app Direkt aus dem entsprechenden JSON-Feld zugeordnet
cs-app-activity additional.fields[].key: "x-cs-app-activity", additional.fields[].value.string_value: cs-app-activity Direkt aus dem entsprechenden JSON-Feld zugeordnet
cs-app-category additional.fields[].key: "x-cs-app-category", additional.fields[].value.string_value: cs-app-category Direkt aus dem entsprechenden JSON-Feld zugeordnet
cs-app-cci additional.fields[].key: "x-cs-app-cci", additional.fields[].value.string_value: cs-app-cci Direkt aus dem entsprechenden JSON-Feld zugeordnet
cs-app-ccl additional.fields[].key: "x-cs-app-ccl", additional.fields[].value.string_value: cs-app-ccl Direkt aus dem entsprechenden JSON-Feld zugeordnet
cs-app-from-user additional.fields[].key: "x-cs-app-from-user", additional.fields[].value.string_value: cs-app-from-user, principal.user.email_addresses[]: cs-app-from-user Direkt aus dem entsprechenden JSON-Feld zugeordnet
cs-app-instance-id additional.fields[].key: "x-cs-app-instance-id", additional.fields[].value.string_value: cs-app-instance-id Direkt aus dem entsprechenden JSON-Feld zugeordnet
cs-app-object-name additional.fields[].key: "x-cs-app-object-name", additional.fields[].value.string_value: cs-app-object-name Direkt aus dem entsprechenden JSON-Feld zugeordnet
cs-app-object-type additional.fields[].key: "x-cs-app-object-type", additional.fields[].value.string_value: cs-app-object-type Direkt aus dem entsprechenden JSON-Feld zugeordnet
cs-app-suite additional.fields[].key: "x-cs-app-suite", additional.fields[].value.string_value: cs-app-suite Direkt aus dem entsprechenden JSON-Feld zugeordnet
cs-app-tags additional.fields[].key: "x-cs-app-tags", additional.fields[].value.string_value: cs-app-tags Direkt aus dem entsprechenden JSON-Feld zugeordnet
cs-bytes network.sent_bytes: cs-bytes Direkt aus dem entsprechenden JSON-Feld zugeordnet
cs-content-type additional.fields[].key: "sc-content-type", additional.fields[].value.string_value: cs-content-type Direkt aus dem entsprechenden JSON-Feld zugeordnet
cs-dns target.asset.hostname[]: cs-dns, target.hostname: cs-dns Direkt aus dem entsprechenden JSON-Feld zugeordnet
cs-host target.asset.hostname[]: cs-host, target.hostname: cs-host Direkt aus dem entsprechenden JSON-Feld zugeordnet
cs-method network.http.method: cs-method Direkt aus dem entsprechenden JSON-Feld zugeordnet
cs-referer network.http.referral_url: cs-referer Direkt aus dem entsprechenden JSON-Feld zugeordnet
cs-uri additional.fields[].key: "cs-uri", additional.fields[].value.string_value: cs-uri Direkt aus dem entsprechenden JSON-Feld zugeordnet
cs-uri-path additional.fields[].key: "x-cs-uri-path", additional.fields[].value.string_value: cs-uri-path Direkt aus dem entsprechenden JSON-Feld zugeordnet
cs-uri-port additional.fields[].key: "cs-uri-port", additional.fields[].value.string_value: cs-uri-port Direkt aus dem entsprechenden JSON-Feld zugeordnet
cs-uri-scheme network.application_protocol: cs-uri-scheme Wird nach der Umwandlung in Großbuchstaben direkt aus dem entsprechenden JSON-Feld zugeordnet
cs-user-agent network.http.parsed_user_agent: Parsed user agent, network.http.user_agent: cs-user-agent network.http.parsed_user_agent wird durch Parsen des Felds cs-user-agent mit dem Filter „parseduseragent“ abgeleitet.
cs-username principal.user.userid: cs-username Direkt aus dem entsprechenden JSON-Feld zugeordnet
date metadata.event_timestamp.seconds: Epochensekunden aus Datums- und Uhrzeitfeldern, metadata.event_timestamp.nanos: 0 Datum und Uhrzeit werden kombiniert und in Epochensekunden und Nanosekunden umgewandelt. Nanosekunden werden auf 0 gesetzt.
Gerät intermediary.hostname: device Direkt aus dem entsprechenden CEF-Feld zugeordnet
dst target.ip[]: dst Direkt aus dem entsprechenden CEF-Feld zugeordnet
dst_country target.location.country_or_region: dst_country Direkt aus dem entsprechenden Grok-Feld zugeordnet
dst_ip target.asset.ip[]: dst_ip, target.ip[]: dst_ip Direkt aus dem entsprechenden Grok-Feld zugeordnet
dst_location target.location.city: dst_location Direkt aus dem entsprechenden Grok-Feld zugeordnet
dst_region target.location.state: dst_region Direkt aus dem entsprechenden Grok-Feld zugeordnet
dst_zip Nicht zugeordnet Dieses Feld ist nicht dem UDM zugeordnet
duser target.user.email_addresses[]: duser, target.user.user_display_name: duser Direkt aus dem entsprechenden CEF-Feld zugeordnet
dvchost about.hostname: dvchost, target.asset.hostname[]: dvchost, target.hostname: dvchost Direkt aus dem entsprechenden CEF-Feld zugeordnet
event_timestamp metadata.event_timestamp.seconds: event_timestamp Direkt aus dem entsprechenden Grok-Feld zugeordnet
Hostname target.asset.hostname[]: hostname, target.hostname: hostname Direkt aus dem entsprechenden CEF-Feld zugeordnet
Vorfall-ID security_result.detection_fields[].key: "IncidentID", security_result.detection_fields[].value: IncidentID Direkt aus dem entsprechenden CEF-Feld zugeordnet
intermediary intermediary: intermediary Direkt aus dem entsprechenden CEF-Feld zugeordnet
md5 target.file.md5: md5 Direkt aus dem entsprechenden CEF-Feld zugeordnet
Nachricht Verschiedene UDM-Felder Das Nachrichtenfeld wird danach geparst, ob es „CEF“ enthält. Wenn ja, wird es als CEF-Log behandelt. Andernfalls wird er entweder als durch Leerzeichen getrennter String oder als JSON geparst.
mwDetectionEngine additional.fields[].key: "mwDetectionEngine", additional.fields[].value.string_value: mwDetectionEngine Direkt aus dem entsprechenden CEF-Feld zugeordnet
mwType metadata.description: mwType Direkt aus dem entsprechenden CEF-Feld zugeordnet
os principal.platform: Abgeleiteter Wert Die Plattform wird aus dem Feld „os“ abgeleitet: „Windows“ wird WINDOWS zugeordnet, „MAC“ wird MAC zugeordnet und „LINUX“ wird LINUX zugeordnet.
Seite network.http.referral_url: page Direkt aus dem entsprechenden CEF-Feld zugeordnet
Referrer network.http.referral_url: referer Direkt aus dem entsprechenden CEF-Feld zugeordnet
requestClientApplication network.http.parsed_user_agent: Parsed user agent, network.http.user_agent: requestClientApplication network.http.parsed_user_agent wird durch Parsen des Felds requestClientApplication mit dem Filter „parseduseragent“ abgeleitet.
request_method network.http.method: request_method Direkt aus dem entsprechenden Grok-Feld zugeordnet
rs-status additional.fields[].key: "rs-status", additional.fields[].value.string_value: rs-status, network.http.response_code: rs-status Direkt aus dem entsprechenden JSON-Feld zugeordnet
s-ip target.asset.ip[]: s-ip, target.ip[]: s-ip Direkt aus dem entsprechenden JSON-Feld zugeordnet
sc-bytes network.received_bytes: sc-bytes Direkt aus dem entsprechenden JSON-Feld zugeordnet
sc-content-type additional.fields[].key: "sc-content-type", additional.fields[].value.string_value: sc-content-type Direkt aus dem entsprechenden JSON-Feld zugeordnet
sc-status network.http.response_code: sc-status Direkt aus dem entsprechenden JSON-Feld zugeordnet
serverBytes network.received_bytes: serverBytes Direkt aus dem entsprechenden CEF-Feld zugeordnet
sha256 target.file.sha256: sha256 Direkt aus dem entsprechenden CEF-Feld zugeordnet
src principal.ip[]: src Direkt aus dem entsprechenden CEF-Feld zugeordnet
src_country principal.location.country_or_region: src_country Direkt aus dem entsprechenden Grok-Feld zugeordnet
src_ip principal.asset.ip[]: src_ip, principal.ip[]: src_ip Direkt aus dem entsprechenden Grok-Feld zugeordnet
src_location principal.location.city: src_location Direkt aus dem entsprechenden Grok-Feld zugeordnet
src_region principal.location.state: src_region Direkt aus dem entsprechenden Grok-Feld zugeordnet
src_latitude Nicht zugeordnet Dieses Feld ist nicht dem UDM zugeordnet
src_longitude Nicht zugeordnet Dieses Feld ist nicht dem UDM zugeordnet
src_zip Nicht zugeordnet Dieses Feld ist nicht dem UDM zugeordnet
suser principal.user.user_display_name: suser Direkt aus dem entsprechenden CEF-Feld zugeordnet
target_host target.asset.hostname[]: target_host, target.hostname: target_host Direkt aus dem entsprechenden Grok-Feld zugeordnet
Zeit metadata.event_timestamp.seconds: Epochensekunden aus Datums- und Uhrzeitfeldern, metadata.event_timestamp.nanos: 0 Datum und Uhrzeit werden kombiniert und in Epochensekunden und Nanosekunden umgewandelt. Nanosekunden werden auf 0 gesetzt.
timestamp metadata.event_timestamp.seconds: timestamp Direkt aus dem entsprechenden CEF-Feld zugeordnet
ts metadata.event_timestamp.seconds: Epochensekunden von ts, metadata.event_timestamp.nanos: 0 Der Zeitstempel wird in Epoch-Sekunden und -Nanosekunden umgewandelt. Nanosekunden werden auf 0 gesetzt.
URL target.url: url Direkt aus dem entsprechenden CEF-Feld zugeordnet
user_agent network.http.parsed_user_agent: Parsed user agent, network.http.user_agent: user_agent network.http.parsed_user_agent wird durch Parsen des Felds user_agent mit dem Filter „parseduseragent“ abgeleitet
user_key principal.user.email_addresses[]: user_key Direkt aus dem entsprechenden Grok-Feld zugeordnet
Version Nicht zugeordnet Dieses Feld ist nicht dem UDM zugeordnet
x-c-browser additional.fields[].key: "x-c-browser", additional.fields[].value.string_value: x-c-browser Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-c-browser-version additional.fields[].key: "x-c-browser-version", additional.fields[].value.string_value: x-c-browser-version Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-c-country principal.location.country_or_region: x-c-country Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-c-device additional.fields[].key: "x-c-device", additional.fields[].value.string_value: x-c-device Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-c-latitude principal.location.region_coordinates.latitude: x-c-latitude Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-c-local-time security_result.detection_fields[].key: "x-c-local-time", security_result.detection_fields[].value: x-c-local-time Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-c-location principal.location.name: x-c-location Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-c-longitude principal.location.region_coordinates.longitude: x-c-longitude Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-c-os principal.platform: Abgeleiteter Wert Die Plattform wird aus dem Feld „x-c-os“ abgeleitet: „Windows“ wird WINDOWS zugeordnet, „MAC“ wird MAC zugeordnet und „LINUX“ wird LINUX zugeordnet.
x-c-region principal.location.state: x-c-region Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-c-zipcode additional.fields[].key: "x-c-zipcode", additional.fields[].value.string_value: x-c-zipcode Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-category additional.fields[].key: "x-category", additional.fields[].value.string_value: x-category Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-category-id additional.fields[].key: "x-category-id", additional.fields[].value.string_value: x-category-id Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-access-method additional.fields[].key: "accessMethod", additional.fields[].value.string_value: x-cs-access-method Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-app principal.application: x-cs-app, additional.fields[].key: "x-cs-app", additional.fields[].value.string_value: x-cs-app Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-app-activity additional.fields[].key: "x-cs-app-activity", additional.fields[].value.string_value: x-cs-app-activity Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-app-category additional.fields[].key: "x-cs-app-category", additional.fields[].value.string_value: x-cs-app-category Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-app-cci additional.fields[].key: "x-cs-app-cci", additional.fields[].value.string_value: x-cs-app-cci Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-app-from-user additional.fields[].key: "x-cs-app-from-user", additional.fields[].value.string_value: x-cs-app-from-user Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-app-object-id additional.fields[].key: "x-cs-app-object-id", additional.fields[].value.string_value: x-cs-app-object-id Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-app-object-name additional.fields[].key: "x-cs-app-object-name", additional.fields[].value.string_value: x-cs-app-object-name Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-app-object-type additional.fields[].key: "x-cs-app-object-type", additional.fields[].value.string_value: x-cs-app-object-type Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-app-suite additional.fields[].key: "x-cs-app-suite", additional.fields[].value.string_value: x-cs-app-suite Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-app-tags additional.fields[].key: "x-cs-app-tags", additional.fields[].value.string_value: x-cs-app-tags Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-app-to-user additional.fields[].key: "x-cs-app-to-user", additional.fields[].value.string_value: x-cs-app-to-user Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-dst-ip security_result.detection_fields[].key: "x-cs-dst-ip", security_result.detection_fields[].value: x-cs-dst-ip, target.asset.ip[]: x-cs-dst-ip, target.ip[]: x-cs-dst-ip Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-dst-port security_result.detection_fields[].key: "x-cs-dst-port", security_result.detection_fields[].value: x-cs-dst-port, target.port: x-cs-dst-port Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-http-version security_result.detection_fields[].key: "x-cs-http-version", security_result.detection_fields[].value: x-cs-http-version Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-page-id additional.fields[].key: "x-cs-page-id", additional.fields[].value.string_value: x-cs-page-id Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-session-id network.session_id: x-cs-session-id Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-site additional.fields[].key: "x-cs-site", additional.fields[].value.string_value: x-cs-site Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-sni network.tls.client.server_name: x-cs-sni Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-src-ip principal.asset.ip[]: x-cs-src-ip, principal.ip[]: x-cs-src-ip, security_result.detection_fields[].key: "x-cs-src-ip", security_result.detection_fields[].value: x-cs-src-ip Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-src-ip-egress principal.asset.ip[]: x-cs-src-ip-egress, principal.ip[]: x-cs-src-ip-egress, security_result.detection_fields[].key: "x-cs-src-ip-egress", security_result.detection_fields[].value: x-cs-src-ip-egress Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-src-port principal.port: x-cs-src-port, security_result.detection_fields[].key: "x-cs-src-port", security_result.detection_fields[].value: x-cs-src-port Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-ssl-cipher network.tls.cipher: x-cs-ssl-cipher Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-ssl-fronting-error security_result.detection_fields[].key: "x-cs-ssl-fronting-error", security_result.detection_fields[].value: x-cs-ssl-fronting-error Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-ssl-handshake-error security_result.detection_fields[].key: "x-cs-ssl-handshake-error", security_result.detection_fields[].value: x-cs-ssl-handshake-error Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-ssl-ja3 network.tls.client.ja3: x-cs-ssl-ja3 Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-ssl-version network.tls.version: x-cs-ssl-version Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-timestamp metadata.event_timestamp.seconds: x-cs-timestamp Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-traffic-type additional.fields[].key: "trafficType", additional.fields[].value.string_value: x-cs-traffic-type Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-tunnel-src-ip security_result.detection_fields[].key: "x-cs-tunnel-src-ip", security_result.detection_fields[].value: x-cs-tunnel-src-ip Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-uri-path additional.fields[].key: "x-cs-uri-path", additional.fields[].value.string_value: x-cs-uri-path Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-url target.url: x-cs-url Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-cs-userip security_result.detection_fields[].key: "x-cs-userip", security_result.detection_fields[].value: x-cs-userip Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-other-category security_result.category_details[]: x-other-category Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-other-category-id security_result.detection_fields[].key: "x-other-category-id", security_result.detection_fields[].value: x-other-category-id Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-policy-action security_result.action: Abgeleiteter Wert, security_result.action_details: x-policy-action security_result.action wird durch Umwandlung von x-policy-action in Großbuchstaben abgeleitet. Wenn der Wert in Großbuchstaben „ALLOW“ oder „BLOCK“ lautet, wird er direkt verwendet. Andernfalls wird es nicht zugeordnet. „security_result.action_details“ wird direkt aus „x-policy-action“ zugeordnet.
x-policy-dst-host security_result.detection_fields[].key: "x-policy-dst-host", security_result.detection_fields[].value: x-policy-dst-host Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-policy-dst-host-source security_result.detection_fields[].key: "x-policy-dst-host-source", security_result.detection_fields[].value: x-policy-dst-host-source Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-policy-dst-ip security_result.detection_fields[].key: "x-policy-dst-ip", security_result.detection_fields[].value: x-policy-dst-ip Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-policy-name security_result.rule_name: x-policy-name Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-policy-src-ip security_result.detection_fields[].key: "x-policy-src-ip", security_result.detection_fields[].value: x-policy-src-ip Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-r-cert-enddate network.tls.server.certificate.not_after.seconds: Epochensekunden von x-r-cert-enddate Das Datum wird in Epoch-Sekunden umgewandelt.
x-r-cert-expired additional.fields[].key: "x-r-cert-expired", additional.fields[].value.string_value: x-r-cert-expired Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-r-cert-incomplete-chain additional.fields[].key: "x-r-cert-incomplete-chain", additional.fields[].value.string_value: x-r-cert-incomplete-chain Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-r-cert-issuer-cn network.tls.server.certificate.issuer: x-r-cert-issuer-cn Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-r-cert-mismatch additional.fields[].key: "x-r-cert-mismatch", additional.fields[].value.string_value: x-r-cert-mismatch Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-r-cert-revoked additional.fields[].key: "x-r-cert-revoked", additional.fields[].value.string_value: x-r-cert-revoked Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-r-cert-self-signed additional.fields[].key: "x-r-cert-self-signed", additional.fields[].value.string_value: x-r-cert-self-signed Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-r-cert-startdate network.tls.server.certificate.not_before.seconds: Epochensekunden ab x-r-cert-startdate Das Datum wird in Epoch-Sekunden umgewandelt.
x-r-cert-subject-cn network.tls.server.certificate.subject: x-r-cert-subject-cn Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-r-cert-untrusted-root additional.fields[].key: "x-r-cert-untrusted-root", additional.fields[].value.string_value: x-r-cert-untrusted-root Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-r-cert-valid additional.fields[].key: "x-r-cert-valid", additional.fields[].value.string_value: x-r-cert-valid Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-request-id additional.fields[].key: "requestId", additional.fields[].value.string_value: x-request-id Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-rs-file-category additional.fields[].key: "x-rs-file-category", additional.fields[].value.string_value: x-rs-file-category Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-rs-file-type additional.fields[].key: "x-rs-file-type", additional.fields[].value.string_value: x-rs-file-type Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-s-country target.location.country_or_region: x-s-country Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-s-dp-name additional.fields[].key: "x-s-dp-name", additional.fields[].value.string_value: x-s-dp-name Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-s-latitude target.location.region_coordinates.latitude: x-s-latitude Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-s-location target.location.name: x-s-location Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-s-longitude target.location.region_coordinates.longitude: x-s-longitude Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-s-region target.location.state: x-s-region Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-s-zipcode additional.fields[].key: "x-s-zipcode", additional.fields[].value.string_value: x-s-zipcode Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-sr-ssl-cipher security_result.detection_fields[].key: "x-sr-ssl-cipher", security_result.detection_fields[].value: x-sr-ssl-cipher Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-sr-ssl-client-certificate-error security_result.detection_fields[].key: "x-sr-ssl-client-certificate-error", security_result.detection_fields[].value: x-sr-ssl-client-certificate-error Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-sr-ssl-engine-action security_result.detection_fields[].key: "x-sr-ssl-engine-action", security_result.detection_fields[].value: x-sr-ssl-engine-action Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-sr-ssl-engine-action-reason security_result.detection_fields[].key: "x-sr-ssl-engine-action-reason", security_result.detection_fields[].value: x-sr-ssl-engine-action-reason Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-sr-ssl-handshake-error security_result.detection_fields[].key: "x-sr-ssl-handshake-error", security_result.detection_fields[].value: x-sr-ssl-handshake-error Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-sr-ssl-ja3s network.tls.server.ja3s: x-sr-ssl-ja3s Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-sr-ssl-malformed-ssl security_result.detection_fields[].key: "x-sr-ssl-malformed-ssl", security_result.detection_fields[].value: x-sr-ssl-malformed-ssl Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-sr-ssl-version security_result.detection_fields[].key: "x-sr-ssl-version", security_result.detection_fields[].value: x-sr-ssl-version Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-s-custom-signing-ca-error security_result.detection_fields[].key: "x-s-custom-signing-ca-error", security_result.detection_fields[].value: x-s-custom-signing-ca-error Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-ssl-bypass security_result.detection_fields[].key: "SSL BYPASS", security_result.detection_fields[].value: x-ssl-bypass or x-ssl-bypass-reason Wenn „x-ssl-bypass“ den Wert „Yes“ hat und „x-ssl-bypass-reason“ vorhanden ist, wird der Wert von „x-ssl-bypass-reason“ verwendet. Andernfalls wird der Wert von x-ssl-bypass verwendet.
x-ssl-policy-action security_result.detection_fields[].key: "x-ssl-policy-action", security_result.detection_fields[].value: x-ssl-policy-action Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-ssl-policy-categories security_result.category_details[]: x-ssl-policy-categories Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-ssl-policy-dst-host security_result.detection_fields[].key: "x-ssl-policy-dst-host", security_result.detection_fields[].value: x-ssl-policy-dst-host Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-ssl-policy-dst-host-source security_result.detection_fields[].key: "x-ssl-policy-dst-host-source", security_result.detection_fields[].value: x-ssl-policy-dst-host-source Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-ssl-policy-dst-ip security_result.detection_fields[].key: "x-ssl-policy-dst-ip", security_result.detection_fields[].value: x-ssl-policy-dst-ip Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-ssl-policy-name security_result.rule_name: x-ssl-policy-name Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-ssl-policy-src-ip security_result.detection_fields[].key: "x-ssl-policy-src-ip", security_result.detection_fields[].value: x-ssl-policy-src-ip Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-sr-dst-ip security_result.detection_fields[].key: "x-sr-dst-ip", security_result.detection_fields[].value: x-sr-dst-ip Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-sr-dst-port security_result.detection_fields[].key: "x-sr-dst-port", security_result.detection_fields[].value: x-sr-dst-port Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-type additional.fields[].key: "xType", additional.fields[].value.string_value: x-type Direkt aus dem entsprechenden JSON-Feld zugeordnet
x-transaction-id additional.fields[].key: "transactionId", additional.fields[].value.string_value: x-transaction-id Direkt aus dem entsprechenden JSON-Feld zugeordnet
metadata.vendor_name Legen Sie „Netskope“ fest.
metadata.product_name Legen Sie „Netskope Webproxy“ fest, falls noch nicht vorhanden.
metadata.log_type Legen Sie diesen Wert auf „NETSKOPE_WEBPROXY“ fest.

Änderungsprotokoll

Änderungsprotokoll für diesen Parser ansehen

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten