Collecter les journaux Tanium Stream
Ce document explique comment ingérer des journaux Tanium Stream dans Google Security Operations à l'aide de la fonctionnalité d'exportation AWS S3 native de Tanium Connect. Tanium Stream fournit des données de télémétrie des points de terminaison, des données de chasse aux menaces et des analyses comportementales en temps réel au format JSON. Ces données peuvent être exportées directement vers S3 à l'aide de Tanium Connect, sans nécessiter de fonctions Lambda personnalisées. L'analyseur transforme les journaux JSON bruts de Tanium Stream en modèle de données unifié (UDM). Il normalise d'abord les champs courants, puis applique une logique spécifique en fonction de "logType" ou "eventType" pour mapper les informations pertinentes dans les champs UDM appropriés, en gérant différents types d'événements tels que les connexions réseau, les connexions utilisateur, les lancements de processus et les modifications de fichiers.
Avant de commencer
Assurez-vous de remplir les conditions suivantes :
- Une instance Google SecOps
- Tanium Core Platform 7.0 ou version ultérieure
- Module Tanium Stream installé et configuré
- Module Tanium Connect installé avec une licence valide
- Tanium Threat Response 3.4.346 ou version ultérieure (si vous utilisez l'intégration TR)
- Accès privilégié à la console Tanium avec droits d'administrateur
- Accès privilégié à AWS (S3, IAM)
Configurer le compte de service Tanium Stream
- Connectez-vous à la console Tanium.
- Accédez à Modules > Flux.
- Cliquez sur Paramètres en haut à droite.
- Dans la section Compte de service, configurez les éléments suivants :
- Utilisateur du compte de service : sélectionnez un utilisateur disposant des autorisations Stream appropriées.
- Vérifiez que le compte dispose du rôle utilisateur "Connect".
- Confirmez l'accès aux sources de données et aux points de terminaison Stream.
- Cliquez sur Enregistrer pour appliquer la configuration du compte de service.
Collecter les conditions préalables de Tanium Stream
- Connectez-vous à la console Tanium en tant qu'administrateur.
- Accédez à Administration > Autorisations > Utilisateurs.
- Créez ou identifiez un utilisateur de compte de service avec les rôles suivants :
- Rôle Administrateur Stream ou Utilisateur Stream en lecture seule.
- Privilège du rôle Connect User (Utilisateur Connect).
- Accès aux groupes d'ordinateurs surveillés (recommandé : groupe Tous les ordinateurs).
- Autorisation Lire les questions enregistrées pour les ensembles de contenus Stream.
Configurer un bucket AWS S3 et IAM pour Google SecOps
- Créez un bucket Amazon S3 en suivant ce guide de l'utilisateur : Créer un bucket.
- Enregistrez le Nom et la Région du bucket pour référence ultérieure (par exemple,
tanium-stream-logs
). - Créez un utilisateur en suivant ce guide : Créer un utilisateur IAM.
- Sélectionnez l'utilisateur créé.
- Sélectionnez l'onglet Informations d'identification de sécurité.
- Cliquez sur Créer une clé d'accès dans la section Clés d'accès.
- Sélectionnez Service tiers comme Cas d'utilisation.
- Cliquez sur Suivant.
- Facultatif : ajoutez un tag de description.
- Cliquez sur Créer une clé d'accès.
- Cliquez sur Télécharger le fichier CSV pour enregistrer la clé d'accès et la clé d'accès secrète pour une utilisation ultérieure.
- Cliquez sur OK.
- Sélectionnez l'onglet Autorisations.
- Cliquez sur Ajouter des autorisations dans la section Règles d'autorisation.
- Sélectionnez Ajouter des autorisations.
- Sélectionnez Joindre directement des règles.
- Recherchez et sélectionnez la règle AmazonS3FullAccess.
- Cliquez sur Suivant.
- Cliquez sur Ajouter des autorisations.
Configurer la destination Tanium Connect AWS S3
- Connectez-vous à la console Tanium.
- Accédez à Modules > Connect.
- Cliquez sur Créer une connexion.
- Fournissez les informations de configuration suivantes :
- Nom : saisissez un nom descriptif (par exemple,
Stream Telemetry to S3 for SecOps
). - Description : description facultative (par exemple,
Export endpoint telemetry and threat hunting data to AWS S3 for Google SecOps ingestion
). - Activer : sélectionnez cette option pour activer la connexion et l'exécuter selon la programmation.
- Nom : saisissez un nom descriptif (par exemple,
- Cliquez sur Suivant.
Configurer la source de connexion
- Dans la section Source, fournissez les informations de configuration suivantes :
- Type de source : sélectionnez Question enregistrée.
- Question enregistrée : sélectionnez l'une des questions enregistrées suivantes liées à Stream :
- Flux – Événements de point de terminaison pour la télémétrie des points de terminaison en temps réel.
- Flux > Événements réseau pour surveiller l'activité réseau.
- Flux – Traiter les événements pour le suivi de l'exécution des processus.
- Flux > Événements de fichier pour l'activité du système de fichiers.
- Flux – Données de chasse aux menaces pour l'analyse comportementale.
- Groupe d'ordinateurs : sélectionnez Tous les ordinateurs ou des groupes d'ordinateurs spécifiques à surveiller.
- Intervalle d'actualisation : définissez un intervalle approprié pour la collecte de données (par exemple, 5 minutes pour la télémétrie en temps réel).
- Cliquez sur Suivant.
Configurer la destination AWS S3
- Dans la section Destination, fournissez les informations de configuration suivantes :
- Type de destination : sélectionnez AWS S3.
- Nom de la destination : saisissez un nom unique (par exemple,
Google SecOps Stream S3 Destination
). - Clé d'accès AWS : saisissez la clé d'accès AWS du fichier CSV téléchargé lors de l'étape de configuration d'AWS S3.
- Clé d'accès secrète AWS : saisissez la clé d'accès secrète AWS à partir du fichier CSV téléchargé lors de l'étape de configuration d'AWS S3.
- Nom du bucket : saisissez le nom de votre bucket S3 (par exemple,
tanium-stream-logs
). - Région : sélectionnez la région AWS où se trouve votre bucket S3.
- Préfixe de clé : saisissez un préfixe pour les objets S3 (par exemple,
tanium/stream/
).
- Cliquez sur Suivant.
Configurer des filtres
- Dans la section Filtres, configurez les options de filtrage des données :
- Envoyer uniquement les nouveaux éléments : sélectionnez cette option pour n'envoyer que les nouvelles données de télémétrie depuis la dernière exportation.
- Filtres de colonne : ajoutez des filtres basés sur des attributs d'événement spécifiques si nécessaire (par exemple, filtrez par type d'événement, nom de processus ou indicateurs de menace).
- Cliquez sur Suivant.
Mettre en forme les données pour AWS S3
- Dans la section Format, configurez le format des données :
- Format : sélectionnez JSON.
- Options :
- Inclure les en-têtes : décochez cette option pour éviter d'inclure les en-têtes dans la sortie JSON.
- Inclure les cellules vides : sélectionnez cette option selon vos préférences.
- Options avancées :
- Nommage des fichiers : utilisez le nommage par défaut basé sur le code temporel.
- Compression : sélectionnez Gzip pour réduire les coûts de stockage et le temps de transfert.
- Cliquez sur Suivant.
Planifier la connexion
- Dans la section Programmation, configurez la programmation de l'exportation :
- Activer la planification : sélectionnez cette option pour activer les exportations automatiques planifiées.
- Type de programmation : sélectionnez Récurrente.
- Fréquence : sélectionnez Toutes les 5 minutes pour obtenir des données de télémétrie en temps quasi réel.
- Heure de début : définissez une heure de début appropriée pour la première exportation.
- Cliquez sur Suivant.
Enregistrer et valider la connexion
- Vérifiez la configuration de la connexion sur l'écran récapitulatif.
- Cliquez sur Save (Enregistrer) pour créer la connexion.
- Cliquez sur Tester la connexion pour vérifier la configuration.
- Si le test réussit, cliquez sur Exécuter maintenant pour effectuer une première exportation.
- Surveillez l'état de la connexion sur la page Présentation de Connect.
Configurer un flux dans Google SecOps pour ingérer les journaux Tanium Stream
- Accédez à Paramètres SIEM> Flux.
- Cliquez sur + Ajouter un flux.
- Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple,
Tanium Stream logs
). - Sélectionnez Amazon S3 V2 comme type de source.
- Sélectionnez Tanium Stream comme type de journal.
- Cliquez sur Suivant.
- Spécifiez les valeurs des paramètres d'entrée suivants :
- URI S3 :
s3://tanium-stream-logs/tanium/stream/
- Options 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. La valeur par défaut est de 180 jours.
- ID de clé d'accès : clé d'accès utilisateur ayant accès au bucket S3.
- Clé d'accès secrète : clé secrète de l'utilisateur ayant accès au bucket S3.
- 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 S3 :
- Cliquez sur Suivant.
- Vérifiez la configuration de votre nouveau flux sur l'écran Finaliser, puis cliquez sur Envoyer.
Table de mappage UDM
Champ du journal | Mappage UDM | Logique |
---|---|---|
additional.event__AlgorithmName | additional.fields.key: eventAlgorithmName additional.fields.value.string_value: %{additional.eventAlgorithmName} |
Valeur extraite directement du champ de journal brut additional.event__AlgorithmName . |
additional.event__AuthenticationPackageName | target.resource.name: %{additional.event__AuthenticationPackageName} | Valeur extraite directement du champ de journal brut additional.event__AuthenticationPackageName . |
additional.event__CallerProcessId | principal.process.pid: %{additional.event__CallerProcessId} | Valeur extraite directement du champ de journal brut additional.event__CallerProcessId . |
additional.event__CallerProcessName | principal.process.file.fullpath: %{additional.event_CallerProcessName} | Valeur extraite directement du champ de journal brut additional.event__CallerProcessName . |
additional.event__ClientProcessId | principal.process.pid: %{additional.event__ClientProcessId} | Valeur extraite directement du champ de journal brut additional.event__ClientProcessId . |
additional.event__ClientProcessStartKey | additional.fields.key: eventClientProcessStartKey additional.fields.value.string_value: %{additional.eventClientProcessStartKey} |
Valeur extraite directement du champ de journal brut additional.event__ClientProcessStartKey . |
additional.event__CommandLine | target.process.commandline: %{additional.event_CommandLine} | Valeur extraite directement du champ de journal brut additional.event__CommandLine . |
additional.event__ElevatedToken | additional.fields.key: event__ElevatedToken additional.fields.value.string_value: Yes/No |
Valeur extraite directement du champ de journal brut additional.event__ElevatedToken .Si la valeur est "%%1842", elle est remplacée par "Oui". Si la valeur est "%%1843", elle est remplacée par "Non". |
additional.event__FQDN | principal.hostname: %{additional.event__FQDN} | Valeur extraite directement du champ de journal brut additional.event__FQDN . |
additional.event__FailureReason | additional.fields.key: eventFailureReason additional.fields.value.string_value: %{additional.eventFailureReason} |
Valeur extraite directement du champ de journal brut additional.event__FailureReason . |
additional.event__ImpersonationLevel | additional.fields.key: eventImpersonationLevel additional.fields.value.string_value: %{additional.eventImpersonationLevel} |
Valeur extraite directement du champ de journal brut additional.event__ImpersonationLevel . |
additional.event__IpAddress | target.ip: %{additional.event__IpAddress} | Valeur extraite directement du champ de journal brut additional.event__IpAddress . |
additional.event__IpPort | target.port: %{additional.event__IpPort} | Valeur extraite directement du champ de journal brut additional.event__IpPort et convertie en nombre entier. |
additional.event__KeyLength | additional.fields.key: eventKeyLength additional.fields.value.string_value: %{additional.eventKeyLength} |
Valeur extraite directement du champ de journal brut additional.event__KeyLength . |
additional.event__KeyName | additional.fields.key: eventKeyName additional.fields.value.string_value: %{additional.eventKeyName} |
Valeur extraite directement du champ de journal brut additional.event__KeyName . |
additional.event__KeyType | additional.fields.key: eventKeyType additional.fields.value.string_value: %{additional.eventKeyType} |
Valeur extraite directement du champ de journal brut additional.event__KeyType . |
additional.event__LmPackageName | additional.fields.key: eventLmPackageName additional.fields.value.string_value: %{additional.eventLmPackageName} |
Valeur extraite directement du champ de journal brut additional.event__LmPackageName . |
additional.event__LogonGuid | target.resource.product_objectid: %{additional.event_LogonGuid} | Valeur extraite directement du champ de journal brut additional.event__LogonGuid , sans les accolades. |
additional.event__LogonProcessName | target.process.file.fullpath: %{additional.event_LogonProcessName} | Valeur extraite directement du champ de journal brut additional.event__LogonProcessName . |
additional.event__LogonType | extensions.auth.authdetails: Logon Type: %{additional.event_LogonType} | Valeur extraite directement du champ de journal brut additional.event__LogonType . |
additional.event__MandatoryLabel | additional.fields.key: eventMandatoryLabel additional.fields.value.string_value: %{additional.eventMandatoryLabel} |
Valeur extraite directement du champ de journal brut additional.event__MandatoryLabel . |
additional.event__NewProcessId | target.process.pid: %{additional.event__NewProcessId} | Valeur extraite directement du champ de journal brut additional.event__NewProcessId . |
additional.event__NewProcessName | target.process.file.fullpath: %{additional.event_NewProcessName} | Valeur extraite directement du champ de journal brut additional.event__NewProcessName . |
additional.event__ObjectServer | security_result.categorydetails: %{additional.event_ObjectServer} | Valeur extraite directement du champ de journal brut additional.event__ObjectServer . |
additional.event__Operation | additional.fields.key: eventOperation additional.fields.value.string_value: %{additional.eventOperation} |
Valeur extraite directement du champ de journal brut additional.event__Operation . |
additional.event__ParentProcessId | principal.process.parentprocess.pid: %{additional.event_ParentProcessId} | Valeur extraite directement du champ de journal brut additional.event__ParentProcessId . |
additional.event__ParentProcessName | principal.process.parent_process.file.fullpath: %{additional.event_ParentProcessName} | Valeur extraite directement du champ de journal brut additional.event__ParentProcessName . |
additional.event__ProcessId | principal.process.pid: %{additional.event__ProcessId} | Valeur extraite directement du champ de journal brut additional.event__ProcessId . |
additional.event__ProcessName | principal.process.file.fullpath: %{additional.event_ProcessName} | Valeur extraite directement du champ de journal brut additional.event__ProcessName . |
additional.event__PrivilegeList | principal.user.attribute.permissions.name: %{additional.event__PrivilegeList} | Valeur extraite directement du champ de journal brut additional.event__PrivilegeList . |
additional.event__ProviderName | additional.fields.key: eventProviderName additional.fields.value.string_value: %{additional.eventProviderName} |
Valeur extraite directement du champ de journal brut additional.event__ProviderName . |
additional.event__RestrictedAdminMode | additional.fields.key: eventRestrictedAdminMode additional.fields.value.string_value: %{additional.eventRestrictedAdminMode} |
Valeur extraite directement du champ de journal brut additional.event__RestrictedAdminMode . |
additional.event__ReturnCode | additional.fields.key: eventReturnCode additional.fields.value.string_value: %{additional.eventReturnCode} |
Valeur extraite directement du champ de journal brut additional.event__ReturnCode . |
additional.event__RpcCallClientLocality | additional.fields.key: eventRpcCallClientLocality additional.fields.value.string_value: %{additional.eventRpcCallClientLocality} |
Valeur extraite directement du champ de journal brut additional.event__RpcCallClientLocality . |
additional.event__Service | securityresult.description: %{additional.event_Service} | Valeur extraite directement du champ de journal brut additional.event__Service . |
additional.event__Status | additional.fields.key: eventStatus additional.fields.value.string_value: %{additional.eventStatus} |
Valeur extraite directement du champ de journal brut additional.event__Status . |
additional.event__SubStatus | additional.fields.key: eventSubStatus additional.fields.value.string_value: %{additional.eventSubStatus} |
Valeur extraite directement du champ de journal brut additional.event__SubStatus . |
additional.event__SubjectDomainName | principal.administrativedomain: %{additional.event_SubjectDomainName} | Valeur extraite directement du champ de journal brut additional.event__SubjectDomainName . |
additional.event__SubjectLogonId | additional.fields.key: eventSubjectLogonId additional.fields.value.string_value: %{additional.eventSubjectLogonId} |
Valeur extraite directement du champ de journal brut additional.event__SubjectLogonId . |
additional.event__SubjectUserName | principal.user.user_displayname: %{additional.event_SubjectUserName} | Valeur extraite directement du champ de journal brut additional.event__SubjectUserName . |
additional.event__SubjectUserSid | principal.user.windowssid: %{additional.event_SubjectUserSid} | Valeur extraite directement du champ de journal brut additional.event__SubjectUserSid . |
additional.event__TaskContentNew | additional.fields.key: eventTaskContentNew additional.fields.value.string_value: %{additional.eventTaskContentNew} |
Valeur extraite directement du champ de journal brut additional.event__TaskContentNew . |
additional.event__TaskName | additional.fields.key: eventTaskName additional.fields.value.string_value: %{additional.eventTaskName} |
Valeur extraite directement du champ de journal brut additional.event__TaskName . |
additional.event__TargetDomainName | target.administrativedomain: %{additional.event_TargetDomainName} | Valeur extraite directement du champ de journal brut additional.event__TargetDomainName . |
additional.event__TargetLinkedLogonId | additional.fields.key: eventTargetLinkedLogonId additional.fields.value.string_value: %{additional.eventTargetLinkedLogonId} |
Valeur extraite directement du champ de journal brut additional.event__TargetLinkedLogonId . |
additional.event__TargetLogonId | additional.fields.key: eventTargetLogonId additional.fields.value.string_value: %{additional.eventTargetLogonId} |
Valeur extraite directement du champ de journal brut additional.event__TargetLogonId . |
additional.event__TargetOutboundDomainName | additional.fields.key: eventTargetOutboundDomainName additional.fields.value.string_value: %{additional.eventTargetOutboundDomainName} |
Valeur extraite directement du champ de journal brut additional.event__TargetOutboundDomainName . |
additional.event__TargetOutboundUserName | additional.fields.key: eventTargetOutboundUserName additional.fields.value.string_value: %{additional.eventTargetOutboundUserName} |
Valeur extraite directement du champ de journal brut additional.event__TargetOutboundUserName . |
additional.event__TargetSid | target.user.windowssid: %{additional.event_TargetSid} | Valeur extraite directement du champ de journal brut additional.event__TargetSid . |
additional.event__TargetUserName | target.user.userid: %{additional.event__TargetUserName} | Valeur extraite directement du champ de journal brut additional.event__TargetUserName . |
additional.event__TargetUserSid | target.user.windowssid: %{additional.event_TargetUserSid} | Valeur extraite directement du champ de journal brut additional.event__TargetUserSid . |
additional.event__TokenElevationType | additional.fields.key: eventTokenElevationType additional.fields.value.string_value: %{additional.eventTokenElevationType} |
Valeur extraite directement du champ de journal brut additional.event__TokenElevationType . |
additional.event__TransmittedServices | additional.fields.key: eventTransmittedServices additional.fields.value.string_value: %{additional.eventTransmittedServices} |
Valeur extraite directement du champ de journal brut additional.event__TransmittedServices . |
additional.event__VirtualAccount | additional.fields.key: eventVirtualAccount additional.fields.value.string_value: %{additional.eventVirtualAccount} |
Valeur extraite directement du champ de journal brut additional.event__VirtualAccount . |
additional.event__WorkstationName | target.hostname: %{additional.event__WorkstationName} | Valeur extraite directement du champ de journal brut additional.event__WorkstationName . |
additional.event_id | security_result.rule_name: EventID: %{additional.event_id} | Valeur extraite directement du champ de journal brut additional.event_id et convertie en chaîne. |
additional.query | network.dns.questions.name: %{additional.query} | Valeur extraite directement du champ de journal brut additional.query . |
additional.response | network.dns.answers.name: %{additional.response} | Valeur extraite directement du champ de journal brut additional.response . |
metadata.description | metadata.description: %{metadata.description} | Valeur extraite directement du champ de journal brut metadata.description . |
metadata.eventTimestamp | metadata.event_timestamp.seconds: Extracted from %{metadata.eventTimestamp} metadata.event_timestamp.nanos: Extracted from %{metadata.eventTimestamp} |
Les secondes et les nanosecondes sont extraites du champ de journal brut metadata.eventTimestamp à l'aide de l'analyse de la date. |
metadata.eventType | metadata.product_event_type: %{metadata.eventType} metadata.event_type: %{metadata.eventType} |
Valeur extraite directement du champ de journal brut metadata.eventType . |
metadata.logType | metadata.product_event_type: %{metadata.logType} metadata.event_type: %{metadata.logType} |
Valeur extraite directement du champ de journal brut metadata.logType . |
network.applicationProtocol | network.application_protocol: %{network.applicationProtocol} | Valeur extraite directement du champ de journal brut network.applicationProtocol . |
network.direction | network.direction: %{network.direction} | Valeur extraite directement du champ de journal brut network.direction . |
network.ipProtocol | network.ip_protocol: %{network.ipProtocol} | Valeur extraite directement du champ de journal brut network.ipProtocol . |
principal.assetId | principal.asset_id: TANIUM:%{principal.assetId} | Valeur extraite directement du champ de journal brut principal.assetId et précédée du préfixe "TANIUM:". |
principal.hostname | principal.hostname : %{principal.hostname} | Valeur extraite directement du champ de journal brut principal.hostname . |
principal.process.companySpecificParentProcessId | principal.process.product_specific_process_id: TANIUM:%{principal.assetId}:%{principal.process.companySpecificParentProcessId} | Valeur extraite directement du champ de journal brut principal.process.companySpecificParentProcessId et mise en forme comme suit : "TANIUM:%{principal.assetId}:%{principal.process.companySpecificParentProcessId}". |
principal.process.companySpecificProcessId | principal.process.product_specific_process_id: TANIUM:%{principal.assetId}:%{principal.process.companySpecificProcessId} | Valeur extraite directement du champ de journal brut principal.process.companySpecificProcessId et mise en forme comme suit : "TANIUM:%{principal.assetId}:%{principal.process.companySpecificProcessId}". |
principal.process.commandLine | target.process.command_line: %{principal.process.commandLine} | Valeur extraite directement du champ de journal brut principal.process.commandLine , sans les guillemets doubles et avec les tirets remplacés par des esperluettes. |
principal.process.file.fullPath | target.process.file.full_path: %{principal.process.file.fullPath} | Valeur extraite directement du champ de journal brut principal.process.file.fullPath . |
principal.process.file.md5 | target.process.file.md5: %{principal.process.file.md5} | Valeur extraite directement du champ de journal brut principal.process.file.md5 et convertie en minuscules. |
principal.process.parentPid | principal.process.pid: %{principal.process.parentPid} | Valeur extraite directement du champ de journal brut principal.process.parentPid uniquement pour les événements PROCESS_LAUNCH . |
principal.process.pid | target.process.pid: %{principal.process.pid} | Valeur extraite directement du champ de journal brut principal.process.pid uniquement pour les événements PROCESS_LAUNCH . |
principal.process.productSpecificProcessId | principal.process.product_specific_process_id: TANIUM:%{principal.assetId}:%{principal.process.productSpecificProcessId} | Valeur extraite directement du champ de journal brut principal.process.productSpecificProcessId et mise en forme comme suit : "TANIUM:%{principal.assetId}:%{principal.process.productSpecificProcessId}". |
principal.user.groupid | principal.user.group_identifiers: %{principal.user.groupid} | Valeur extraite directement du champ de journal brut principal.user.groupid . |
principal.user.userid | principal.user.userid: %{principal.user.userid} | Valeur extraite directement du champ de journal brut principal.user.userid . |
src.ip | principal.ip: %{src.ip} | Valeur extraite directement du champ de journal brut src.ip . |
src.port | principal.port: %{src.port} | Valeur extraite directement du champ de journal brut src.port et convertie en nombre entier. |
target.file.fullPath | target.file.full_path: %{target.file.fullPath} | Valeur extraite directement du champ de journal brut target.file.fullPath . |
target.file.md5 | target.file.md5: %{target.file.md5} | Valeur extraite directement du champ de journal brut target.file.md5 . |
target.port | target.port : %{target.port} | Valeur extraite directement du champ de journal brut target.port et convertie en nombre entier. |
target.registry.registryKey | target.registry.registry_key: %{target.registry.registryKey} | Valeur extraite directement du champ de journal brut target.registry.registryKey . |
target.registry.registryValue | target.registry.registry_value_data: %{target.registry.registryValue} | Valeur extraite directement du champ de journal brut target.registry.registryValue . |
target.user.userDisplayName | target.user.user_display_name: %{target.user.userDisplayName} | Valeur extraite directement du champ de journal brut target.user.userDisplayName . |
target.user.windowsSid | target.user.windows_sid: %{target.user.windowsSid} | Valeur extraite directement du champ de journal brut target.user.windowsSid . |
user-agent | network.http.user_agent: %{user-agent} | Valeur extraite directement du champ de journal brut user-agent , sans les guillemets doubles. |
N/A | extensions.auth.auth_mechanism: LOCAL/NETWORK/BATCH/SERVICE/UNLOCK/NETWORK_CLEAR_TEXT/NEW_CREDENTIALS/REMOTE_INTERACTIVE/CACHED_INTERACTIVE/MECHANISM_UNSPECIFIED | Déterminé par le code de l'analyseur en fonction de la valeur de additional.event__LogonType . |
N/A | extensions.auth.type: MACHINE | Ajouté par le code du parseur pour les événements USER_LOGIN et USER_LOGOUT . |
N/A | metadata.event_type: PROCESS_LAUNCH/NETWORK_CONNECTION/FILE_OPEN/FILE_DELETION/REGISTRY_MODIFICATION/USER_LOGIN/STATUS_UPDATE/USER_LOGOUT/PROCESS_MODULE_LOAD/PROCESS_TERMINATION/USER_CHANGE_PERMISSIONS/SCHEDULED_TASK_MODIFICATION/SCHEDULED_TASK_DISABLE/SCHEDULED_TASK_ENABLE/SCHEDULED_TASK_DELETION/SCHEDULED_TASK_CREATION/PROCESS_UNCATEGORIZED | Déterminé par le code du parseur en fonction de la valeur de metadata.logType et additional.event_id . |
N/A | metadata.log_type: TANIUM_TH | Valeur codée en dur ajoutée par le code du parseur. |
N/A | metadata.product_name: Stream | Valeur codée en dur ajoutée par le code du parseur. |
N/A | metadata.vendor_name: Tanium | Valeur codée en dur ajoutée par le code du parseur. |
N/A | principal.hostname: %{principal_hostname} | Valeur extraite de principal.hostname ou additional.event__FQDN . |
N/A | principal.ip: %{srcIp} | Extrait du message de journal brut à l'aide de grok si src.ip est présent. |
N/A | securityresult.about.resource.name: %{additional.event_AuthenticationPackageName} | Valeur extraite directement du champ de journal brut additional.event__AuthenticationPackageName pour des valeurs additional.event_id spécifiques. |
N/A | security_result.category: AUTH_VIOLATION | Ajouté par le code de l'analyseur pour des valeurs additional.event_id spécifiques. |
N/A | security_result.rule_name: EventID: %{additional.event_id} | Valeur extraite directement du champ de journal brut additional.event_id et convertie en chaîne. |
N/A | target.hostname: %{query_host} | Extrait du champ de journal brut additional.query s'il contient un nom d'hôte. |
N/A | target.ip: %{dstIp} | Extrait du message de journal brut à l'aide de grok si src.ip est présent. |
N/A | target.ip: %{query_ip} | Extrait du champ de journal brut additional.query s'il contient une adresse IP. |
N/A | target.process.command_line: %{principal_process_commandLine} | Valeur extraite de principal.process.commandLine si elle n'est pas vide. |
N/A | target.process.file.full_path: %{principal_process_file_fullPath} | Valeur extraite de principal.process.file.fullPath si elle n'est pas vide. |
N/A | target.process.file.md5: %{principal_process_file_md5} | Valeur extraite de principal.process.file.md5 si elle n'est pas vide. |
N/A | target.process.product_specific_process_id: TANIUM:%{principal.assetId}:%{principal.process.productSpecificProcessId} | Valeur extraite de principal.process.productSpecificProcessId et mise en forme comme suit : "TANIUM:%{principal.assetId}:%{principal.process.productSpecificProcessId}". |
N/A | target.resource.resource_type: TASK | Ajouté par le code de l'analyseur pour des valeurs additional.event_id spécifiques. |
N/A | timestamp.seconds: Extracted from %{metadata.eventTimestamp} timestamp.nanos: Extracted from %{metadata.eventTimestamp} |
Les secondes et les nanosecondes sont extraites du champ de journal brut metadata.eventTimestamp à l'aide de l'analyse de la date. |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.