Raccogliere i log DLP di Zscaler

Supportato in:

Questo documento spiega come esportare i log DLP di Zscaler configurando un feed Google Security Operations e come i campi dei log vengono mappati ai campi del modello unificato dei dati (UDM) di Google SecOps.

Per ulteriori informazioni, consulta la panoramica dell'importazione dei dati in Google SecOps.

Un deployment tipico è costituito da Zscaler DLP e dal feed webhook di Google SecOps configurato per inviare i log a Google SecOps. Ogni implementazione del cliente può variare ed essere più complessa.

Il deployment contiene i seguenti componenti:

  • Zscaler DLP: la piattaforma da cui raccogli i log.

  • Feed Google SecOps: il feed Google SecOps che recupera i log da Zscaler DLP e li scrive in Google SecOps.

  • Google Security Operations: conserva e analizza i log.

Un'etichetta di importazione identifica il parser che normalizza i dati di log non elaborati in formato UDM strutturato. Le informazioni contenute in questo documento si applicano al parser con l'etichetta ZSCALER_DLP.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Accesso alla console Zscaler Internet Access. Per saperne di più, consulta Secure Internet and SaaS Access ZIA Help.
  • Zscaler DLP 2024 o versioni successive
  • Tutti i sistemi nell'architettura di deployment sono configurati con il fuso orario UTC.
  • La chiave API necessaria per completare la configurazione del feed in Google Security Operations. Per ulteriori informazioni, vedi Configurazione delle chiavi API.

Configurare i feed

Esistono due diversi punti di accesso per configurare i feed nella piattaforma Google SecOps:

  • Impostazioni SIEM > Feed
  • Hub dei contenuti > Pacchetti di contenuti

Configurare i feed da Impostazioni SIEM > Feed

Per configurare più feed per diversi tipi di log all'interno di questa famiglia di prodotti, consulta Configurare i feed per prodotto.

Per configurare un singolo feed:

  1. Vai a Impostazioni SIEM > Feed.
  2. Fai clic su Aggiungi nuovo feed.
  3. Nella pagina successiva, fai clic su Configura un singolo feed.
  4. Nel campo Nome feed, inserisci un nome per il feed, ad esempio Log DLP Zscaler.
  5. Seleziona Webhook come tipo di origine.
  6. Seleziona Zscaler DLP come Tipo di log.
  7. Fai clic su Avanti.
  8. (Facoltativo) Specifica i valori per i seguenti parametri di input:
    1. Delimitatore di divisione: il delimitatore utilizzato per separare le righe dei log (lascia vuoto se non viene utilizzato un delimitatore).
    2. Spazio dei nomi dell'asset: lo spazio dei nomi dell'asset.
    3. Etichette di importazione: l'etichetta da applicare agli eventi di questo feed.
  9. Fai clic su Avanti.
  10. Controlla la nuova configurazione del feed nella schermata Finalizza e poi fai clic su Invia.
  11. Fai clic su Genera chiave segreta per generare una chiave segreta per autenticare questo feed.

Configurare i feed dall'hub dei contenuti

Specifica i valori per i seguenti campi:

  • Delimitatore di suddivisione: il delimitatore utilizzato per separare le righe di log, ad esempio \n.

Opzioni avanzate

  • Nome feed: un valore precompilato che identifica il feed.
  • Tipo di origine: metodo utilizzato per raccogliere i log in Google SecOps.
  • Spazio dei nomi dell'asset: lo spazio dei nomi dell'asset.
  • Etichette di importazione: l'etichetta applicata agli eventi di questo feed.
  • Fai clic su Avanti.
  • Controlla la configurazione del feed nella schermata Finalizza e poi fai clic su Invia.
  • Fai clic su Genera chiave segreta per generare una chiave segreta per autenticare questo feed.
  • Fai clic su Avanti.
  • Controlla la configurazione del feed nella schermata Finalizza e poi fai clic su Invia.

