Collecter les journaux SentinelOne EDR
Ce document explique comment exporter des journaux SentinelOne vers Google Cloud Storage à l'aide de SentinelOne Cloud Funnel. Étant donné que SentinelOne n'offre pas d'intégration intégrée pour exporter directement les journaux vers Google Cloud Storage, Cloud Funnel sert de service intermédiaire pour transférer les journaux vers Cloud Storage.
Avant de commencer
Assurez-vous de remplir les conditions préalables suivantes :
- Instance Google SecOps
- Accès privilégié à la plate-forme Google Cloud
- Accès privilégié à SentinelOne
Configurer les autorisations pour que Cloud Funnels accède à Cloud Storage
- Connectez-vous à la consoleGoogle Cloud .
- Accédez à IAM et administration.
- Sur la page IAM, ajoutez un rôle IAM pour le compte de service Cloud Funnels :
- Attribuez des autorisations Créateur des objets de l'espace de stockage.
- Facultatif : attribuez le rôle Lecteur des objets Storage si vous avez besoin que Cloud Funnels lise les objets du bucket.
- Accordez ces autorisations au compte de service Cloud Funnels.
Créer un bucket Cloud Storage
- Connectez-vous à la consoleGoogle Cloud .
- Accédez à Storage> Browser (Stockage > Navigateur).
- Cliquez sur Créer un bucket.
- Fournissez les configurations suivantes :
- Nom du bucket : choisissez un nom unique pour votre bucket (par exemple, sentinelone-logs).
- Emplacement de stockage : sélectionnez la région dans laquelle le bucket sera situé (par exemple, us-west1).
- Classe de stockage : choisissez une classe de stockage Standard.
- Cliquez sur Créer.
Configurer Cloud Funnel dans SentinelOne
- Dans la console SentinelOne, accédez à Settings (Paramètres).
- Recherchez l'option Cloud Funnel (sous Intégrations).
- Si ce n'est pas déjà fait, cliquez sur Activer l'entonnoir cloud.
- Une fois activé, vous êtes invité à configurer les paramètres de Destination.
- Sélection de la destination : choisissez Google Cloud Storage comme destination pour l'exportation des journaux.
- Google Cloud Storage : fournissez les identifiants Google Cloud Storage.
- Fréquence d'exportation des journaux : définissez la fréquence d'exportation des journaux (par exemple, toutes les heures ou tous les jours).
Configurer l'exportation des journaux Cloud Funnels
- Dans la section Cloud Funnel Configuration (Configuration du canal cloud) de la console SentinelOne, définissez les paramètres suivants :
- Fréquence d'exportation des journaux : choisissez la fréquence à laquelle les journaux doivent être exportés (par exemple, toutes les heures ou tous les jours).
- Format du journal : sélectionnez le format JSON.
- Nom du bucket : saisissez le nom du bucket Google Cloud Storage que vous avez créé précédemment (par exemple, sentinelone-logs).
- Facultatif : Préfixe du chemin d'accès au journal : spécifiez un préfixe pour organiser les journaux dans le bucket (par exemple,
sentinelone-logs/
).
- Une fois les paramètres configurés, cliquez sur Enregistrer pour appliquer les modifications.
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 Sentinel EDR).
- Sélectionnez Google Cloud Storage comme Type de source.
- Sélectionnez Sentinel EDR comme Type de journal.
- Cliquez sur Obtenir un compte de service en tant que compte de service Chronicle.
- Cliquez sur Suivant.
Spécifiez les valeurs des paramètres d'entrée suivants :
- URI du bucket Storage : URL du bucket Cloud Storage au format
gs://my-bucket/<value>
. - URI Is A (L'URI est un) : sélectionnez Directory which includes subdirectories (Répertoire incluant des sous-répertoires).
Options de suppression de la source : sélectionnez l'option de suppression en fonction de vos préférences d'ingestion.
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.
- URI du bucket Storage : URL du bucket Cloud Storage au format
Cliquez sur Suivant.
Vérifiez la configuration de votre nouveau flux sur l'écran Finaliser, puis cliquez sur Envoyer.
Configurer des flux depuis le Hub de contenu
Indiquez les valeurs des champs suivants :
- URI du bucket de stockage : URI source du bucket Google Cloud Storage.
- L'URI est : sélectionnez le TYPE d'URI en fonction de la configuration du flux de journaux (Fichier unique | Répertoire | Répertoire incluant des sous-répertoires).
- Options de suppression de la source : sélectionnez l'option de suppression en fonction de vos préférences d'ingestion.
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 associé au flux.
- Libellés d'ingestion : libellés appliqués à tous les événements de ce flux.
Table de mappage UDM
Champ de journal | Mappage UDM | Logique |
---|---|---|
event.contentHash.sha256 |
target.process.file.sha256 |
Hachage SHA-256 du fichier du processus cible, extrait du champ event.contentHash.sha256 dans le journal brut. |
event.decodedContent |
target.labels |
Contenu décodé d'un script, extrait du champ event.decodedContent du journal brut. Il est ajouté en tant que libellé avec la clé Decoded Content à l'objet cible. |
event.destinationAddress.address |
target.ip |
Adresse IP de la destination, extraite du champ event.destinationAddress.address du journal brut. |
event.destinationAddress.port |
target.port |
Port de la destination, extrait du champ event.destinationAddress.port du journal brut. |
event.method |
network.http.method |
Méthode HTTP de l'événement, extraite du champ event.method du journal brut. |
event.newValueData |
target.registry.registry_value_data |
Nouvelle valeur de données de la valeur de registre, extraite du champ event.newValueData dans le journal brut. |
event.process.commandLine |
target.process.command_line |
Ligne de commande du processus, extraite du champ event.process.commandLine du journal brut. |
event.process.executable.hashes.md5 |
target.process.file.md5 |
Hachage MD5 de l'exécutable du processus, extrait du champ event.process.executable.hashes.md5 du journal brut. |
event.process.executable.hashes.sha1 |
target.process.file.sha1 |
Hachage SHA-1 de l'exécutable du processus, extrait du champ event.process.executable.hashes.sha1 du journal brut. |
event.process.executable.hashes.sha256 |
target.process.file.sha256 |
Hachage SHA-256 de l'exécutable du processus, extrait du champ event.process.executable.hashes.sha256 du journal brut. |
event.process.executable.path |
target.process.file.full_path |
Chemin complet de l'exécutable du processus, extrait du champ event.process.executable.path du journal brut. |
event.process.executable.sizeBytes |
target.process.file.size |
Taille de l'exécutable du processus, extraite du champ event.process.executable.sizeBytes du journal brut. |
event.process.fullPid.pid |
target.process.pid |
PID du processus, extrait du champ event.process.fullPid.pid du journal brut. |
event.query |
network.dns.questions.name |
Requête DNS extraite du champ event.query du journal brut. |
event.regKey.path |
target.registry.registry_key |
Chemin d'accès de la clé de registre, extrait du champ event.regKey.path du journal brut. |
event.regValue.key.value |
target.registry.registry_name , target.registry.registry_value_name |
Nom de la valeur de registre, extrait du champ event.regValue.key.value du journal brut. |
event.regValue.path |
target.registry.registry_key |
Chemin d'accès à la valeur de registre, extrait du champ event.regValue.path du journal brut. |
event.results |
network.dns.answers.data |
Réponses DNS extraites du champ event.results du journal brut. Les données sont divisées en réponses individuelles à l'aide du séparateur "; ". |
event.source.commandLine |
principal.process.command_line |
Ligne de commande du processus source, extraite du champ event.source.commandLine dans le journal brut. |
event.source.executable.hashes.md5 |
principal.process.file.md5 |
Hachage MD5 de l'exécutable du processus source, extrait du champ event.source.executable.hashes.md5 du journal brut. |
event.source.executable.hashes.sha1 |
principal.process.file.sha1 |
Hachage SHA-1 de l'exécutable du processus source, extrait du champ event.source.executable.hashes.sha1 du journal brut. |
event.source.executable.hashes.sha256 |
principal.process.file.sha256 |
Hachage SHA-256 de l'exécutable du processus source, extrait du champ event.source.executable.hashes.sha256 du journal brut. |
event.source.executable.path |
principal.process.file.full_path |
Chemin complet de l'exécutable du processus source, extrait du champ event.source.executable.path du journal brut. |
event.source.executable.signature.signed.identity |
principal.resource.attribute.labels |
Identité signée de l'exécutable du processus source, extraite du champ event.source.executable.signature.signed.identity dans le journal brut. Il est ajouté en tant que libellé avec la clé Source Signature Signed Identity aux libellés des attributs de ressources principaux. |
event.source.executable.sizeBytes |
principal.process.file.size |
Taille de l'exécutable du processus source, extraite du champ event.source.executable.sizeBytes dans le journal brut. |
event.source.fullPid.pid |
principal.process.pid |
PID du processus source, extrait du champ event.source.fullPid.pid du journal brut. |
event.source.parent.commandLine |
principal.process.parent_process.command_line |
Ligne de commande du processus parent source, extraite du champ event.source.parent.commandLine dans le journal brut. |
event.source.parent.executable.hashes.md5 |
principal.process.parent_process.file.md5 |
Hachage MD5 de l'exécutable du processus parent source, extrait du champ event.source.parent.executable.hashes.md5 du journal brut. |
event.source.parent.executable.hashes.sha1 |
principal.process.parent_process.file.sha1 |
Hachage SHA-1 de l'exécutable du processus parent source, extrait du champ event.source.parent.executable.hashes.sha1 du journal brut. |
event.source.parent.executable.hashes.sha256 |
principal.process.parent_process.file.sha256 |
Hachage SHA-256 de l'exécutable du processus parent de la source, extrait du champ event.source.parent.executable.hashes.sha256 du journal brut. |
event.source.parent.executable.signature.signed.identity |
principal.resource.attribute.labels |
Identité signée de l'exécutable du processus parent source, extraite du champ event.source.parent.executable.signature.signed.identity dans le journal brut. Il est ajouté en tant que libellé avec la clé Source Parent Signature Signed Identity aux libellés des attributs de ressources principaux. |
event.source.parent.fullPid.pid |
principal.process.parent_process.pid |
PID du processus parent source, extrait du champ event.source.parent.fullPid.pid du journal brut. |
event.source.user.name |
principal.user.userid |
Nom d'utilisateur du processus source, extrait du champ event.source.user.name du journal brut. |
event.source.user.sid |
principal.user.windows_sid |
SID Windows de l'utilisateur du processus source, extrait du champ event.source.user.sid du journal brut. |
event.sourceAddress.address |
principal.ip |
Adresse IP de la source, extraite du champ event.sourceAddress.address du journal brut. |
event.sourceAddress.port |
principal.port |
Port de la source, extrait du champ event.sourceAddress.port du journal brut. |
event.target.executable.hashes.md5 |
target.process.file.md5 |
Hachage MD5 de l'exécutable du processus cible, extrait du champ event.target.executable.hashes.md5 du journal brut. |
event.target.executable.hashes.sha1 |
target.process.file.sha1 |
Hachage SHA-1 de l'exécutable du processus cible, extrait du champ event.target.executable.hashes.sha1 du journal brut. |
event.target.executable.hashes.sha256 |
target.process.file.sha256 |
Hachage SHA-256 de l'exécutable du processus cible, extrait du champ event.target.executable.hashes.sha256 du journal brut. |
event.target.executable.path |
target.process.file.full_path |
Chemin complet de l'exécutable du processus cible, extrait du champ event.target.executable.path du journal brut. |
event.target.executable.signature.signed.identity |
target.resource.attribute.labels |
Identité signée de l'exécutable du processus cible, extraite du champ event.target.executable.signature.signed.identity du journal brut. Il est ajouté en tant que libellé avec la clé Target Signature Signed Identity aux libellés des attributs de ressources cibles. |
event.target.executable.sizeBytes |
target.process.file.size |
Taille de l'exécutable du processus cible, extraite du champ event.target.executable.sizeBytes du journal brut. |
event.target.fullPid.pid |
target.process.pid |
PID du processus cible, extrait du champ event.target.fullPid.pid du journal brut. |
event.targetFile.path |
target.file.full_path |
Chemin d'accès complet au fichier cible, extrait du champ event.targetFile.path dans le journal brut. |
event.targetFile.signature.signed.identity |
target.resource.attribute.labels |
Identité signée du fichier cible, extraite du champ event.targetFile.signature.signed.identity du journal brut. Il est ajouté en tant que libellé avec la clé Target File Signature Signed Identity aux libellés des attributs de ressources cibles. |
event.trueContext.key.value |
Non mappé à l'UDM. | |
event.type |
metadata.description |
Type d'événement, extrait du champ event.type du journal brut. |
event.url |
target.url |
URL de l'événement, extraite du champ event.url du journal brut. |
meta.agentVersion |
metadata.product_version – metadata.product_version |
Version de l'agent, extraite du champ meta.agentVersion dans le journal brut. |
meta.computerName |
principal.hostname , target.hostname |
Nom d'hôte de l'ordinateur, extrait du champ meta.computerName du journal brut. |
meta.osFamily |
principal.asset.platform_software.platform , target.asset.platform_software.platform |
Famille de système d'exploitation de l'ordinateur, extraite du champ meta.osFamily du journal brut. Il est mappé sur LINUX pour linux et sur WINDOWS pour windows . |
meta.osRevision |
principal.asset.platform_software.platform_version , target.asset.platform_software.platform_version |
Révision du système d'exploitation de l'ordinateur, extraite du champ meta.osRevision du journal brut. |
meta.traceId |
metadata.product_log_id |
ID de trace de l'événement, extrait du champ meta.traceId du journal brut. |
meta.uuid |
principal.asset.product_object_id , target.asset.product_object_id |
UUID de l'ordinateur, extrait du champ meta.uuid du journal brut. |
metadata_event_type |
metadata.event_type |
Type d'événement, défini par la logique du parseur en fonction du champ event.type . |
metadata_product_name |
metadata.product_name |
Nom du produit, défini sur Singularity XDR par la logique de l'analyseur. |
metadata_vendor_name |
metadata.vendor_name |
Nom du fournisseur, défini sur SentinelOne par la logique de l'analyseur. |
network_application_protocol |
network.application_protocol |
Protocole d'application de la connexion réseau, défini sur DNS pour les événements DNS par la logique de l'analyseur. |
network_dns_questions.name |
network.dns.questions.name |
Nom de la requête DNS, extrait du champ event.query du journal brut. |
network_direction |
network.direction |
Direction de la connexion réseau, définie sur OUTBOUND pour les connexions sortantes et sur INBOUND pour les connexions entrantes par la logique du parseur. |
network_http_method |
network.http.method |
Méthode HTTP de l'événement, extraite du champ event.method du journal brut. |
principal.process.command_line |
target.process.command_line |
Ligne de commande du processus principal, extraite du champ principal.process.command_line et mappée à la ligne de commande du processus cible. |
principal.process.file.full_path |
target.process.file.full_path |
Chemin d'accès complet au fichier du processus principal, extrait du champ principal.process.file.full_path et mappé au chemin d'accès complet au fichier du processus cible. |
principal.process.file.md5 |
target.process.file.md5 |
Hachage MD5 du fichier du processus principal, extrait du champ principal.process.file.md5 et mappé au MD5 du fichier du processus cible. |
principal.process.file.sha1 |
target.process.file.sha1 |
Hachage SHA-1 du fichier du processus principal, extrait du champ principal.process.file.sha1 et mappé au SHA-1 du fichier du processus cible. |
principal.process.file.sha256 |
target.process.file.sha256 |
Hachage SHA-256 du fichier du processus principal, extrait du champ principal.process.file.sha256 et mappé au SHA-256 du fichier du processus cible. |
principal.process.file.size |
target.process.file.size |
Taille du fichier du processus principal, extraite du champ principal.process.file.size et mappée à la taille du fichier du processus cible. |
principal.process.pid |
target.process.pid |
PID du processus principal, extrait du champ principal.process.pid et mappé au PID du processus cible. |
principal.user.userid |
target.user.userid |
ID utilisateur du principal, extrait du champ principal.user.userid et mappé à l'ID utilisateur cible. |
principal.user.windows_sid |
target.user.windows_sid |
SID Windows du principal, extrait du champ principal.user.windows_sid et mappé au SID Windows de l'utilisateur cible. |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.