Raccogli i log di controllo di Zscaler ZPA
Questo documento spiega come esportare i log di controllo di Zscaler ZPA configurando l'agente Bindplane e come i campi dei log vengono mappati ai campi del modello UDM (Unified Data Model) di Google SecOps.
Per saperne di più, consulta la panoramica sull'acquisizione dei dati in Google SecOps.
Una configurazione tipica è costituita dai log di controllo di Zscaler ZPA e dall'agente Bindplane configurato per inviare i log a Google Security Operations. Ogni configurazione del cliente può essere diversa e più complessa.
La configurazione contiene i seguenti componenti:
Log di controllo di Zscaler ZPA: la piattaforma da cui raccogli i log.
Agente Bindplane: l'agente Bindplane recupera i log dai log di controllo di Zscaler ZPA e li invia a Google Security Operations.
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_ZPA_AUDIT.
Prima di iniziare
- Assicurati di utilizzare Zscaler ZPA Audit 2024 o versioni successive.
- Assicurati di avere accesso alla console Zscaler Private Access. Per saperne di più, consulta la guida di Secure Private Access (ZPA).
- Assicurati che tutti i sistemi nell'architettura di deployment siano configurati con il fuso orario UTC.
Configura il ricevitore di log in Zscaler Private Access
Segui questi passaggi per configurare e gestire il ricevitore di log in Zscaler Private Access:
Aggiungi un ricevitore di log
- Seleziona Configuration & Control > Private Infrastructure > Log Streaming Service > Log Receivers e fai clic su Add Log Receiver.
- Nella scheda Log Receiver (Ricevitore di log):
- Nel campo Name (Nome), inserisci il nome del ricevitore di log.
- Nel campo Description (Descrizione), inserisci una descrizione.
- Nel campo Domain or IP Address (Dominio o indirizzo IP), inserisci il nome di dominio completo (FQDN) o l'indirizzo IP del ricevitore di log.
- Nel campo TCP Port (Porta TCP), inserisci il numero di porta TCP utilizzato dal ricevitore di log.
- Seleziona il tipo di crittografia in TLS Encryption (Crittografia TLS) per attivare o disattivare la crittografia del traffico tra App Connector e il ricevitore di log. Per impostazione predefinita, questa impostazione è disattivata.
- Nell'elenco App Connector groups (Gruppi di App Connector), scegli i gruppi di App Connector che possono inoltrare i log al ricevitore e fai clic su Done (Fine).
- Fai clic su Next (Avanti).
Nella scheda Log Stream (Flusso di log):
- Seleziona un Log Type (Tipo di log) dal menu.
- Seleziona un Log Template (Modello di log) dal menu.
Copia e incolla il campo Log Stream Content (Contenuto del flusso di log) e aggiungi nuovi campi. Assicurati che i nomi delle chiavi corrispondano ai nomi dei campi effettivi.
Di seguito è riportato il Contenuto del flusso di log predefinito per il tipo di log di controllo:
{"ModifiedTime":%j{modifiedTime:iso8601},"CreationTime":%j{creationTime:iso8601},"ModifiedBy":%d{modifiedBy},"RequestID":%j{requestId},"SessionID":%j{sessionId},"AuditOldValue":%j{auditOldValue},"AuditNewValue":%j{auditNewValue},"AuditOperationType":%j{auditOperationType},"ObjectType":%j{objectType},"ObjectName":%j{objectName},"ObjectID":%d{objectId},"CustomerID":%d{customerId},"User":%j{modifiedByUser},"ClientAuditUpdate":%d{clientAuditUpdate}}\nIn SAML Attributes (Attributi SAML), fai clic su Select IdP (Seleziona IdP) e seleziona la configurazione IdP che vuoi includere nella policy.
Nel menu Application Segments (Segmenti di applicazione), seleziona i segmenti di applicazione che vuoi includere e fai clic su Done (Fine).
Nel menu Segment Groups (Gruppi di segmenti), seleziona i gruppi di segmenti che vuoi includere e fai clic su Done (Fine).
Nel menu Client Types (Tipi di client), seleziona i tipi di client che vuoi includere e fai clic su Done (Fine).
Nel menu Session Statuses (Stati della sessione), seleziona i codici di stato della sessione che vuoi escludere e fai clic su Done (Fine).
Fai clic su Next (Avanti).
Nella scheda Review (Revisione), esamina la configurazione del ricevitore di log e fai clic su Save (Salva).
Nota:il parser Gold ZSCALER_ZPA_AUDIT supporta solo il formato dei log JSON, quindi assicurati di selezionare JSON come Modello di log dal menu durante la configurazione del flusso di log.
Copia un ricevitore di log
- Seleziona Control > Private Infrastructure > Log Streaming Service > Log Receivers.
- Nella tabella, individua il ricevitore di log che vuoi modificare e fai clic su Copy (Copia).
- Nella finestra Add Log Receiver (Aggiungi ricevitore di log), modifica i campi in base alle necessità. Per saperne di più su ogni campo, consulta la procedura nella sezione Aggiungi ricevitore di log.
- Fai clic su Save (Salva).
Modifica un ricevitore di log
- Seleziona Control > Private Infrastructure > Log Streaming Service > Log Receivers.
- Nella tabella, individua il ricevitore di log che vuoi modificare e fai clic su Edit (Modifica).
- Nella finestra Edit Log Receiver (Modifica ricevitore di log), modifica i campi in base alle necessità. Per saperne di più su ogni campo, consulta la procedura nella sezione Aggiungi ricevitore di log.
- Fai clic su Save (Salva).
Elimina un ricevitore di log
- Seleziona Control > Private Infrastructure > Log Streaming Service > Log Receivers.
- Nella tabella, individua il ricevitore di log che vuoi modificare e fai clic su Delete (Elimina).
- Nella finestra Confirmation (Conferma), fai clic su Delete (Elimina).
Inoltra i log a Google SecOps utilizzando l'agente Bindplane
- Installa e configura una macchina virtuale Linux.
- Installa e configura l'agente Bindplane su Linux per inoltrare i log a Google SecOps. Per saperne di più su come installare e configurare l'agente Bindplane, consulta le istruzioni di installazione e configurazione dell'agente Bindplane.
Se riscontri problemi durante la creazione dei feed, contatta l'assistenza Google SecOps.
Formati dei log di controllo di Zscaler ZPA supportati
Il parser dei log di controllo di Zscaler ZPA supporta i log in formato JSON.
Log di esempio di Zscaler ZPA Audit supportati
JSON:
{ "ModifiedTime": "", "CreationTime": "2024-06-29T05:06:34.000Z", "ModifiedBy": 216193796315021769, "RequestID": "ed500dfb-c66d-4ec2-b97e-ec2018c811f4", "SessionID": "v2t27ixe6qs21cffpzy6jx1zv", "AuditOldValue": "", "AuditNewValue": "{\\"loginAttempt\\":\\"2024-06-29 05: 06: 34 UTC\\",\\"remoteIP\\":\\"198.51.100.0\\"}", "AuditOperationType": "Sign In", "ObjectType": "Authentication", "ObjectName": "", "ObjectID": 0, "CustomerID": dummy_customer_id, "User": "abc.xyz.com", "ClientAuditUpdate": 0 }
Tabella di mappatura UDM
Riferimento per la mappatura dei campi: ZSCALER_ZPA_AUDIT
Nella tabella seguente sono elencati i campi dei log del tipo di log ZSCALER_ZPA_AUDIT e i relativi campi UDM.
| Log field | UDM mapping | Logic |
|---|---|---|
|
metadata.product_name |
The metadata.product_name UDM field is set to Zscaler Private Access. |
|
metadata.vendor_name |
The metadata.vendor_name UDM field is set to Zscaler. |
CreationTime |
metadata.event_timestamp |
|
RequestID |
metadata.product_log_id |
|
SessionID |
network.session_id |
|
|
metadata.event_type |
If the AuditOperationType log field value is not empty, then if the AuditOperationType log field value is equal to Create, then the metadata.event_type UDM field is set to RESOURCE_CREATION.Else, if the AuditOperationType log field value is equal to Client Session Revoked, then the metadata.event_type UDM field is set to USER_LOGOUT.Else, if the AuditOperationType log field value is equal to Delete, then the metadata.event_type UDM field is set to RESOURCE_DELETION.Else, if the AuditOperationType log field value is equal to Download, then the metadata.event_type UDM field is set to USER_RESOURCE_ACCESS.Else, if the AuditOperationType log field value is equal to Sign In, then the metadata.event_type UDM field is set to USER_LOGIN.Else, if the AuditOperationType log field value is equal to Sign In Failure, then the metadata.event_type UDM field is set to USER_LOGIN.Else, if the AuditOperationType log field value is equal to Sign Out, then the metadata.event_type UDM field is set to USER_LOGOUT.
Else, if the AuditOperationType log field value is equal to Session Time Out, then the metadata.event_type UDM field is set to USER_LOGOUT.Else, if the AuditOperationType log field value is equal to Update, then the metadata.event_type UDM field is set to USER_RESOURCE_UPDATE_CONTENT. |
|
metadata.product_event_type |
If the AuditOperationType log field value is not empty, then if the AuditOperationType log field value is equal to Create, then the metadata.product_event_type UDM field is set to create.Else, if the AuditOperationType log field value is equal to Client Session Revoked, then the metadata.product_event_type UDM field is set to client session revoked.Else, if the AuditOperationType log field value is equal to Delete, then the metadata.product_event_type UDM field is set to delete.Else, if the AuditOperationType log field value is equal to Download, then the metadata.product_event_type UDM field is set to download.Else, if the AuditOperationType log field value is equal to Sign In, then the metadata.product_event_type UDM field is set to user_login.Else, if the AuditOperationType log field value is equal to Sign In Failure, then the metadata.product_event_type UDM field is set to user_login_fail.Else, if the AuditOperationType log field value is equal to Sign Out, then the metadata.product_event_type UDM field is set to user_logout.Else, if the AuditOperationType log field value is equal to Session Time Out, then the metadata.product_event_type UDM field is set to session time out.Else, if the AuditOperationType log field value is equal to Update, then the metadata.product_event_type UDM field is set to update. |
|
security_result.action |
If the AuditOperationType log field value is not empty, then if the AuditOperationType log field value is equal to Client Session Revoked, then the security_result.action UDM field is set to BLOCK.Else, if the AuditOperationType log field value is equal to Sign In, then the security_result.action UDM field is set to ALLOW.Else, if the AuditOperationType log field value is equal to Sign In Failure, then the security_result.action UDM field is set to FAIL. |
ObjectType |
target.resource.resource_subtype |
|
ObjectID |
target.resource.product_object_id |
|
ObjectName |
target.resource.name |
|
ModifiedTime |
target.resource.attribute.labels[ModifiedTime] |
|
ModifiedBy |
principal.user.userid |
If the Audit Operation Type log field value contain one of the following values, then the ModifiedBy log field is mapped to the principal.user.userid UDM field.
|
ModifiedBy |
target.user.userid |
If the Audit Operation Type log field value contain one of the following values, then the ModifiedBy log field is mapped to the target.user.userid UDM field.
|
User |
principal.user.email_addresses |
If the Audit Operation Type log field value contain one of the following values and the User log field value matches the regular expression pattern (^.*@.*$), then the User log field is mapped to the principal.user.email_addresses UDM field.
|
User |
principal.user.user_display_name |
If the Audit Operation Type log field value contain one of the following values and the User log field value not matches the regular expression pattern (^.*@.*$), then the User log field is mapped to the principal.user.user_display_name UDM field.
|
User |
target.user.email_addresses |
If the Audit Operation Type log field value contain one of the following values and the User log field value matches the regular expression pattern (^.*@.*$), then the User log field is mapped to the target.user.email_addresses UDM field.
|
User |
target.user.user_display_name |
If the Audit Operation Type log field value contain one of the following values and the User log field value not matches the regular expression pattern (^.*@.*$), then the User log field is mapped to the target.user.user_display_name UDM field.
|
AuditOldValue |
additional.fields[AuditOldValue] |
Iterate through AuditOldValue object: The AuditOldValue object key is mapped to the additional.fields.key UDM field and AuditOldValue object value is mapped to the additional.fields.value UDM field. |
AuditNewValue |
additional.fields[AuditNewValue] |
Iterate through AuditNewValue object: The AuditNewValue object key is set to the additional.fields.key UDM field and AuditNewValue object value is mapped to the additional.fields.value UDM field. |
CustomerID |
metadata.product_deployment_id |
|
ClientAuditUpdate |
additional.fields[ClientAuditUpdate] |
Log delle modifiche
Visualizza il log delle modifiche per questo parser
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.