Configurare Zscaler DLP

  1. Nella console Zscaler Internet Access, vai ad Administration > Nanolog Streaming Service > Cloud NSS Feeds.
  2. Fai clic su Aggiungi feed NSS cloud.
  3. Inserisci un nome per il feed nel campo Nome feed.
  4. Seleziona NSS per il web in Tipo di NSS.
  5. Seleziona lo stato dall'elenco Stato per attivare o disattivare il feed NSS.
  6. Mantieni il valore Illimitato nel menu Frequenza SIEM. Per sopprimere il flusso di output a causa di licenze o altri vincoli, modifica il valore.
  7. Seleziona Altro nell'elenco Tipo SIEM.
  8. Seleziona Disattivato nell'elenco Autenticazione OAuth 2.0.
  9. Inserisci un limite di dimensione per il payload di una singola richiesta HTTP in base alla best practice della SIEM in Dimensione massima batch (ad esempio, 512 KB).
  10. Inserisci l'URL HTTPS dell'endpoint API Chronicle nell'URL API nel seguente formato:

    https://<CHRONICLE_REGION>-chronicle.googleapis.com/v1alpha/projects/<GOOGLE_PROJECT_NUMBER>/locations/<LOCATION>/instances/<CUSTOMER_ID>/feeds/<FEED_ID>:importPushLogs
    
    • CHRONICLE_REGION: la regione in cui è ospitata l'istanza Google SecOps (ad esempio US).
    • GOOGLE_PROJECT_NUMBER: Numero di progetto BYOP (ottienilo da C4).
    • LOCATION: la regione Google SecOps (ad esempio US).
    • CUSTOMER_ID: ID cliente Google SecOps (ottienilo da C4).
    • FEED_ID: l'ID feed mostrato nell'interfaccia utente del feed nel nuovo webhook creato.

    URL API di esempio:

    https://us-chronicle.googleapis.com/v1alpha/projects/12345678910/locations/US/instances/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/feeds/yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy:importPushLogs
    
  11. Fai clic su Aggiungi intestazione HTTP e poi aggiungi le intestazioni HTTP nel seguente formato:

    • Header 1: Key1: X-goog-api-key e Value1: chiave API generata nelle credenziali API BYOP. Google Cloud
    • Header 2: Key2: X-Webhook-Access-Key e Value2: chiave segreta API generata in "SECRET KEY" (CHIAVE SEGRETA) del webhook.
  12. Seleziona Endpoint DLP dall'elenco Tipi di log.

  13. Seleziona JSON nell'elenco Tipo di output feed.

  14. Imposta Carattere di escape feed su , \ ".

  15. Per aggiungere un nuovo campo a Formato output feed,seleziona Personalizzato nell'elenco Tipo di output feed.

  16. Copia e incolla il Formato output feed e aggiungi nuovi campi. Assicurati che i nomi delle chiavi corrispondano ai nomi dei campi effettivi.

    Di seguito è riportato il formato di output del feed predefinito:

    \{ "sourcetype" : "zscalernss-edlp", "event" :\{"time":"%s{time}","recordid":"%d{recordid}","login":"%s{user}","dept":"%s{department}","filetypename":"%s{filetypename}","filemd5":"%s{filemd5}","dlpdictnames":"%s{dlpdictnames}","dlpdictcount":"%s{dlpcounts}","dlpenginenames":"%s{dlpengnames}","channel":"%s{channel}","actiontaken":"%s{actiontaken}","severity":"%s{severity}","rulename":"%s{triggeredrulelabel}","itemdstname":"%s{itemdstname}"\}\}
    
  17. Seleziona il fuso orario per il campo Ora nel file di output nell'elenco Fuso orario. Per impostazione predefinita, il fuso orario è impostato su quello della tua organizzazione.

  18. Rivedi le impostazioni configurate.

  19. Fai clic su Salva per verificare la connettività. Se la connessione è riuscita, viene visualizzato un segno di spunta verde accompagnato dal messaggio Test Connectivity Successful: OK (200).

Per ulteriori informazioni sui feed Google SecOps, consulta la documentazione sui feed Google SecOps. Per informazioni sui requisiti per ciascun tipo di feed, consulta Configurazione dei feed per tipo.

Se riscontri problemi durante la creazione dei feed, contatta l'assistenza Google SecOps.

