Collecter les journaux Tanium Asset

Compatible avec :

Ce document explique comment ingérer des journaux Tanium Asset dans Google Security Operations à l'aide de deux méthodes différentes. Vous pouvez choisir entre l'exportation Amazon S3 native de Tanium Connect ou le transfert syslog en temps réel via Bindplane. Les deux méthodes utilisent le module Tanium Connect pour extraire les données d'actifs de Tanium et les transférer vers Chronicle pour analyse et surveillance. L'analyseur transforme les journaux bruts en un format structuré conforme à l'UDM Chronicle. Pour ce faire, il normalise d'abord les paires clé-valeur à partir de différents formats d'entrée (JSON, Syslog), puis mappe les champs extraits aux attributs UDM correspondants dans des objets JSON imbriqués représentant des entités d'actifs, d'utilisateurs et de relations.

Avant de commencer

Assurez-vous de remplir les conditions suivantes :

  • Une instance Google SecOps
  • Accès privilégié à la console Tanium (module Connect) pour configurer les destinations d'exportation
  • Choisissez la méthode d'intégration de votre choix :
    • Option 1 (recommandée) : Accès privilégié à AWS (S3, IAM) pour l'exportation S3 native
    • Option 2 : Windows 2016 ou version ultérieure, ou un hôte Linux avec systemd pour l'installation de l'agent Bindplane

Option 1 : Configurer l'exportation des journaux Tanium Asset à l'aide d'AWS S3

Créer un bucket Amazon S3

  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-asset-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 Tanium Connect pour l'exportation S3

  1. Connectez-vous à la console Tanium avec des droits d'administrateur.
  2. Accédez à Modules > Connect > Overview (Modules > Connect > Vue d'ensemble), puis cliquez sur Create Connection (Créer une connexion).
  3. Cliquez sur Créer.
  4. Fournissez les informations de configuration suivantes :
    • Nom : saisissez un nom descriptif (par exemple, Google SecOps Asset S3 Export).
    • Description : description facultative de cette connexion.
    • Activer : sélectionnez Activer pour exécuter la tâche selon une programmation.
  5. Cliquez sur Suivant.
  6. Dans la configuration Source :
    • Source : sélectionnez Question enregistrée.
    • Question : choisissez une question enregistrée existante qui renvoie des données sur les composants ou créez-en une avec des capteurs liés aux composants (par exemple, nom de l'ordinateur, adresse IP, plate-forme OS, domaine).
    • Groupe d'ordinateurs : sélectionnez le groupe d'ordinateurs à cibler pour la collecte des données sur les composants.
  7. Cliquez sur Suivant.
  8. Dans la configuration Destination :
    • Destination : sélectionnez AWS S3.
    • Nom : saisissez un nom de destination (par exemple, Chronicle Asset S3).
    • ID de clé d'accès AWS : saisissez l'ID de clé d'accès de l'utilisateur IAM.
    • Clé d'accès secrète AWS : saisissez la clé d'accès secrète de l'utilisateur IAM.
    • Nom du bucket S3 : tanium-asset-logs.
    • Préfixe de clé S3 : tanium/assets/ (préfixe facultatif pour l'organisation).
    • Région : sélectionnez la région AWS où se trouve votre bucket S3.
  9. Cliquez sur Suivant.
  10. Dans la configuration Mise en forme :
    • Format : sélectionnez JSON pour exporter les données structurées.
    • Colonnes : sélectionnez les champs de composants que vous souhaitez exporter et mettez-les en forme de manière appropriée.
  11. Cliquez sur Suivant.
  12. Dans la configuration Schedule (Programmation) :
    • Programmation : configurez la programmation de la diffusion (par exemple, toutes les heures ou tous les jours).
    • Date/Heure de début : définissez la date et l'heure de début de l'exécution de la connexion.
  13. Cliquez sur Enregistrer pour créer la connexion et démarrer l'exportation S3 automatisée.

Facultatif : Créez un utilisateur et des clés IAM en lecture seule pour Google SecOps

  1. Accédez à la console AWS> IAM> Utilisateurs> Ajouter des utilisateurs.
  2. Cliquez sur Add users (Ajouter des utilisateurs).
  3. Fournissez les informations de configuration suivantes :
    • Utilisateur : saisissez secops-reader.
    • Type d'accès : sélectionnez Clé d'accès – Accès programmatique.
  4. Cliquez sur Créer un utilisateur.
  5. Associez une stratégie de lecture minimale (personnalisée) : Utilisateurs > secops-reader > Autorisations > Ajouter des autorisations > Associer des stratégies directement > Créer une stratégie.
  6. Dans l'éditeur JSON, saisissez la stratégie suivante :

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": ["s3:GetObject"],
          "Resource": "arn:aws:s3:::tanium-asset-logs/*"
        },
        {
          "Effect": "Allow",
          "Action": ["s3:ListBucket"],
          "Resource": "arn:aws:s3:::tanium-asset-logs"
        }
      ]
    }
    
  7. Définissez le nom sur secops-reader-policy.

  8. Accédez à Créer une règle > recherchez/sélectionnez > Suivant > Ajouter des autorisations.

  9. Accédez à Identifiants de sécurité > Clés d'accès > Créer une clé d'accès.

  10. Téléchargez le CSV (ces valeurs sont saisies dans le flux).

