Collecter les journaux Dope Security SWG

Compatible avec :

Ce document explique comment ingérer des journaux Dope Security SWG dans Google Security Operations à l'aide d'Amazon S3.

Dope Security dope.swg est une passerelle Web sécurisée basée sur les points de terminaison qui fournit un filtrage Web en temps réel, une protection contre les logiciels malveillants et un contrôle des applications cloud. Chaque dope.endpoint envoie des journaux de transactions Web à dope.cloud toutes les 15 minutes. Ils sont ensuite automatiquement exportés vers votre bucket AWS S3 au format JSONL GZIP compressé pour l'intégration SIEM.

Avant de commencer

Assurez-vous de remplir les conditions suivantes :

  • Une instance Google SecOps
  • Accès privilégié à Dope Security dope.console
  • Accès privilégié à AWS (S3, IAM)
  • Votre locataire Dope Security doit se trouver dans la même région AWS que votre bucket S3 (vérifiez la région sur la page Paramètres> SIEM).

Configurer l'intégration SIEM de Dope Security

Pour configurer l'intégration Dope Security SIEM :

  1. Connectez-vous à dope.console à l'adresse https://console.dope.security.
  2. Accédez à Paramètres> SIEM> Paramètres d'intégration du SIEM.
  3. Dans la liste Type de SIEM, sélectionnez AWS S3.
  4. Notez la région AWS affichée à droite de la page (par exemple, US-EAST-2).

  5. Laissez cette page ouverte, car vous y reviendrez pour terminer la configuration après avoir configuré AWS S3.

Configurer un bucket AWS S3 et IAM pour Google SecOps

  1. Créez un bucket Amazon S3. Pour en savoir plus, consultez Créer un bucket.
  2. Lorsque vous créez le bucket, assurez-vous que la région correspond à celle indiquée sur la page d'intégration Dope Security SIEM (par exemple, USA Est (Ohio) us-east-2).
  3. Enregistrez le nom du bucket pour référence ultérieure (par exemple, chronicle-dope-swg-logs).

  4. Créez un utilisateur. Pour en savoir plus, consultez Créer un utilisateur IAM.

  5. Sélectionnez l'utilisateur que vous avez créé.

  6. Sélectionnez l'onglet Informations d'identification de sécurité.

  7. Cliquez sur Créer une clé d'accès dans la section Clés d'accès.

  8. Sélectionnez Service tiers comme Cas d'utilisation.

  9. Cliquez sur Suivant.

  10. Facultatif : Ajoutez un tag de description.

  11. Cliquez sur Créer une clé d'accès.

  12. Cliquez sur Download .csv file (Télécharger le fichier .csv) pour enregistrer la clé d'accès et la clé d'accès secrète pour référence ultérieure.

  13. Cliquez sur OK.

  14. Sélectionnez l'onglet Autorisations.

  15. Cliquez sur Ajouter des autorisations dans la section Règles d'autorisation.

  16. Sélectionnez Ajouter des autorisations.

  17. Sélectionnez Joindre directement des règles.

  18. Recherchez la règle AmazonS3FullAccess.

  19. Sélectionnez la règle.

  20. Cliquez sur Suivant.

  21. Cliquez sur Ajouter des autorisations.

Configurer la connexion Dope Security Amazon S3

  1. Revenez à la console dope sur la page Paramètres> SIEM> Paramètres d'intégration du SIEM.
  2. Dans le champ Nom du bucket S3, saisissez le nom de votre bucket S3 (par exemple, chronicle-dope-swg-logs).
  3. Dans le volet de droite, vous verrez une section Règle de bucket avec une règle JSON pré-générée.
  4. Cliquez sur Copier à côté du code JSON de la règle pour le copier dans le presse-papiers.
  5. Dans un nouvel onglet de navigateur, accédez à la console AWS S3.
  6. Sélectionnez votre bucket S3 (par exemple, chronicle-dope-swg-logs).
  7. Accédez à l'onglet Autorisations.
  8. Faites défiler la page jusqu'à la section Règles du bucket.
  9. Cliquez sur Modifier.
  10. Collez le code JSON de la stratégie que vous avez copié depuis la console Dope dans la zone de texte Stratégie.
  11. Cliquez sur Enregistrer les modifications.
  12. Revenez à l'onglet de navigateur dope.console.
  13. Cliquez sur Synchroniser en bas de la page "Paramètres d'intégration du SIEM".
  14. Attendez la fin de la synchronisation.
  15. Vérifiez qu'une coche verte apparaît à côté du champ Nom du bucket S3.
  16. Vérifiez que le code temporel de la dernière synchronisation s'affiche en haut à droite de la page.