Formati dei log Zscaler DLP supportati

L'analizzatore sintattico DLP di Zscaler supporta i log in formato JSON.

Log di esempio di Zscaler DLP supportati

  • JSON:

    {
      "sourcetype": "zscalernss-edlp",
      "event": {
        "time": "Thu Jun 20 21:14:56 2024",
        "recordid": "7382697059455533057",
        "login": "dummy@domain.com",
        "dept": "General Group",
        "filetypename": "xlsx",
        "filemd5": "9a2d0d62c22994a98f65939ddcd3eb8f",
        "dlpdictnames": "Social Security Number (US): Detect leakage of United States Social Security Numbers|Credit Cards: Detect leakage of credit card information|Aadhaar Card Number (India): Detect Leakage of Indian Aadhaar Card Numbers",
        "dlpdictcount": "1428|141|81",
        "dlpenginenames": "Dummy Engine|cc|PCI|GLBA|HIPAA",
        "channel": "Removable Storage",
        "actiontaken": "Confirm Allow",
        "severity": "High Severity",
        "rulename": "Endpoint_DLP_",
        "itemdstname": "Removable Storage"
      }
    }
    

Tabella di mappatura UDM

La tabella seguente elenca i campi di log del tipo di log ZSCALER_DLP e i relativi campi UDM.

Log field UDM mapping Logic
mon additional.fields[mon]
day additional.fields[day]
scantime additional.fields[scantime]
numdlpengids additional.fields[numdlpengids]
numdlpdictids additional.fields[numdlpdictids]
recordid metadata.product_log_id
scanned_bytes additional.fields[scanned_bytes]
dlpidentifier security_result.detection_fields[dlpidentifier]
login principal.user.user_display_name
b64user principal.user.user_display_name
euser principal.user.user_display_name
ouser security_result.detection_fields[ouser]
dept principal.user.department
b64department principal.user.department
edepartment principal.user.department
odepartment security_result.detection_fields[odepartment]
odevicename security_result.detection_fields[odevicename]
devicetype principal.asset.attribute.labels[devicetype]
principal.asset.platform_software.platform If the deviceostype log field value matches the regular expression pattern (?i)Windows, then the principal.asset.platform_software.platform UDM field is set to WINDOWS.
principal.asset.asset_id If the devicename log field value is not empty, then the asset_id:devicename log field is mapped to the principal.asset.asset_id UDM field.

If the b64devicename log field value is not empty, then the asset_id:b64devicename log field is mapped to the principal.asset.asset_id UDM field.

If the edevicename log field value is not empty, then the asset_id:edevicename log field is mapped to the principal.asset.asset_id UDM field.
deviceplatform principal.asset.attribute.labels[deviceplatform]
deviceosversion principal.asset.platform_software.platform_version
devicemodel principal.asset.hardware.model
deviceappversion additional.fields[deviceappversion]
deviceowner principal.user.userid
b64deviceowner principal.user.userid
edeviceowner principal.user.userid
odeviceowner security_result.detection_fields[odeviceowner]
devicehostname principal.hostname
b64devicehostname principal.hostname
edevicehostname principal.hostname
odevicehostname security_result.detection_fields[odevicehostname]
datacenter target.location.name
datacentercity target.location.city
datacentercountry target.location.country_or_region
dsttype target.resource.resource_subtype
filedoctype additional.fields[filedoctype]
filedstpath target.file.full_path
b64filedstpath target.file.full_path
efiledstpath target.file.full_path
filemd5 target.file.md5 If the filemd5 log field value matches the regular expression pattern ^[0-9a-f]+$, then the filemd5 log field is mapped to the target.file.md5 UDM field.
filesha target.file.sha256 If the filesha log field value matches the regular expression pattern ^[0-9a-f]+$, then the filesha log field is mapped to the target.file.sha256 UDM field.
filesrcpath src.file.full_path
b64filesrcpath src.file.full_path
efilesrcpath src.file.full_path
filetypecategory additional.fields[filetypecategory]
filetypename target.file.mime_type
itemdstname target.resource.name
b64itemdstname target.resource.name
eitemdstname target.resource.name
itemname target.resource.attribute.labels[itemname]
b64itemname target.resource.attribute.labels[itemname]
eitemname target.resource.attribute.labels[itemname]
itemsrcname src.resource.name
b64itemsrcname src.resource.name
eitemsrcname src.resource.name
itemtype target.resource.attribute.labels[itemtype]
ofiledstpath security_result.detection_fields[ofiledstpath]
ofilesrcpath security_result.detection_fields[ofilesrcpath]
oitemdstname security_result.detection_fields[oitemdstname]
oitemname security_result.detection_fields[oitemname]
odlpengnames security_result.detection_fields[odlpengnames]
oitemsrcname security_result.detection_fields[oitemsrcname]
srctype src.resource.resource_subtype
actiontaken security_result.action_details
security_result.action If the actiontaken log field value matches the regular expression pattern (?i)allow, then the security_result.action UDM field is set to ALLOW.

