Collecter les journaux Tanium Asset
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 à l'aide de Bindplane. Les deux méthodes utilisent le module Tanium Connect pour extraire les données d'éléments de Tanium et les transférer vers Chronicle pour analyse et surveillance.
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 : un hôte Windows 2016 ou version ultérieure, ou Linux avec
systemdpour 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
- 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-asset-logs). - Créez un utilisateur en suivant ce guide de l'utilisateur : Créer un utilisateur IAM.
- Sélectionnez l'utilisateur créé.
- Sélectionnez l'onglet Security credentials (Identifiants 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 une balise de description.
- Cliquez sur Créer une clé d'accès.
- Cliquez sur Download .csv file (Télécharger le fichier .csv) pour enregistrer la clé d'accès et la clé d'accès secrète pour référence ultérieure.
- Cliquez sur OK.
- Sélectionnez l'onglet Autorisations.
- Cliquez sur Add permissions (Ajouter des autorisations) dans la section Permissions policies (Règles d'autorisation).
- Sélectionnez Ajouter des autorisations.
- Sélectionnez Associer directement les règles.
- Recherchez la stratégie AmazonS3FullAccess.
- Sélectionnez la règle.
- Cliquez sur Suivant.
- Cliquez sur Ajouter des autorisations.
Configurer Tanium Connect pour l'exportation S3
- Connectez-vous à la console Tanium avec des droits d'administrateur.
- Accédez à Modules> Connect> Aperçu, puis cliquez sur Créer une connexion.
- Cliquez sur Créer.
- 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.
- Nom : saisissez un nom descriptif (par exemple,
- Cliquez sur Suivant.
- Dans la configuration de la source :
- Source : sélectionnez Question enregistrée.
- Question : Choisissez une question enregistrée existante qui renvoie des données d'éléments ou créez-en une avec des capteurs liés aux éléments (par exemple, nom de l'ordinateur, adresse IP, plate-forme d'OS, domaine).
- Groupe d'ordinateurs : sélectionnez le groupe d'ordinateurs à cibler pour la collecte des données sur les composants.
- Cliquez sur Suivant.
- Dans la configuration de la 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.
- Cliquez sur Suivant.
- Dans la configuration Mise en forme :
- Format : sélectionnez JSON pour exporter des données structurées.
- Colonnes : sélectionnez les champs d'éléments que vous souhaitez exporter et mettez-les en forme de manière appropriée.
- Cliquez sur Suivant.
- Dans la configuration Programmer :
- Planification : configurez la planification 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.
- Cliquez sur Enregistrer pour créer la connexion et lancer l'exportation S3 automatisée.
(Facultatif) Créer un utilisateur et des clés IAM en lecture seule pour Google SecOps
- Accédez à Console AWS > IAM > Users > Add users (Console AWS > IAM > Utilisateurs > Ajouter des utilisateurs).
- Cliquez sur Add users (Ajouter des utilisateurs).
- Fournissez les informations de configuration suivantes :
- Utilisateur : saisissez
secops-reader. - Type d'accès : sélectionnez Clé d'accès – Accès programmatique.
- Utilisateur : saisissez
- Cliquez sur Create User (Créer un utilisateur).
- 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.
JSON :
{ "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" } ] }Nom =
secops-reader-policy.Cliquez sur Créer une règle > recherchez/sélectionnez > Suivant > Ajouter des autorisations.
Créez une clé d'accès pour
secops-reader: Identifiants de sécurité > Clés d'accès > Créer une clé d'accès > téléchargez le fichier.csv(vous collerez ces valeurs dans le flux).
Configurer un flux dans Google SecOps pour ingérer les journaux Tanium Asset
- 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 Asset logs). - Sélectionnez Amazon S3 V2 comme Type de source.
- Sélectionnez Tanium Asset comme type de journal.
- Cliquez sur Suivant.
- 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 du fichier : incluez les fichiers modifiés au cours d'un certain nombre de jours. La valeur par défaut est de 180 jours.
- ID de clé d'accès : clé d'accès utilisateur permettant d'accéder 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 d'actualités sur l'écran Finaliser, puis cliquez sur Envoyer.
Option 2 : Configurer l'exportation des journaux Tanium Asset à l'aide de syslog et de Bindlane
Obtenir des identifiants Google SecOps pour l'agent BindPlane
Pour authentifier l'agent Bindplane auprès de Google SecOps, choisissez l'une des méthodes suivantes :
- Nouveaux déploiements : utilisez l'API Chronicle (option 1).
- Déploiements existants : continuez à utiliser le fichier d'authentification pour l'ingestion (option 2) jusqu'à l'arrêt de l'API Ingestion le 20 juillet 2027.
Option 1 : Créer un compte de service pour l'API Chronicle (recommandé)
- Connectez-vous à la consoleGoogle Cloud et sélectionnez le projet Google Cloud associé à votre instance Google SecOps.
- Accédez à IAM et administration > Comptes de service.
- Cliquez sur Créer un compte de service.
- Fournissez les informations de configuration suivantes :
- Nom du compte de service : saisissez un nom pour le compte (par exemple,
bindplane-ingest). - Description du compte de service : saisissez une description (par exemple,
Bindplane agent log ingestion).
- Nom du compte de service : saisissez un nom pour le compte (par exemple,
- Cliquez sur Créer et continuer.
- Dans la section Autoriser ce compte de service à accéder au projet, cliquez sur Sélectionner un rôle, puis sélectionnez Éditeur Chronicle.
- Cliquez sur Continue (Continuer), puis sur Done (OK).
- Cliquez sur le compte de service que vous avez créé, puis accédez à l'onglet Clés.
- Cliquez sur Ajouter une clé > Créer une clé.
- Sélectionnez JSON, puis cliquez sur Créer. Le fichier de clé est téléchargé sur votre ordinateur.
- Enregistrez le fichier de clé sous le nom
ingestion-auth.jsondans le répertoire du collecteur BindPlane (/opt/observiq-otel-collector/ingestion-auth.jsonsous Linux ouC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.jsonsous Windows), ou mettez à jourcreds_file_pathdansconfig.yamlpour qu'il corresponde au chemin d'accès où vous l'enregistrez. - Accédez à IAM et administration > Paramètres, puis copiez le numéro du projet. Vous en aurez besoin pour la configuration de l'exportateur.
Option 2 : Télécharger le fichier d'authentification d'ingestion (ancien)
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres SIEM> Agents de collecte.
- Téléchargez le fichier d'authentification d'ingestion.
- Enregistrez le fichier de manière sécurisée sur le système où l'agent BindPlane sera installé.
Obtenir l'ID client Google SecOps
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres SIEM > Profil.
- Copiez et enregistrez le numéro client dans 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 Windows
- Ouvrez l'invite de commande ou PowerShell en tant qu'administrateur.
Exécutez la commande suivante :
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Installation de Linux
- Ouvrez un terminal avec des droits d'accès racine ou sudo.
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
Pour obtenir d'autres options d'installation, consultez le guide d'installation de l'agent Bindplane.
Configurer l'agent Bindplane pour ingérer Syslog et l'envoyer à Google SecOps
Accédez au fichier de configuration :
- Trouvez le fichier
config.yaml. Il se trouve généralement dans le répertoire/opt/observiq-otel-collector/sous Linux ou dans le répertoire d'installation sous Windows. - Ouvrez le fichier à l'aide d'un éditeur de texte (par exemple,
nano,viou Notepad).
- Trouvez le fichier
Modifiez le fichier
config.yamlcomme suit :receivers: udplog: # Replace the port and IP address as required listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: protocol: https # Region of your instance, for example us, europe, asia-southeast1 location: <LOCATION> # Project number of the Google Cloud project linked to the instance project: '<PROJECT_NUMBER>' 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: chronicle.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
<LOCATION>par la région de votre instance Google SecOps (par exemple,us,europeouasia-southeast1). L'exportateur préfixechronicle.googleapis.comavec cette valeur. - Remplacez
<PROJECT_NUMBER>par le numéro de projet indiqué dans IAM et administration > Paramètres. - Remplacez
<PLACEHOLDER_CUSTOMER_ID>par le numéro client réel. - Remplacez
/path/to/ingestion-authentication-file.jsonpar le chemin d'accès au fichier de clé du compte de service (option 1) enregistré à l'étape 1.
Ancien exportateur d'API d'ingestion
Si vous utilisez le fichier d'authentification d'ingestion de l'option 2, remplacez le bloc
exporterspar ce qui suit. Définissezcreds_file_pathsur le chemin d'accès au fichier d'authentification d'ingestion. Si votre instance se trouve en dehors des États-Unis, remplacezmalachiteingestion-pa.googleapis.compar votre point de terminaison régional (par exemple,europe-malachiteingestion-pa.googleapis.com).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:
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 observiq-otel-collectorPour redémarrer l'agent Bindplane sous Windows, vous pouvez utiliser la console Services ou saisir la commande suivante :
net stop observiq-otel-collector && net start observiq-otel-collector
Configurer le transfert Syslog sur Tanium Asset
- Connectez-vous à la console Tanium avec des droits d'administrateur.
- Accédez à Modules> Connect> Aperçu, puis cliquez sur Créer une connexion.
- Cliquez sur Créer.
- 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.
- Nom : saisissez un nom descriptif (par exemple,
- Cliquez sur Suivant.
- Dans la configuration de la 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 d'éléments.
- Cliquez sur Suivant.
- Dans la configuration de la destination :
- Destination : sélectionnez SIEM/Syslog.
- Nom : saisissez un nom de destination (par exemple,
Chronicle Asset Syslog). - Hôte : saisissez l'adresse IP Bindplane.
- Port : saisissez le numéro de port 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.
- Cliquez sur Suivant.
- 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 OS, domaine).
- Cliquez sur Suivant.
- Dans la configuration de la planification :
- Planification : configurez la planification 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.
- Cliquez sur Enregistrer pour créer la connexion et commencer le transfert.
Table de mappage UDM
| Champ du journal | Mappage UDM | Logique |
|---|---|---|
application_name |
entity.metadata.source_labels.value |
La valeur est extraite du champ "application_name" s'il 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" s'il existe dans le journal brut. |
BIOS_Current_Language |
entity.metadata.source_labels.value |
La valeur est extraite du champ "BIOS_Current_Language" si elle existe dans le journal brut. |
BIOS_Release_Date |
entity.metadata.source_labels.value |
La valeur est extraite du champ "BIOS_Release_Date" s'il existe dans le journal brut. |
BIOS_Vendor |
entity.metadata.source_labels.value |
La valeur est extraite du champ "BIOS_Vendor" s'il existe dans le journal brut. |
BIOS_Version |
entity.metadata.product_version |
La valeur est extraite du champ "BIOS_Version" s'il existe dans le journal brut. |
Chassis Type |
entity.entity.asset.category |
La valeur est extraite du champ "Chassis Type" s'il existe dans le journal brut. |
Computer ID |
entity.entity.asset.product_object_id |
La valeur est extraite du champ "ID de l'ordinateur" si elle existe dans le journal brut. Également utilisé pour renseigner entity.relations.entity.asset.asset_id avec le préfixe "id: ". |
Computer Name |
entity.entity.asset.hostname |
La valeur est extraite du champ "Computer Name" s'il existe dans le journal brut. |
Count |
entity.metadata.source_labels.value |
La valeur est extraite du champ "Nombre" s'il existe dans le journal brut. |
Endpoint Fingerprint |
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. |
IP Address |
entity.entity.asset.ip |
Les valeurs sont extraites du champ "Adresse IP" et ajoutées au tableau en tant qu'adresses IP distinctes. |
Last Logged In User |
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, s'il existe dans le journal brut. |
Last Reboot |
entity.entity.asset.last_boot_time |
La valeur est analysée à partir du champ "Dernier redémarrage" et mise en forme en tant que code temporel, si elle existe dans le journal brut. |
MAC Address |
entity.entity.asset.mac |
Les valeurs sont extraites du champ "Adresse MAC" et ajoutées au tableau en tant qu'adresses MAC distinctes. |
Manufacturer |
entity.entity.asset.hardware.manufacturer |
La valeur est extraite du champ "Manufacturer" s'il existe dans le journal brut. |
Operating System |
entity.entity.asset.platform_software.platform_version |
La valeur est extraite du champ "Operating System" (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" si elle 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" s'il existe dans le journal brut. |
version |
entity.entity.asset.platform_software.platform_version |
La valeur est extraite du champ "version" si elle 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 cette valeur sur l'heure de création 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". |
comp_serial_num |
_asset_entity.asset.product_object_id |
Mappé à partir du journal des modifications |
application_name", "count", "application_vendor", "BIOS_Release_Date", "BIOS_Vendor", and "BIOS_Current_Language |
metadata.source_labels |
Mappé à partir du journal des modifications |
application_version" and "BIOS_Version |
metadata.product_version |
Mappé à partir du journal des modifications |
computer_id |
entity.asset.asset_id |
Mappé à partir du journal des modifications |
comp_serial_num |
hardware.serial_number |
Mappé à partir du journal des modifications |
Journal des modifications
Afficher le journal des modifications de ce parseur
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.