Zscaler Internetzugriff-Protokolle erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Zscaler Internetzugriff-Logs exportieren, indem Sie einen Google Security Operations-Feed einrichten, und wie Logfelder den UDM-Feldern (Unified Data Model) von Google SecOps zugeordnet werden.

Weitere Informationen finden Sie unter Datenaufnahme in Google SecOps – Übersicht.

Eine typische Bereitstellung besteht aus Zscaler Internetzugriff und dem Google SecOps-Webhook-Feed, der so konfiguriert ist, dass Protokolle an Google SecOps gesendet werden. Die Bereitstellung kann sich von Kunde zu Kunde unterscheiden und komplexer sein.

Die Bereitstellung umfasst die folgenden Komponenten:

  • Zscaler Internetzugriff: Die Plattform, von der Sie Logs erfassen.

  • Google SecOps-Feed: Der Google SecOps-Feed, der Protokolle aus Zscaler Internetzugriff abruft und in Google SecOps schreibt.

  • Google SecOps: Speichert und analysiert die Logs.

Ein Aufnahme-Label identifiziert den Parser, der Logrohdaten in das strukturierte UDM-Format normalisiert. Die Informationen in diesem Dokument gelten für den Parser mit dem Aufnahmelabel ZSCALER_INTERNET_ACCESS.

Hinweis

Folgende Voraussetzungen müssen erfüllt sein:

  • Zugriff auf die Zscaler Internet Access-Konsole. Weitere Informationen finden Sie in der Hilfe zu Secure Internet and SaaS Access (ZIA).
  • Zscaler Internetzugriff 2024 oder höher
  • Alle Systeme in der Bereitstellungsarchitektur sind mit der UTC-Zeitzone konfiguriert.
  • Der API-Schlüssel, der zum Einrichten des Feeds in Google Security Operations erforderlich ist. Weitere Informationen finden Sie unter API-Schlüssel einrichten.

Feeds einrichten

So konfigurieren Sie diesen Logtyp:

  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 das Feedpaket Zscaler.
  4. Suchen Sie den gewünschten Logtyp und klicken Sie auf Neuen Feed hinzufügen.
  5. Geben Sie Werte für die folgenden Eingabeparameter ein:

    • Quelltyp: Webhook (empfohlen)
    • Trennzeichen: Das Zeichen, das zum Trennen von Logzeilen verwendet wird. Lassen Sie das Feld leer, wenn kein Trennzeichen verwendet wird.

    Erweiterte Optionen

    • Feedname: Ein vorausgefüllter Wert, der den Feed identifiziert.
    • Asset-Namespace: Mit dem Feed verknüpfter Namespace.
    • Aufnahme-Labels: Labels, die auf alle Ereignisse aus diesem Feed angewendet werden.
  6. Klicken Sie auf Feed erstellen.

Weitere Informationen zum Konfigurieren mehrerer Feeds für verschiedene Logtypen innerhalb dieser Produktfamilie finden Sie unter Feeds nach Produkt konfigurieren.