Else, if the actiontaken log field value matches the regular expression pattern (?i)block, then the security_result.action UDM field is set to BLOCK.
activitytype metadata.product_event_type
addinfo additional.fields[addinfo]
channel security_result.detection_fields[channel]
confirmaction security_result.detection_fields[confirmaction]
confirmjust security_result.description
dlpdictcount security_result.detection_fields[dlpdictcount]
dlpdictnames security_result.detection_fields[dlpdictnames]
b64dlpdictnames security_result.detection_fields[dlpdictnames]
edlpdictnames security_result.detection_fields[dlpdictnames]
dlpenginenames security_result.detection_fields[dlpenginenames]
b64dlpengnames security_result.detection_fields[dlpenginenames]
edlpengnames security_result.detection_fields[dlpenginenames]
expectedaction security_result.detection_fields[expectedaction]
logtype security_result.category_details
odlpdictnames security_result.detection_fields[odlpdictnames]
ootherrulelabels security_result.detection_fields[ootherrulelabels]
otherrulelabels security_result.rule_labels[otherrulelabels]
b64otherrulelabels security_result.rule_labels[otherrulelabels]
eotherrulelabels security_result.rule_labels[otherrulelabels]
otriggeredrulelabel security_result.rule_labels[otriggeredrulelabel]
severity security_result.severity_details
security_result.severity If the severity log field value matches the regular expression pattern (?i)High, then the security_result.severity UDM field is set to HIGH.

Else, if the severity log field value matches the regular expression pattern (?i)Medium, then the security_result.severity UDM field is set to MEDIUM.

Else, if the severity log field value matches the regular expression pattern (?i)Low, then the security_result.severity UDM field is set to LOW.

Else, if the severity log field value matches the regular expression pattern (?i)Info, then the security_result.severity UDM field is set to INFORMATIONAL.
rulename security_result.rule_name
b64triggeredrulelabel security_result.rule_name
etriggeredrulelabel security_result.rule_name
zdpmode security_result.detection_fields[zdpmode]
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]
sourcetype additional.fields[sourcetype]
eventtime metadata.event_timestamp
time metadata.collected_timestamp
rtime additional.fields[rtime]
metadata.vendor_name The metadata.vendor_name UDM field is set to Zscaler.
metadata.product_name The metadata.product_name UDM field is set to DLP.
metadata.event_type If the activitytype log field value contain one of the following values, then the metadata.event_type UDM field is set to FILE_UNCATEGORIZED.
  • Upload
  • Download
Else, if the activitytype log field value is equal to File Copy, then the metadata.event_type UDM field is set to FILE_COPY.

Else, if the activitytype log field value is equal to File Read, then the metadata.event_type UDM field is set to FILE_READ.

Else, if the activitytype log field value is equal to File Write, then the metadata.event_type UDM field is set to FILE_MODIFICATION.

Else, if the activitytype log field value is equal to Email Sent, then the metadata.event_type UDM field is set to EMAIL_UNCATEGORIZED.

Else, if the activitytype log field value is equal to Print, then the metadata.event_type UDM field is set to STATUS_UPDATE.

Else, the metadata.event_type UDM field is set to GENERIC_EVENT.

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.