Raccogliere i log di Zscaler Tunnel

Supportato in:

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

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

Un deployment tipico è costituito da Zscaler Tunnel 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 Tunnel: la piattaforma da cui raccogli i log.

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

  • Google SecOps: 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_TUNNEL.

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 Tunnel versione 1.0 o 2.0
  • 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 Zscaler Tunnel Logs.
  5. Seleziona Webhook come tipo di origine.
  6. Seleziona Zscaler Tunnel 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.

Configurare Zscaler Tunnel

  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 for Tunnel (NSS per tunnel) in NSS Type (Tipo di NSS).
  5. Seleziona lo stato dall'elenco Stato per attivare o disattivare il feed NSS.
  6. Mantieni il valore Illimitato nel menu a discesa Tasso 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 Tunnel nell'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 sono riportati i formati di output del feed predefiniti:

    • Per la fase 1 di IKE:

      \{ "sourcetype" : "zscalernss-tunnel", "event" : \{"datetime":"%s{datetime}","Recordtype":"%s{tunnelactionname}","tunneltype":"IPSEC IKEV %d{ikeversion}","user":"%s{vpncredentialname}","location":"%s{elocationname}","sourceip":"%s{sourceip}","destinationip":"%s{destvip}","sourceport":"%d{srcport}","destinationport":"%d{dstport}","lifetime":"%d{lifetime}","ikeversion":"%d{ikeversion}","spi_in":"%lu{spi_in}","spi_out":"%lu{spi_out}","algo":"%s{algo}","authentication":"%s{authentication}","authtype":"%s{authtype}","recordid":"%d{recordid}"\}\}
      
    • Per la fase 2 di IKE:

      \{ "sourcetype" : "zscalernss-tunnel", "event" : \{"datetime":"%s{datetime}","Recordtype":"%s{tunnelactionname}","tunneltype":"IPSEC IKEV %d{ikeversion}","user":"%s{vpncredentialname}","location":"%s{elocationname}","sourceip":"%s{sourceip}","destinationip":"%s{destvip}","sourceport":"%d{srcport}","sourceportstart":"%d{srcportstart}","destinationportstart":"%d{destportstart}","srcipstart":"%s{srcipstart}","srcipend":"%s{srcipend}","destinationipstart":"%s{destipstart}","destinationipend":"%s{destipend}","lifetime":"%d{lifetime}","ikeversion":"%d{ikeversion}","lifebytes":"%d{lifebytes}","spi":"%d{spi}","algo":"%s{algo}","authentication":"%s{authentication}","authtype":"%s{authtype}","protocol":"%s{protocol}","tunnelprotocol":"%s{tunnelprotocol}","policydirection":"%s{policydirection}","recordid":"%d{recordid}"\}\}
      
    • Per l'evento Tunnel:

      \{ "sourcetype" : "zscalernss-tunnel", "event" : \{"datetime":"%s{datetime}","Recordtype":"%s{tunnelactionname}","tunneltype":"%s{tunneltype}","user":"%s{vpncredentialname}","location":"%s{elocationname}","sourceip":"%s{sourceip}","destinationip":"%s{destvip}","sourceport":"%d{srcport}","event":"%s{event}","eventreason":"%s{eventreason}","recordid":"%d{recordid}"\}\}
      
    • Ad esempio:

      \{ "sourcetype" : "zscalernss-tunnel", "event" : \{"datetime":"%s{datetime}","Recordtype":"%s{tunnelactionname}","tunneltype":"%s{tunneltype}","user":"%s{vpncredentialname}","location":"%s{elocationname}","sourceip":"%s{sourceip}","destinationip":"%s{destvip}","sourceport":"%d{srcport}","txbytes":"%lu{txbytes}","rxbytes":"%lu{rxbytes}","dpdrec":"%d{dpdrec}","recordid":"%d{recordid}"\}\}
      
  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 di Zscaler Tunnel supportati

Il parser Zscaler Tunnel supporta i log in formato JSON.

Log di esempio del tunnel Zscaler supportati

  • JSON

    {
      "sourcetype": "zscalernss-tunnel",
      "event": {
        "datetime": "Sun Jan 21 06:17:00 2024",
        "Recordtype": "Tunnel Samples",
        "tunneltype": "IPSec IKEv2",
        "user": "dummy-user@dummydomain.net",
        "location": "PLWSE06",
        "sourceip": "198.51.100.0",
        "destinationip": "198.51.100.1",
        "sourceport": "0",
        "txbytes": "12560",
        "rxbytes": "0",
        "dpdrec": "0",
        "recordid": "7326416289073594372"
      }
    }
    

Tabella di mappatura UDM

Riferimento per la mappatura dei campi: ZSCALER_TUNNEL

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

Log field UDM mapping Logic
algo additional.fields[algo]
authtype additional.fields[authtype]
authentication additional.fields[authentication]
dd additional.fields[dd]
day additional.fields[day]
destinationportstart additional.fields[destinationportstart]
dpdrec additional.fields[dpdrec]
eventreason additional.fields[eventreason]
hh additional.fields[hh]
ikeversion additional.fields[ikeversion]
lifebytes additional.fields[lifebytes]
mm additional.fields[mm]
mon additional.fields[mon]
mth additional.fields[mth]
olocationname additional.fields[olocationname]
ovpncredentialname additional.fields[ovpncredentialname]
ss additional.fields[ss]
sourcetype additional.fields[sourcetype]
spi_in additional.fields[spi_in]
spi_out additional.fields[spi_out]
sourceportstart additional.fields[sourceportstart]
tz additional.fields[tz]
tunnelprotocol additional.fields[tunnelprotocol]
tunneltype additional.fields[tunneltype]
vendorname additional.fields[vendorname]
yyyy additional.fields[yyyy]
spi additional.fields[spi]
event metadata.description
datetime metadata.event_timestamp
metadata.event_type If (the srcipstart log field value is not empty or the srcipend log field value is not empty or the sourceip log field value is not empty) and (the destinationipstart log field value is not empty or the destinationip log field value is not empty or the destinationipend log field value is not empty), then the metadata.event_type UDM field is set to NETWORK_CONNECTION.

Else, if the srcipstart log field value is not empty or the srcipend log field value is not empty or the sourceip log field value is not empty, then the metadata.event_type UDM field is set to STATUS_UPDATE.

Else, the metadata.event_type UDM field is set to GENERIC_EVENT.
Recordtype metadata.product_event_type
recordid metadata.product_log_id
metadata.product_name The metadata.product_name UDM field is set to ZSCALER_TUNNEL.
metadata.vendor_name The metadata.vendor_name UDM field is set to ZSCALER.
network.direction If the policydirection log field value matches the regular expression pattern (?i)Inbound, then the network.direction UDM field is set to INBOUND.

Else, if the policydirection log field value matches the regular expression pattern (?i)Outbound, then the network.direction UDM field is set to OUTBOUND.
protocol network.ip_protocol If the protocol log field value contain one of the following values, then the protocol log field is mapped to the network.ip_protocol UDM field.
  • TCP
  • EIGRP
  • ESP
  • ETHERIP
  • GRE
  • ICMP
  • IGMP
  • IP6IN4
  • PIM
  • UDP
  • VRRP
rxbytes network.received_bytes
rxpackets network.received_packets
txbytes network.sent_bytes
txpackets network.sent_packets
lifetime network.session_duration.seconds
srcipstart principal.ip
sourceip principal.ip
srcipend principal.ip
location principal.location.name
sourceport principal.port
user principal.user.userid
destinationipstart target.ip
destinationip target.ip
destinationipend' target.ip
destinationport target.port

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