Configurer un flux dans Google SecOps pour ingérer les journaux Tanium Asset

  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 Asset logs).
  4. Sélectionnez Amazon S3 V2 comme type de source.
  5. Sélectionnez Tanium Asset comme Type de journal.
  6. Cliquez sur Suivant.
  7. Spécifiez les valeurs des paramètres d'entrée suivants :
    • URI S3 : s3://tanium-asset-logs/tanium/assets/
    • 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.

Option 2 : Configurer l'exportation des journaux Tanium Asset à l'aide de syslog et Bindplane

Obtenir le fichier d'authentification d'ingestion Google SecOps

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres du SIEM > Agents de collecte.
  3. Téléchargez le fichier d'authentification d'ingestion. Enregistrez le fichier de manière sécurisée sur le système sur lequel Bindplane sera installé.

Obtenir l'ID client Google SecOps

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres SIEM> Profil.
  3. Copiez et enregistrez le numéro client de la section Informations sur l'organisation.

Installer l'agent Bindplane

Installez l'agent Bindplane sur votre système d'exploitation Windows ou Linux en suivant les instructions ci-dessous.

Installation de fenêtres

  1. Ouvrez l'invite de commandes ou PowerShell en tant qu'administrateur.
  2. Exécutez la commande suivante :

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Installation de Linux

  1. Ouvrez un terminal avec les droits root ou sudo.
  2. Exécutez la commande suivante :

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

Ressources d'installation supplémentaires

Configurer l'agent Bindplane pour ingérer Syslog et l'envoyer à Google SecOps

  1. Accédez au fichier de configuration :

    1. Trouvez le fichier config.yaml. En règle générale, il se trouve dans le répertoire /etc/bindplane-agent/ sous Linux ou dans le répertoire d'installation sous Windows.
    2. Ouvrez le fichier à l'aide d'un éditeur de texte (par exemple, nano, vi ou le Bloc-notes).
  2. Modifiez le fichier config.yaml comme suit :

    receivers:
      udplog:
        # Replace the port and IP address as required
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/chronicle_w_labels:
        compression: gzip
        # Adjust the path to the credentials file you downloaded in Step 1
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        # Replace with your actual customer ID from Step 2
        customer_id: <PLACEHOLDER_CUSTOMER_ID>
        endpoint: malachiteingestion-pa.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'TANIUM_ASSET'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - udplog
          exporters:
            - chronicle/chronicle_w_labels
    
    • Remplacez le port et l'adresse IP selon les besoins de votre infrastructure.
    • Remplacez <PLACEHOLDER_CUSTOMER_ID> par le numéro client réel.
    • Mettez à jour /path/to/ingestion-authentication-file.json avec le chemin d'accès où le fichier d'authentification a été enregistré dans la section Obtenir le fichier d'authentification pour l'ingestion Google SecOps.