Configurer un flux dans Google SecOps pour ingérer les journaux Dope Security SWG

  1. Accédez à Paramètres SIEM> Flux.
  2. Cliquez sur Add New Feed (Ajouter un flux).
  3. Sur la page suivante, cliquez sur Configurer un seul flux.
  4. Saisissez un nom unique pour le nom du flux (par exemple, Dope Security SWG Logs).
  5. Sélectionnez Amazon S3 V2 comme type de source.
  6. Sélectionnez DOPE_SWG comme Type de journal.
  7. Cliquez sur Suivant, puis sur Envoyer.
  8. Indiquez les valeurs des champs suivants :

    • URI S3 : s3://chronicle-dope-swg-logs/ (remplacez par le nom de votre bucket)
    • Option de suppression de la source : sélectionnez l'option de suppression de votre choix.
    • Âge maximal des fichiers : incluez les fichiers modifiés au cours des derniers jours (180 jours par défaut).
    • ID de clé d'accès : clé d'accès utilisateur avec accès au bucket S3 (à partir de l'étape 12 de la configuration AWS)
    • Clé d'accès secrète : clé secrète de l'utilisateur ayant accès au bucket S3 (étape 12 de la configuration AWS)
    • 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
  9. Cliquez sur Suivant, puis sur Envoyer.

Documentation de référence sur le format des données de journaux

Dope Security exporte les journaux au format JSONL (JSON Lines) avec compression GZIP. Chaque entrée de journal contient les champs clés suivants :

Champ Description
Temporel Code temporel ISO 8601 indiquant quand la transaction Web a été demandée
Durée Durée de la connexion en millisecondes
Destination correspondante Domaine auquel la catégorie "Dope" a été associée
Adresse IP de destination Adresse IP de destination de l'URL demandée
ID du locataire ID de locataire unique dope.cloud du client
ID de l'agent ID d'agent unique pour dope.endpoint
Utilisateur Utilisateur connecté sur dope.endpoint
Utilisateur OIDC Adresse e-mail de l'utilisateur authentifié (lorsque l'authentification OIDC est activée)
Catégories Numéros de catégorie Dope correspondants (0 à 88) pour l'URL demandée
Verdict Résultat de la règle : Autoriser (0), Bloquer (1), Avertissement (2) ou Contourner (3)
Données envoyées Quantité de données envoyées dans la connexion (en octets)
Données reçues Quantité de données reçues dans la connexion (en octets)
Type de règle Type de règle appliquée : Web, Cloud Application Control (CAC), catégorie personnalisée, contournement ou logiciel malveillant
Détails du bloc Pour les verdicts de blocage : catégorie Dope, catégorie personnalisée, application cloud ou type de logiciel malveillant
Nom de fichier Nom de tout fichier téléchargé
Hachage du fichier Hachage de fichier pour les fichiers téléchargés
Nom du processus Nom du processus à l'origine de la requête d'URL
URL URL demandée complète
Nom de la règle Nom de la règle appliquée
Protocole Protocole utilisé (HTTP/2 ou HTTP/1.1, par exemple)
Hostname (Nom d'hôte) Nom d'hôte de l'appareil
Méthode de requête HTTP Méthode de requête HTTP (par exemple, GET, POST, PUT)
Arborescence des appels de processus Relations parent-enfant issues des opérations de création de processus avec des arguments de commande

Pour obtenir le mappage complet des catégories et des verdicts, consultez la documentation Mappages des catégories et des verdicts Dope Security.

Table de mappage UDM

Champ de journal Mappage UDM Logique
policy.categories, request.processTree additional.fields Fusionné en tant que liste à partir de policy.categories et request.processTree au format JSON
timestamp metadata.event_timestamp Analysé en tant que code temporel ISO8601 dans les formats JSON et CSV
metadata.event_type Défini sur NETWORK_HTTP si has_principal, has_target et has_http sont présents dans le fichier JSON ; sur NETWORK_CONNECTION si has_principal et has_target sont présents ; sur USER_UNCATEGORIZED si has_user est présent ; sur STATUS_UPDATE si has_principal est présent ; sur GENERIC_EVENT dans le cas contraire ; défini sur NETWORK_HTTP dans le fichier CSV
schemaVersion metadata.product_version Valeur copiée directement à partir de "schemaVersion" dans le fichier JSON
request.httpVersion network.http.user_agent Valeur copiée directement à partir de request.httpVersion dans JSON
bandwidth.dataReceivedInBytes, bytes_received network.received_bytes Converti en uinteger à partir de bandwidth.dataReceivedInBytes au format JSON ou bytes_received au format CSV si la valeur n'est pas vide et n'est pas égale à 0
bandwidth.dataSentInBytes, bytes_sent network.sent_bytes Converti en uinteger à partir de bandwidth.dataSentInBytes au format JSON ou bytes_sent au format CSV si la valeur n'est pas vide et n'est pas égale à 0
request.duration network.session_duration.seconds Converti en entier à partir de request.duration dans JSON
endpoint.agentID, endpoint_id principal.asset.asset_id Préfixé par DS : à partir de endpoint.agentID dans JSON ou endpoint_id dans CSV
endpoint.tenantID principal.asset.attribute.cloud.project.id Valeur copiée directement à partir de endpoint.tenantID dans JSON
endpoint.deviceName principal.asset.hostname Valeur copiée directement à partir de endpoint.deviceName dans le fichier JSON
endpoint.deviceName, endpoint_hostname principal.hostname Valeur de endpoint.deviceName au format JSON ou endpoint_hostname au format CSV
request.processName principal.process.command_line Valeur copiée directement à partir de request.processName dans le fichier JSON
process_name principal.process.file.names Valeur copiée directement à partir de process_name dans le fichier CSV
sso_user, user principal.user.account_type Définissez sur DOMAIN_ACCOUNT_TYPE si sso_user n'est pas vide, sinon LOCAL_ACCOUNT_TYPE dans le fichier CSV.
endpoint.oidcUser principal.user.email_addresses Fusionné si endpoint.oidcUser correspond à l'expression régulière d'adresse e-mail dans le fichier JSON
endpoint.oidcUser principal.user.user_display_name Valeur copiée directement si endpoint.oidcUser ne correspond pas à l'expression régulière de l'adresse e-mail dans le fichier JSON
endpoint.user, sso_user, user principal.user.userid Valeur de endpoint.user dans JSON ; de sso_user si elle n'est pas vide, sinon de user dans CSV
security_result security_result Fusionné à partir de security_result au format JSON
policy.verdict, verdict security_result.action Définissez sur BLOCK si la valeur de "policy.verdict" dans JSON ou "verdict" dans CSV est égale à 1, sur ALLOW si elle est égale à 0 et sur CHALLENGE si elle est égale à 2.
categories security_result.action_details Valeur copiée directement à partir des catégories du fichier CSV
policy.policyName security_result.rule_name Valeur copiée directement à partir de policy.policyName dans le fichier JSON
policy.policyType security_result.rule_type Valeur copiée directement à partir de policy.policyType dans JSON
file_name target.file.names Valeur copiée directement à partir de file_name au format CSV
file_hash target.file.sha256 Valeur copiée directement à partir de file_hash dans le fichier CSV
destination.matchedDestination, domain target.hostname Valeur de destination.matchedDestination si l'adresse IP n'est pas au format JSON ; du domaine au format CSV
destination.matchedDestination, destination.destinationIP, ip target.ip Valeur de destination.matchedDestination ou destination.destinationIP si l'adresse IP est au format JSON ; de l'adresse IP au format CSV
destination.url, url target.url Valeur de destination.url au format JSON ou de url au format CSV
metadata.product_name Définissez sur "DOPE_SWG" dans JSON et sur "SWG" dans CSV.
metadata.vendor_name Définissez sur "DOPE_SWG" dans JSON et "Dope Security" dans CSV.

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.