Collecter les journaux d'audit Zscaler ZPA
Ce document explique comment exporter les journaux d'audit Zscaler ZPA en configurant l'agent Bindplane, et comment les champs de journaux sont mappés aux champs du modèle de données unifié (UDM) Google SecOps.
Pour en savoir plus, consultez Présentation de l'ingestion de données dans Google SecOps.
Un déploiement type se compose de Zscaler ZPA Audit et de l'agent Bindplane configuré pour envoyer des journaux à Google Security Operations. Chaque déploiement client peut être différent et plus complexe.
Le déploiement contient les composants suivants :
Audit Zscaler ZPA : plate-forme à partir de laquelle vous collectez les journaux.
Agent Bindplane : l'agent Bindplane récupère les journaux d'audit Zscaler ZPA et les envoie à Google Security Operations.
Google SecOps : conserve et analyse les journaux.
Une étiquette d'ingestion identifie l'analyseur qui normalise les données de journaux brutes au format UDM structuré. Les informations de ce document s'appliquent au parseur portant le libellé ZSCALER_ZPA_AUDIT
.
Avant de commencer
- Assurez-vous d'utiliser Zscaler ZPA Audit 2024 ou une version ultérieure.
- Assurez-vous d'avoir accès à la console Zscaler Private Access. Pour en savoir plus, consultez l'aide de Secure Private Access (ZPA).
- Assurez-vous que tous les systèmes de l'architecture de déploiement sont configurés avec le fuseau horaire UTC.
Configurer le récepteur de journaux dans Zscaler Private Access
Pour configurer et gérer le récepteur de journaux dans Zscaler Private Access, procédez comme suit :
Ajouter un récepteur de journaux
- Sélectionnez Configuration et contrôle > Infrastructure privée > Service de streaming de journaux > Récepteurs de journaux, puis cliquez sur Ajouter un récepteur de journaux.
- Dans l'onglet Récepteur de journaux, procédez comme suit :
- Dans le champ Nom, saisissez le nom du récepteur de journaux.
- Dans le champ Description, saisissez une description.
- Dans le champ Domaine ou adresse IP, saisissez le nom de domaine complet ou l'adresse IP du récepteur de journaux.
- Dans le champ Port TCP, saisissez le numéro de port TCP utilisé par le récepteur de journaux.
- Sélectionnez le type de chiffrement dans Chiffrement TLS pour activer ou désactiver le chiffrement du trafic entre le connecteur d'application et le récepteur de journaux. Par défaut, ce paramètre est désactivé.
- Dans la liste Groupes de connecteurs d'applications, sélectionnez les groupes de connecteurs d'applications qui peuvent transférer les journaux au récepteur, puis cliquez sur OK.
- Cliquez sur Suivant.
Dans l'onglet Flux de journaux, procédez comme suit :
- Sélectionnez un type de journal dans le menu.
- Sélectionnez un modèle de journal dans le menu.
Copiez et collez le contenu du flux de journaux, puis ajoutez de nouveaux champs. Assurez-vous que les noms de clés correspondent aux noms de champs réels.
Voici le contenu du flux de journaux par défaut pour le type de journal d'audit :
{"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}}\n
Dans Attributs SAML, cliquez sur Sélectionner un IdP, puis sélectionnez la configuration de l'IdP que vous souhaitez inclure dans la stratégie.
Dans le menu Segments d'application, sélectionnez les segments d'application que vous souhaitez inclure, puis cliquez sur OK.
Dans le menu Groupes de segments, sélectionnez les groupes de segments à inclure, puis cliquez sur OK.
Dans le menu Types de clients, sélectionnez les types de clients à inclure, puis cliquez sur OK.
Dans le menu États des sessions, sélectionnez les codes d'état des sessions que vous souhaitez exclure, puis cliquez sur OK.
Cliquez sur Suivant.
Dans l'onglet Vérifier, vérifiez la configuration de votre récepteur de journaux, puis cliquez sur Enregistrer.
Remarque : L'analyseur Gold ZSCALER_ZPA_AUDIT
n'accepte que le format de journal JSON. Veillez donc à sélectionner JSON comme Modèle de journal dans le menu lors de la configuration du flux de journaux.
Copier un récepteur de journaux
- Sélectionnez Contrôle> Infrastructure privée> Service de streaming de journaux> Récepteurs de journaux.
- Dans le tableau, recherchez le récepteur de journaux que vous souhaitez modifier, puis cliquez sur Copier.
- Dans la fenêtre Add Log Receiver (Ajouter un récepteur de journaux), modifiez les champs si nécessaire. Pour en savoir plus sur chaque champ, consultez la procédure de la section Ajouter un récepteur de journaux.
- Cliquez sur Enregistrer.
Modifier un récepteur de journaux
- Sélectionnez Contrôle> Infrastructure privée> Service de streaming de journaux> Récepteurs de journaux.
- Dans le tableau, recherchez le récepteur de journaux que vous souhaitez modifier, puis cliquez sur Modifier.
- Dans la fenêtre Modifier le récepteur de journaux, modifiez les champs si nécessaire. Pour en savoir plus sur chaque champ, consultez la procédure de la section Ajouter un récepteur de journaux.
- Cliquez sur Enregistrer.
Supprimer un récepteur de journaux
- Sélectionnez Contrôle> Infrastructure privée> Service de streaming de journaux> Récepteurs de journaux.
- Dans le tableau, recherchez le destinataire des journaux que vous souhaitez modifier, puis cliquez sur Supprimer.
- Dans la fenêtre Confirmation, cliquez sur Supprimer.
Transférer des journaux vers Google SecOps à l'aide de l'agent Bindplane
- Installez et configurez une machine virtuelle Linux.
- Installez et configurez l'agent Bindplane sur Linux pour transférer les journaux vers Google SecOps. Pour savoir comment installer et configurer l'agent Bindplane, consultez les instructions d'installation et de configuration de l'agent Bindplane.
Si vous rencontrez des problèmes lors de la création de flux, contactez l'assistance Google SecOps.
Formats de journaux d'audit Zscaler ZPA acceptés
L'analyseur Zscaler ZPA Audit est compatible avec les journaux au format JSON.
Exemples de journaux d'audit Zscaler ZPA compatibles
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 }
Table de mappage UDM
Référence de mappage des champs : ZSCALER_ZPA_AUDIT
Le tableau suivant liste les champs de journaux du type de journal ZSCALER_ZPA_AUDIT
et les champs UDM correspondants.
Log field | UDM mapping | Logic |
---|---|---|
|
metadata.product_name |
The metadata.product_name UDM field is set to ZPA Audit . |
|
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 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 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 |
|
User |
principal.user.email_addresses |
|
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 |
target.user.userid |
|
ClientAuditUpdate |
additional.fields[ClientAuditUpdate] |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.