Zscaler Internetzugriff einrichten

  1. Klicken Sie in der Zscaler Internet Access-Konsole auf Administration > Nanolog Streaming Service > Cloud NSS Feeds und dann auf Add Cloud NSS Feed.
  2. Das Fenster Cloud NSS-Feed hinzufügen wird angezeigt. Geben Sie im Fenster Cloud-NSS-Feed hinzufügen die Details ein.
  3. Geben Sie im Feld Feedname einen Namen für den Feed ein.
  4. Wählen Sie unter NSS-Typ die Option NSS für das Web aus.
  5. Wählen Sie in der Liste Status den Status aus, um den NSS-Feed zu aktivieren oder zu deaktivieren.
  6. Behalten Sie im Drop-down-Menü SIEM-Rate den Wert Unbegrenzt bei. Wenn Sie den Ausgabestream aufgrund von Lizenzierungs- oder anderen Einschränkungen unterdrücken möchten, ändern Sie den Wert.
  7. Wählen Sie in der Liste SIEM-Typ die Option Sonstiges aus.
  8. Wählen Sie in der Liste OAuth 2.0-Authentifizierung die Option Deaktiviert aus.
  9. Geben Sie unter Maximale Batchgröße ein Größenlimit für die Nutzlast einer einzelnen HTTP-Anfrage ein, das den Best Practices des SIEM entspricht. Beispiel: 512 KB.
  10. Geben Sie die HTTPS-URL des Chronicle API-Endpunkt in die API-URL im folgenden Format ein:

      https://<CHRONICLE_REGION>-chronicle.googleapis.com/v1alpha/projects/<GOOGLE_PROJECT_NUMBER>/locations/<LOCATION>/instances/<CUSTOMER_ID>/feeds/<FEED_ID>:importPushLogs
    
    • CHRONICLE_REGION: Region, in der Ihre Chronicle-Instanz gehostet wird. Beispiel: US.
    • GOOGLE_PROJECT_NUMBER: Ihre Google Cloud -Projektnummer.
    • LOCATION: Chronicle-Region. Beispiel: US.
    • CUSTOMER_ID: Chronicle-Kundennummer.
    • FEED_ID: Feed-ID, die auf der Feed-Benutzeroberfläche für den neu erstellten Webhook angezeigt wird
    • Beispiel-API-URL:

      https://us-chronicle.googleapis.com/v1alpha/projects/12345678910/locations/US/instances/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/feeds/yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy:importPushLogs
      
  11. Klicken Sie auf HTTP-Header hinzufügen und fügen Sie dann HTTP-Header im folgenden Format hinzu:

    • Header 1: Schlüssel1: X-goog-api-key und Wert1: API-Schlüssel, der in den API-Anmeldedaten von Google Cloudgeneriert wurde.
    • Header 2: Key2: X-Webhook-Access-Key und Value2: API-Secret-Key, der im Webhook unter „SECRET KEY“ generiert wurde.
  12. Wählen Sie in der Liste Logtypen die Option Admin-Audit-Logs aus.

  13. Wählen Sie in der Liste Feed Output Type (Feedausgabetyp) die Option JSON aus.

  14. Deaktivieren Sie die JSON-Array-Notation.

  15. Legen Sie für Feed-Escape-Zeichen den Wert , \ " fest.

  16. Wenn Sie dem Feed-Ausgabeformat ein neues Feld hinzufügen möchten, wählen Sie in der Liste Feed-Ausgabetyp die Option Benutzerdefiniert aus.

  17. Kopieren Sie das Feed-Ausgabeformat und fügen Sie neue Felder hinzu. Die Schlüsselnamen müssen mit den tatsächlichen Feldnamen übereinstimmen.

  18. Im Folgenden sehen Sie das Standard-Feed-Ausgabeformat:

      \{ "sourcetype" : "zscalernss-audit", "event" :\{"time":"%s{time}","recordid":"%d{recordid}","action":"%s{action}","category":"%s{category}","subcategory":"%s{subcategory}","resource":"%s{resource}","interface":"%s{interface}","adminid":"%s{adminid}","clientip":"%s{clientip}","result":"%s{result}","errorcode":"%s{errorcode}","auditlogtype":"%s{auditlogtype}","preaction":%s{preaction},"postaction":%s{postaction}\}\}
    
  19. Wählen Sie in der Liste Zeitzone die Zeitzone für das Feld Zeit in der Ausgabedatei aus. Standardmäßig ist die Zeitzone auf die Zeitzone Ihrer Organisation eingestellt.

  20. Überprüfen Sie die konfigurierten Einstellungen.

  21. Klicken Sie auf Speichern, um die Verbindung zu testen. Wenn die Verbindung erfolgreich hergestellt wurde, wird ein grünes Häkchen mit der Meldung Test Connectivity Successful: OK (200) angezeigt.

Weitere Informationen zu Google SecOps-Feeds finden Sie in der Dokumentation zu Google Security Operations-Feeds. Informationen zu den Anforderungen für die einzelnen Feedtypen finden Sie unter Feedkonfiguration nach Typ.

Wenn beim Erstellen von Feeds Probleme auftreten, wenden Sie sich an den Google Security Operations-Support.

Unterstützte Zscaler Internet Access-Logformate

Der Zscaler Internet Access-Parser unterstützt Logs im JSON-Format.

