Collecter les journaux Zscaler Internet Access
Ce document explique comment exporter les journaux Zscaler Internet Access en configurant un flux Google Security Operations, 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 typique se compose de Zscaler Internet Access et du flux de webhook Google SecOps configuré pour envoyer des journaux à Google SecOps. Chaque déploiement client peut être différent et plus complexe.
Le déploiement contient les composants suivants :
Zscaler Internet Access : plate-forme à partir de laquelle vous collectez les journaux.
Flux Google SecOps : flux Google SecOps qui récupère les journaux de Zscaler Internet Access et les écrit dans Google SecOps.
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 avec le libellé d'ingestion ZSCALER_INTERNET_ACCESS
.
Avant de commencer
Assurez-vous de remplir les conditions préalables suivantes :
- Accès à la console Zscaler Internet Access. Pour en savoir plus, consultez l'aide ZIA sur la sécurisation de l'accès à Internet et aux SaaS.
- Zscaler Internet Access 2024 ou version ultérieure
- Tous les systèmes de l'architecture de déploiement sont configurés avec le fuseau horaire UTC.
- Clé API nécessaire pour configurer le flux dans Google Security Operations. Pour en savoir plus, consultez Configurer des clés API.
Configurer des flux
Il existe deux points d'entrée différents pour configurer les flux dans la plate-forme Google SecOps :
- Paramètres SIEM> Flux
- Plate-forme de contenu > Packs de contenu
Configurer des flux à partir de Paramètres SIEM > Flux
Pour configurer plusieurs flux pour différents types de journaux dans cette famille de produits, consultez Configurer des flux par produit.
Pour configurer un seul flux :
- Accédez à Paramètres SIEM> Flux.
- Cliquez sur Add New Feed (Ajouter un flux).
- Sur la page suivante, cliquez sur Configurer un seul flux.
- Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple, Journaux d'accès à Internet Zscaler).
- Sélectionnez Webhook comme type de source.
- Sélectionnez Journaux d'audit Zscaler Internet Access comme type de journal.
- Cliquez sur Suivant.
- Facultatif : saisissez les valeurs des paramètres d'entrée suivants :
- Délimiteur de fractionnement : délimiteur utilisé pour séparer les lignes de journaux. Laissez ce champ vide si aucun délimiteur n'est utilisé.
- Espace de noms de l'élément : espace de noms de l'élément.
- Libellés d'ingestion : libellé à appliquer aux événements de ce flux.
- Cliquez sur Suivant.
- Vérifiez la configuration de votre nouveau flux, puis cliquez sur Envoyer.
- Cliquez sur Générer une clé secrète pour générer une clé secrète permettant d'authentifier ce flux.
Configurer des flux depuis le Hub de contenu
Indiquez les valeurs des champs suivants :
- Délimiteur de fractionnement : délimiteur utilisé pour séparer les lignes de journaux, tel que
\n
.
Options avancées
- Nom du flux : valeur préremplie qui identifie le flux.
- Type de source : méthode utilisée pour collecter les journaux dans Google SecOps.
- Espace de noms de l'élément : espace de noms de l'élément.
- Libellés d'ingestion : libellé appliqué aux événements de ce flux.
- Cliquez sur Suivant.
- Vérifiez la configuration du flux sur l'écran Finaliser, puis cliquez sur Envoyer.
- Cliquez sur Générer une clé secrète pour générer une clé secrète permettant d'authentifier ce flux.
Configurer Zscaler Internet Access
- Dans la console Zscaler Internet Access, cliquez sur Administration > Nanolog Streaming Service > Flux NSS Cloud, puis sur Ajouter un flux NSS Cloud.
- La fenêtre Add Cloud NSS Feed (Ajouter un flux NSS Cloud) s'affiche. Dans la fenêtre Ajouter un flux Cloud NSS, saisissez les informations.
- Saisissez un nom pour le flux dans le champ Nom du flux.
- Sélectionnez NSS pour le Web dans Type de NSS.
- Sélectionnez l'état dans la liste État pour activer ou désactiver le flux NSS.
- Conservez la valeur Illimité dans le menu déroulant Taux SIEM. Modifiez la valeur pour supprimer le flux de sortie en raison de contraintes liées à la licence ou autres.
- Sélectionnez Autre dans la liste Type de SIEM.
- Sélectionnez Désactivée dans la liste Authentification OAuth 2.0.
- Saisissez une limite de taille pour la charge utile d'une requête HTTP individuelle, conformément aux bonnes pratiques du SIEM concernant la taille maximale des lots. Par exemple, 512 Ko.
Saisissez l'URL HTTPS du point de terminaison de l'API Chronicle dans l'URL de l'API au format suivant :
https://<CHRONICLE_REGION>-chronicle.googleapis.com/v1alpha/projects/<GOOGLE_PROJECT_NUMBER>/locations/<LOCATION>/instances/<CUSTOMER_ID>/feeds/<FEED_ID>:importPushLogs
CHRONICLE_REGION
: région dans laquelle votre instance Chronicle est hébergée. Par exemple, "US".GOOGLE_PROJECT_NUMBER
: numéro du projet BYOP. Obtenez-le auprès de C4.LOCATION
: région Chronicle. Par exemple, "US".CUSTOMER_ID
: ID client Chronicle. Obtenez-le auprès de C4.FEED_ID
: ID du flux affiché dans l'UI du flux sur le nouveau webhook crééExemple d'URL d'API :
https://us-chronicle.googleapis.com/v1alpha/projects/12345678910/locations/US/instances/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/feeds/yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy:importPushLogs
Cliquez sur Ajouter un en-tête HTTP, puis ajoutez des en-têtes HTTP au format suivant :
Header 1
: Key1 :X-goog-api-key
et Value1 : clé API générée dans les identifiants API de Google Cloud BYOP.Header 2
: Key2 :X-Webhook-Access-Key
et Value2 : clé secrète de l'API générée dans la section "SECRET KEY" (Clé secrète) du webhook.
Sélectionnez Journaux d'audit de l'administrateur dans la liste Types de journaux.
Sélectionnez JSON dans la liste Type de sortie du flux.
Définissez Caractère d'échappement du flux sur
, \ "
.Pour ajouter un champ au format de sortie du flux,sélectionnez Personnalisé dans la liste Type de sortie du flux.
Copiez et collez le format de sortie du flux, puis ajoutez de nouveaux champs. Assurez-vous que les noms de clés correspondent aux noms de champs réels.
Voici le format de sortie du flux par défaut :
\{ "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}\}\}
Dans la liste Fuseau horaire, sélectionnez le fuseau horaire du champ Heure dans le fichier de sortie. Par défaut, le fuseau horaire est défini sur celui de votre organisation.
Vérifiez les paramètres configurés.
Cliquez sur Enregistrer pour tester la connectivité. Si la connexion est établie, une coche verte accompagnée du message Test de connectivité réussi : OK (200) s'affiche.
Pour en savoir plus sur les flux Google SecOps, consultez la documentation sur les flux Google Security Operations. Pour en savoir plus sur les exigences de chaque type de flux, consultez Configuration des flux par type.
Si vous rencontrez des problèmes lors de la création de flux, contactez l'assistance Google Security Operations.
Formats de journaux Zscaler Internet Access acceptés
L'analyseur Zscaler Internet Access est compatible avec les journaux au format JSON.
Exemples de journaux Zscaler Internet Access acceptés
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":[]}"} }
Référence du mappage de champs
Le tableau suivant liste les champs de journaux du type de journal ZSCALER_INTERNET_ACCESS
et les champs UDM correspondants.
Log field | UDM mapping | Logic |
---|---|---|
|
metadata.event_type |
The metadata.event_type UDM field is set to STATUS_UPDATE . |
|
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 |
target.security_result.category_details |
|
subcategory |
target.security_result.category_details |
|
resource |
target.resource.name |
|
interface |
principal.resource.attribute.labels[interface] |
|
adminid |
principal.user.userid |
|
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 |
principal.resource.attribute.labels |
Iterate through preaction object: The preaction object key is mapped to the principal.resource.attribute.labels.key UDM field and preaction object value is mapped to the principal.resource.attribute.labels.value UDM field. |
postaction |
principal.resource.attribute.labels |
Iterate through postaction object: The postaction object key is mapped to the principal.resource.attribute.labels.key UDM field and postaction object value is mapped to the principal.resource.attribute.labels.value UDM field. |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.