Redémarrez l'agent Bindplane pour appliquer les modifications.

  • Pour redémarrer l'agent Bindplane sous Linux, exécutez la commande suivante :

    sudo systemctl restart bindplane-agent
    
  • Pour redémarrer l'agent Bindplane sous Windows, vous pouvez utiliser la console Services ou saisir la commande suivante :

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurer le transfert Syslog sur Tanium Asset

  1. Connectez-vous à la console Tanium avec des droits d'administrateur.
  2. Accédez à Modules > Connect > Overview (Modules > Connect > Vue d'ensemble), puis cliquez sur Create Connection (Créer une connexion).
  3. Cliquez sur Créer.
  4. Fournissez les informations de configuration suivantes :
    • Nom : saisissez un nom descriptif (par exemple, Google SecOps Asset Integration).
    • Description : description facultative de cette connexion.
    • Activer : sélectionnez Activer pour exécuter la tâche selon une programmation.
  5. Cliquez sur Suivant.
  6. Dans la configuration Source :
    • Source : sélectionnez Question enregistrée.
    • Question : choisissez une question enregistrée existante qui renvoie des données sur les assets ou créez-en une avec des capteurs liés aux assets.
    • Groupe d'ordinateurs : sélectionnez le groupe d'ordinateurs à cibler pour la collecte des données sur les composants.
  7. Cliquez sur Suivant.
  8. Dans la configuration Destination :
    • Destination : sélectionnez SIEM/Syslog.
    • Nom : saisissez un nom de destination (par exemple, Chronicle Asset Syslog).
    • Hôte : saisissez l'adresse IP de l'agent BindPlane.
    • Port : saisissez le numéro de port de l'agent BindPlane (par exemple, 514).
    • Protocole : sélectionnez UDP.
    • Format : sélectionnez SYSLOG RFC 5424.
    • Fuseau horaire : sélectionnez le fuseau horaire UTC pour assurer une cohérence universelle entre les systèmes.
  9. Cliquez sur Suivant.
  10. Dans la configuration Mise en forme :
    • Format : sélectionnez JSON.
    • Colonnes : sélectionnez les champs de composants que vous souhaitez transférer (par exemple, "Nom de l'ordinateur", "Adresse IP", "Plate-forme de l'OS" ou "Domaine").
  11. Cliquez sur Suivant.
  12. Dans la configuration Schedule (Programmation) :
    • Programmation : configurez la programmation de la diffusion (par exemple, toutes les heures).
    • Date/Heure de début : définissez la date et l'heure de début de l'exécution de la connexion.
  13. Cliquez sur Enregistrer pour créer la connexion et commencer le transfert.

Table de mappage UDM

Champ de journal Mappage UDM Logique
application_name entity.metadata.source_labels.value La valeur est extraite du champ "application_name" si elle existe dans le journal brut.
application_vendor entity.metadata.source_labels.value La valeur est extraite du champ "application_vendor" s'il existe dans le journal brut.
application_version entity.metadata.product_version La valeur est extraite du champ "application_version" si elle existe dans le journal brut.
BIOS_Current_Language entity.metadata.source_labels.value La valeur est extraite du champ "BIOS_Current_Language" s'il existe dans le journal brut.
BIOS_Release_Date entity.metadata.source_labels.value La valeur est extraite du champ "BIOS_Release_Date" (Date de sortie du BIOS) s'il existe dans le journal brut.
BIOS_Vendor entity.metadata.source_labels.value La valeur est extraite du champ "BIOS_Vendor" si elle existe dans le journal brut.
BIOS_Version entity.metadata.product_version La valeur est extraite du champ "BIOS_Version" si elle existe dans le journal brut.
Type de châssis entity.entity.asset.category La valeur est extraite du champ "Type de châssis" si elle existe dans le journal brut.
ID de l'ordinateur entity.entity.asset.product_object_id La valeur est extraite du champ "ID de l'ordinateur" s'il existe dans le journal brut. Permet également de renseigner entity.relations.entity.asset.asset_id avec le préfixe "id: ".
Nom de l'ordinateur entity.entity.asset.hostname La valeur est extraite du champ "Nom de l'ordinateur" si elle existe dans le journal brut.
Nombre entity.metadata.source_labels.value La valeur est extraite du champ "Count" (Nombre), s'il existe dans le journal brut.
Empreinte du point de terminaison entity.entity.asset.hardware.serial_number La valeur est extraite du champ "Empreinte digitale du point de terminaison" si elle existe dans le journal brut.
Adresse IP entity.entity.asset.ip Les valeurs sont extraites du champ "Adresse IP" et ajoutées au tableau en tant qu'adresses IP distinctes.
Dernier utilisateur connecté entity.relations.entity.user.userid La valeur est extraite du champ "Dernier utilisateur connecté", et tout préfixe de domaine est supprimé, le cas échéant, dans le journal brut.
Dernier redémarrage entity.entity.asset.last_boot_time La valeur est analysée à partir du champ "Dernier redémarrage" et mise en forme en tant qu'horodatage si elle existe dans le journal brut.
Adresse MAC entity.entity.asset.mac Les valeurs sont extraites du champ "Adresse MAC" et ajoutées au tableau en tant qu'adresses MAC distinctes.
Fabricant entity.entity.asset.hardware.manufacturer La valeur est extraite du champ "Fabricant" si elle existe dans le journal brut.
Système d'exploitation entity.entity.asset.platform_software.platform_version La valeur est extraite du champ "Système d'exploitation" s'il existe dans le journal brut. Permet de déterminer la valeur de entity.entity.asset.platform_software.platform (WINDOWS, LINUX ou MAC).
platform entity.entity.asset.platform_software.platform_version La valeur est extraite du champ "plate-forme" s'il existe dans le journal brut. Permet de déterminer la valeur de entity.entity.asset.platform_software.platform (WINDOWS, LINUX ou MAC).
serial_number entity.entity.asset.hardware.serial_number La valeur est extraite du champ "serial_number" si elle existe dans le journal brut.
version entity.entity.asset.platform_software.platform_version La valeur est extraite du champ "version" s'il existe dans le journal brut. Permet de déterminer la valeur de entity.entity.asset.platform_software.platform (WINDOWS, LINUX ou MAC).
N/A entity.metadata.collected_timestamp Définissez-la sur la valeur create_time du lot.
N/A entity.metadata.vendor_name Toujours défini sur "TANIUM_ASSET".
N/A entity.metadata.product_name Toujours défini sur "TANIUM_ASSET".
N/A entity.metadata.entity_type Toujours défini sur "ASSET".
N/A entity.relations.entity_type Toujours défini sur "USER".
N/A entity.relations.relationship Toujours défini sur "OWNS".

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