Unterstützte Zscaler Internetzugriff-Beispielprotokolle

  • JSON

    {
      "sourcetype": "zscalernss-audit",
      "event": {
        "time": "Wed May 29 17:45:03 2024",
        "recordid": "6095",
        "action": "UPDATE",
        "category": "ACCESS_CONTROL_RESOURCE",
        "subcategory": "URL_CATEGORY",
        "resource": "Custom SSL Bypass",
        "interface": "UI",
        "adminid": "abc@xyz.com",
        "clientip": "198.51.100.1",
        "result": "SUCCESS",
        "errorcode": "None",
        "auditlogtype": "ZIA",
        "preaction": "{"id":{"val":130%2c"mask":255%2c"parent":"CUSTOM_SUPERCATEGORY"%2c"deprecated":false%2c"backendName":"custom_03"%2c"name":"CUSTOM_03"%2c"userConfiguredName":""}%2c"configuredName":"Custom%20SSL%20Bypass"%2c"superCategory":"USER_DEFINED"%2c"keywords":[]%2c"keywordsRetainingParentCategory":[]%2c"customUrlsToAdd":[]%2c"customUrlsToDelete":[]%2c"urlsRetainingParentCategoryToAdd":[]%2c"urlsRetainingParentCategoryToDelete":[]%2c"customIpRangesToAdd":[]%2c"customIpRangesToDelete":[]%2c"ipRangesRetainingParentCategoryToAdd":[]%2c"ipRangesRetainingParentCategoryToDelete":[]%2c"customCategory":true%2c"editable":true%2c"description":"https: //help.zscaler.com/zia/url-format-guidelines"%2c"type":"URL_CATEGORY"%2c"customUrlsCount":1%2c"urlsRetainingParentCategoryCount":60%2c"customIpRangesCount":0%2c"ipRangesRetainingParentCategoryCount":0%2c"urlsToAdd":[]%2c"urlsToDelete":[]%2c"dbCategorizedUrlsToAdd":[]%2c"dbCategorizedUrlsToDelete":[]}","postaction":"{"id":{"val":130%2c"mask":255%2c"parent":"CUSTOM_SUPERCATEGORY"%2c"deprecated":false%2c"backendName":"custom_03"%2c"name":"CUSTOM_03"%2c"userConfiguredName":""}%2c"configuredName":"Custom%20SSL%20Bypass"%2c"superCategory":"USER_DEFINED"%2c"customUrlsToAdd":[]%2c"customUrlsToDelete":[]%2c"urlsRetainingParentCategoryToAdd":["webcast.temoinproduction.com"]%2c"urlsRetainingParentCategoryToDelete":[]%2c"customIpRangesToAdd":[]%2c"customIpRangesToDelete":[]%2c"ipRangesRetainingParentCategoryToAdd":[]%2c"ipRangesRetainingParentCategoryToDelete":[]%2c"customCategory":true%2c"editable":true%2c"description":"https://help.zscaler.com/zia/url-format-guidelines"%2c"type":"URL_CATEGORY"%2c"customUrlsCount":1%2c"urlsRetainingParentCategoryCount":61%2c"customIpRangesCount":0%2c"ipRangesRetainingParentCategoryCount":0%2c"urlsToAdd":[]%2c"urlsToDelete":[]%2c"dbCategorizedUrlsToAdd":[]%2c"dbCategorizedUrlsToDelete":[]}"}
    }
    

Referenz zur Feldzuordnung

In der folgenden Tabelle sind die Logfelder des Logtyps ZSCALER_INTERNET_ACCESS und die entsprechenden UDM-Felder aufgeführt.

Log field UDM mapping Logic
metadata.event_type If the action log field value is equal to SIGN_IN, then the metadata.event_type UDM field is set to USER_LOGIN.

Else, if the action log field value is equal to SIGN_OUT, then the metadata.event_type UDM field is set to USER_LOGOUT.

Else, the metadata.event_type UDM field is set to STATUS_UPDATE.
extensions_token.auth.type If the action log field value contains one of the following values, then the extensions_token.auth.type UDM field is set to MACHINE.
  • SIGN_IN
  • SIGN_OUT
metadata.product_name The metadata.product_name UDM field is set to Admin Audit.
metadata.vendor_name The metadata.vendor_name UDM field is set to Zscaler.
sourcetype additional.fields[sourcetype]
time metadata.event_timestamp
recordid metadata.product_log_id
action security_result.action_details
category security_result.category_details
subcategory security_result.category_details
resource target.resource.name
interface principal.resource.attribute.labels[interface] If the action log field value contain one of the following values, then the interface log field is mapped to target.resource.attribute.labels[interface] UDM field.
  • SIGN_IN
  • SIGN_OUT
Otherwise, the interface log field is mapped to principal.resource.attribute.labels[interface] UDM field.
adminid principal.user.userid If the action log field value contains one of the following values, then the adminid log field is mapped to target.user.userid UDM field.
  • SIGN_IN
  • SIGN_OUT
Otherwise, the adminid log field is mapped to principal.user.userid UDM field.
clientip principal.ip
security_result.action If the event.result log field value is equal to SUCCESS, then the security_result.action UDM field is set to ALLOW.

Else, if the event.result log field value is equal to FAILURE, then the security_result.action UDM field is set to BLOCK.
errorcode security_result.summary
auditlogtype additional.fields[auditlogtype]
preaction security_result.detection_fields[preaction] Iterate through preaction object: The preaction object key is mapped to the security_result.detection_fields.key UDM field and preaction object value is mapped to the security_result.detection_fields.value UDM field.
postaction security_result.detection_fields[postaction] Iterate through postaction object: The postaction object key is mapped to the security_result.detection_fields.key UDM field and postaction object value is mapped to the security_result.detection_fields.value UDM field.
tz additional.fields[tz]
ss additional.fields[ss]
mm additional.fields[mm]
hh additional.fields[hh]
dd additional.fields[dd]
mth additional.fields[mth]
yyyy additional.fields[yyyy]
mon additional.fields[mon]
day additional.fields[day]
intlogtime additional.fields[intlogtime]

Änderungsprotokoll

Änderungsprotokoll für diesen Parser ansehen

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