Collecter les journaux Tanium Stream

Compatible avec :

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

  1. Connectez-vous à la console Tanium.
  2. Accédez à Modules > Flux.
  3. Cliquez sur Paramètres en haut à droite.
  4. 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.
  5. Cliquez sur Enregistrer pour appliquer la configuration du compte de service.

Collecter les conditions préalables de Tanium Stream

  1. Connectez-vous à la console Tanium en tant qu'administrateur.
  2. Accédez à Administration > Autorisations > Utilisateurs.
  3. 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

  1. Créez un bucket Amazon S3 en suivant ce guide de l'utilisateur : Créer un bucket.
  2. Enregistrez le Nom et la Région du bucket pour référence ultérieure (par exemple, tanium-stream-logs).
  3. Créez un utilisateur en suivant ce guide : Créer un utilisateur IAM.
  4. Sélectionnez l'utilisateur créé.
  5. Sélectionnez l'onglet Informations d'identification de sécurité.
  6. Cliquez sur Créer une clé d'accès dans la section Clés d'accès.
  7. Sélectionnez Service tiers comme Cas d'utilisation.
  8. Cliquez sur Suivant.
  9. Facultatif : ajoutez un tag de description.
  10. Cliquez sur Créer une clé d'accès.
  11. 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.
  12. Cliquez sur OK.
  13. Sélectionnez l'onglet Autorisations.
  14. Cliquez sur Ajouter des autorisations dans la section Règles d'autorisation.
  15. Sélectionnez Ajouter des autorisations.
  16. Sélectionnez Joindre directement des règles.
  17. Recherchez et sélectionnez la règle AmazonS3FullAccess.
  18. Cliquez sur Suivant.
  19. Cliquez sur Ajouter des autorisations.

Configurer la destination Tanium Connect AWS S3

  1. Connectez-vous à la console Tanium.
  2. Accédez à Modules > Connect.
  3. Cliquez sur Créer une connexion.
  4. 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.
  5. Cliquez sur Suivant.

Configurer la source de connexion

  1. 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).
  2. Cliquez sur Suivant.

Configurer la destination AWS S3

  1. 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/).
  2. Cliquez sur Suivant.

Configurer des filtres

  1. 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).
  2. Cliquez sur Suivant.

Mettre en forme les données pour AWS S3

  1. 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.
  2. Cliquez sur Suivant.

Planifier la connexion

  1. 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.
  2. Cliquez sur Suivant.

Enregistrer et valider la connexion

  1. Vérifiez la configuration de la connexion sur l'écran récapitulatif.
  2. Cliquez sur Save (Enregistrer) pour créer la connexion.
  3. Cliquez sur Tester la connexion pour vérifier la configuration.
  4. Si le test réussit, cliquez sur Exécuter maintenant pour effectuer une première exportation.
  5. 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

  1. Accédez à Paramètres SIEM> Flux.
  2. Cliquez sur + Ajouter un flux.
  3. Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple, Tanium Stream logs).
  4. Sélectionnez Amazon S3 V2 comme type de source.
  5. Sélectionnez Tanium Stream comme type de journal.
  6. Cliquez sur Suivant.
  7. 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.
  8. Cliquez sur Suivant.
  9. 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.event
AlgorithmName}
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.event
ClientProcessStartKey}
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.event
FailureReason}
Valeur extraite directement du champ de journal brut additional.event__FailureReason.
additional.event__ImpersonationLevel additional.fields.key: eventImpersonationLevel
additional.fields.value.string_value: %{additional.event
ImpersonationLevel}
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.event
KeyLength}
Valeur extraite directement du champ de journal brut additional.event__KeyLength.
additional.event__KeyName additional.fields.key: eventKeyName
additional.fields.value.string_value: %{additional.event
KeyName}
Valeur extraite directement du champ de journal brut additional.event__KeyName.
additional.event__KeyType additional.fields.key: eventKeyType
additional.fields.value.string_value: %{additional.event
KeyType}
Valeur extraite directement du champ de journal brut additional.event__KeyType.
additional.event__LmPackageName additional.fields.key: eventLmPackageName
additional.fields.value.string_value: %{additional.event
LmPackageName}
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.event
MandatoryLabel}
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.event
Operation}
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.event
ProviderName}
Valeur extraite directement du champ de journal brut additional.event__ProviderName.
additional.event__RestrictedAdminMode additional.fields.key: eventRestrictedAdminMode
additional.fields.value.string_value: %{additional.event
RestrictedAdminMode}
Valeur extraite directement du champ de journal brut additional.event__RestrictedAdminMode.
additional.event__ReturnCode additional.fields.key: eventReturnCode
additional.fields.value.string_value: %{additional.event
ReturnCode}
Valeur extraite directement du champ de journal brut additional.event__ReturnCode.
additional.event__RpcCallClientLocality additional.fields.key: eventRpcCallClientLocality
additional.fields.value.string_value: %{additional.event
RpcCallClientLocality}
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.event
Status}
Valeur extraite directement du champ de journal brut additional.event__Status.
additional.event__SubStatus additional.fields.key: eventSubStatus
additional.fields.value.string_value: %{additional.event
SubStatus}
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.event
SubjectLogonId}
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.event
TaskContentNew}
Valeur extraite directement du champ de journal brut additional.event__TaskContentNew.
additional.event__TaskName additional.fields.key: eventTaskName
additional.fields.value.string_value: %{additional.event
TaskName}
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.event
TargetLinkedLogonId}
Valeur extraite directement du champ de journal brut additional.event__TargetLinkedLogonId.
additional.event__TargetLogonId additional.fields.key: eventTargetLogonId
additional.fields.value.string_value: %{additional.event
TargetLogonId}
Valeur extraite directement du champ de journal brut additional.event__TargetLogonId.
additional.event__TargetOutboundDomainName additional.fields.key: eventTargetOutboundDomainName
additional.fields.value.string_value: %{additional.event
TargetOutboundDomainName}
Valeur extraite directement du champ de journal brut additional.event__TargetOutboundDomainName.
additional.event__TargetOutboundUserName additional.fields.key: eventTargetOutboundUserName
additional.fields.value.string_value: %{additional.event
TargetOutboundUserName}
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.event
TokenElevationType}
Valeur extraite directement du champ de journal brut additional.event__TokenElevationType.
additional.event__TransmittedServices additional.fields.key: eventTransmittedServices
additional.fields.value.string_value: %{additional.event
TransmittedServices}
Valeur extraite directement du champ de journal brut additional.event__TransmittedServices.
additional.event__VirtualAccount additional.fields.key: eventVirtualAccount
additional.fields.value.string_value: %{additional.event
VirtualAccount}
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.