Raccogli i log degli asset Tanium
Questo documento spiega come importare i log di Tanium Asset in Google Security Operations utilizzando due metodi diversi.
Puoi scegliere tra l'esportazione nativa di Amazon S3 di Tanium Connect o l'inoltro syslog in tempo reale utilizzando Bindplane. Entrambi i metodi utilizzano il modulo Tanium Connect per estrarre i dati degli asset da Tanium e inoltrarli a Chronicle per l'analisi e il monitoraggio.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Un'istanza Google SecOps
- Accesso con privilegi alla console Tanium (modulo Connect) per configurare le destinazioni di esportazione
- Scegli il metodo di integrazione che preferisci:
- Opzione 1 (consigliata): accesso con privilegi ad AWS (S3, IAM) per l'esportazione S3 nativa
- Opzione 2: un host Windows 2016 o versioni successive o Linux con
systemdper l'installazione dell'agente Bindplane
Opzione 1: configura l'esportazione dei log di Tanium Asset utilizzando AWS S3
Crea un bucket Amazon S3
- Crea un bucket Amazon S3 seguendo questa guida dell'utente: Creazione di un bucket
- Salva il nome e la regione del bucket per riferimento futuro (ad esempio,
tanium-asset-logs). - Crea un utente seguendo questa guida utente: Creazione di un utente IAM.
- Seleziona l'utente creato.
- Seleziona la scheda Security credentials (Credenziali di sicurezza).
- Fai clic su Crea chiave di accesso nella sezione Chiavi di accesso.
- Seleziona Servizio di terze parti come Caso d'uso.
- Fai clic su Avanti.
- (Facoltativo) Aggiungi un tag di descrizione.
- Fai clic su Crea chiave di accesso.
- Fai clic su Download .csv file (Scarica file .csv) per salvare la chiave di accesso e la chiave di accesso segreta per riferimento futuro.
- Fai clic su Fine.
- Seleziona la scheda Autorizzazioni.
- Fai clic su Aggiungi autorizzazioni nella sezione Criteri per le autorizzazioni.
- Seleziona Aggiungi autorizzazioni.
- Seleziona Collega direttamente le policy.
- Cerca la policy AmazonS3FullAccess.
- Seleziona la policy.
- Fai clic su Avanti.
- Fai clic su Aggiungi autorizzazioni.
Configura Tanium Connect per l'esportazione S3
- Accedi alla console Tanium con privilegi di amministratore.
- Vai a Moduli > Connetti > Panoramica e fai clic su Crea connessione.
- Fai clic su Crea.
- Fornisci i seguenti dettagli di configurazione:
- Nome: inserisci un nome descrittivo (ad esempio
Google SecOps Asset S3 Export). - Descrizione: descrizione facoltativa per questa connessione.
- Attiva: seleziona Attiva per eseguire l'azione in base a una pianificazione.
- Nome: inserisci un nome descrittivo (ad esempio
- Fai clic su Avanti.
- Nella configurazione Origine:
- Source (Origine): seleziona Saved Question (Domanda salvata).
- Domanda: scegli una domanda salvata esistente che restituisce dati sugli asset o creane una nuova con sensori correlati agli asset (ad esempio, nome computer, indirizzo IP, piattaforma OS, dominio).
- Gruppo di computer: seleziona il gruppo di computer da scegliere come target per la raccolta dei dati sugli asset.
- Fai clic su Avanti.
- Nella configurazione Destinazione:
- Destinazione: scegli AWS S3.
- Nome: inserisci un nome per la destinazione (ad esempio
Chronicle Asset S3). - ID chiave di accesso AWS: inserisci l'ID chiave di accesso dell'utente IAM.
- Chiave di accesso segreta AWS: inserisci la chiave di accesso segreta dell'utente IAM.
- Nome bucket S3:
tanium-asset-logs. - Prefisso chiave S3:
tanium/assets/(prefisso facoltativo per l'organizzazione). - Regione: seleziona la regione AWS in cui si trova il bucket S3.
- Fai clic su Avanti.
- Nella configurazione Formattazione:
- Formato: seleziona JSON per l'esportazione dei dati strutturati.
- Colonne: seleziona i campi asset che vuoi esportare e formattali in modo appropriato.
- Fai clic su Avanti.
- Nella configurazione Pianificazione:
- Pianificazione: configura la pianificazione di invio (ad esempio, ogni ora o ogni giorno).
- Data/ora di inizio: imposta la data e l'ora di inizio della connessione.
- Fai clic su Salva per creare la connessione e avviare l'esportazione automatica di S3.
(Facoltativo) Crea chiavi e utente IAM di sola lettura per Google SecOps
- Vai a AWS Console > IAM > Users > Add users.
- Fai clic su Add users (Aggiungi utenti).
- Fornisci i seguenti dettagli di configurazione:
- Utente: inserisci
secops-reader. - Tipo di accesso: seleziona Chiave di accesso - Accesso programmatico.
- Utente: inserisci
- Fai clic su Crea utente.
- Collega la criterio per la lettura minima (personalizzata): Utenti > secops-reader > Autorizzazioni > Aggiungi autorizzazioni > Collega direttamente le policy > Crea policy.
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" } ] }Nome =
secops-reader-policy.Fai clic su Crea policy > cerca/seleziona > Avanti > Aggiungi autorizzazioni.
Crea la chiave di accesso per
secops-reader: Credenziali di sicurezza > Chiavi di accesso > Crea chiave di accesso > scarica.csv(incollerai questi valori nel feed).
Configura un feed in Google SecOps per importare i log di Tanium Asset
- Vai a Impostazioni SIEM > Feed.
- Fai clic su + Aggiungi nuovo feed.
- Nel campo Nome feed, inserisci un nome per il feed (ad esempio
Tanium Asset logs). - Seleziona Amazon S3 V2 come Tipo di origine.
- Seleziona Asset Tanium come Tipo di log.
- Fai clic su Avanti.
- Specifica i valori per i seguenti parametri di input:
- URI S3:
s3://tanium-asset-logs/tanium/assets/ - Opzioni di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze.
- Età massima file: includi i file modificati nell'ultimo numero di giorni. Il valore predefinito è 180 giorni.
- ID chiave di accesso: chiave di accesso utente con accesso al bucket S3.
- Chiave di accesso segreta: chiave segreta dell'utente con accesso al bucket S3.
- Asset namespace: lo spazio dei nomi dell'asset.
- Etichette di importazione: l'etichetta applicata agli eventi di questo feed.
- URI S3:
- Fai clic su Avanti.
- Controlla la nuova configurazione del feed di notizie nella schermata Finalizza, quindi fai clic su Invia.
Opzione 2: configura l'esportazione dei log di Tanium Asset utilizzando syslog e Bindlane
Recupera le credenziali Google SecOps per l'agente Bindplane
Per autenticare l'agente Bindplane in Google SecOps, scegli uno dei seguenti metodi:
- Nuovi deployment: utilizza l'API Chronicle (opzione 1).
- Deployment legacy: continua a utilizzare il file di autenticazione dell'acquisizione (opzione 2) fino al ritiro dell'API Ingestion il 20 luglio 2027.
Opzione 1: crea un account di servizio per l'API Chronicle (consigliata)
- Accedi alla consoleGoogle Cloud e seleziona il progetto Google Cloud collegato alla tua istanza Google SecOps.
- Vai a IAM e amministrazione > Service account.
- Fai clic su Crea service account.
- Fornisci i seguenti dettagli di configurazione:
- Nome service account: inserisci un nome per l'account (ad esempio
bindplane-ingest). - Descrizione service account: inserisci una descrizione (ad esempio
Bindplane agent log ingestion).
- Nome service account: inserisci un nome per l'account (ad esempio
- Fai clic su Crea e continua.
- Nella sezione Concedi a questo account di servizio l'accesso al progetto, fai clic su Seleziona un ruolo e seleziona Chronicle Editor.
- Fai clic su Continua e poi su Fine.
- Fai clic sul account di servizio che hai creato, quindi vai alla scheda Chiavi.
- Fai clic su Aggiungi chiave > Crea nuova chiave.
- Seleziona JSON e fai clic su Crea. Il file della chiave viene scaricato sul tuo computer.
- Salva il file della chiave come
ingestion-auth.jsonnella directory del raccoglitore Bindplane (/opt/observiq-otel-collector/ingestion-auth.jsonsu Linux oC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.jsonsu Windows) oppure aggiornacreds_file_pathinconfig.yamlin modo che corrisponda al percorso in cui lo salvi. - Vai a IAM e amministrazione > Impostazioni e copia il Numero progetto. Ti servirà per la configurazione dell'esportatore.
Opzione 2: scarica il file di autenticazione dell'acquisizione (legacy)
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Agenti di raccolta.
- Scarica il file di autenticazione dell'acquisizione.
- Salva il file in modo sicuro sul sistema in cui verrà installato l'agente Bindplane.
Recuperare l'ID cliente Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Profilo.
- Copia e salva l'ID cliente dalla sezione Dettagli organizzazione.
Installa l'agente Bindplane
Installa l'agente Bindplane sul sistema operativo Windows o Linux seguendo le istruzioni riportate di seguito.
Installazione di Windows
- Apri il prompt dei comandi o PowerShell come amministratore.
Esegui questo comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Installazione di Linux
- Apri un terminale con privilegi root o sudo.
Esegui questo comando:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Risorse aggiuntive per l'installazione
Per ulteriori opzioni di installazione, consulta la guida all'installazione dell'agente Bindplane.
Configura l'agente Bindplane per importare Syslog e inviarlo a Google SecOps
Accedi al file di configurazione:
- Individua il file
config.yaml. In genere, si trova nella directory/opt/observiq-otel-collector/su Linux o nella directory di installazione su Windows. - Apri il file utilizzando un editor di testo (ad esempio
nano,vio Blocco note).
- Individua il file
Modifica il file
config.yamlcome segue: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- Sostituisci la porta e l'indirizzo IP come richiesto nella tua infrastruttura.
- Sostituisci
<LOCATION>con la regione della tua istanza Google SecOps (ad esempious,europeoasia-southeast1). L'esportatore anteponechronicle.googleapis.coma questo valore. - Sostituisci
<PROJECT_NUMBER>con il numero di progetto indicato in IAM e amministrazione > Impostazioni. - Sostituisci
<PLACEHOLDER_CUSTOMER_ID>con l'ID cliente effettivo. - Aggiorna
/path/to/ingestion-authentication-file.jsoncon il percorso del file in cui è stato salvato il file della chiave del account di servizio (Opzione 1) nel Passaggio 1.
Esportatore API di importazione legacy
Se utilizzi il file di autenticazione dell'acquisizione dell'Opzione 2, sostituisci il blocco
exporterscon il seguente. Impostacreds_file_pathsul percorso del file di autenticazione dell'acquisizione e, se l'istanza si trova al di fuori degli Stati Uniti, sostituiscimalachiteingestion-pa.googleapis.comcon il tuo endpoint regionale (ad esempio,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:
Riavvia l'agente Bindplane per applicare le modifiche
Per riavviare l'agente Bindplane in Linux, esegui questo comando:
sudo systemctl restart observiq-otel-collectorPer riavviare l'agente Bindplane in Windows, puoi utilizzare la console Servizi o inserire il seguente comando:
net stop observiq-otel-collector && net start observiq-otel-collector
Configura il forwarding di Syslog su Tanium Asset
- Accedi alla console Tanium con privilegi di amministratore.
- Vai a Moduli > Connetti > Panoramica e fai clic su Crea connessione.
- Fai clic su Crea.
- Fornisci i seguenti dettagli di configurazione:
- Nome: inserisci un nome descrittivo (ad esempio,
Google SecOps Asset Integration). - Descrizione: descrizione facoltativa per questa connessione.
- Attiva: seleziona Attiva per eseguire l'azione in base a una pianificazione.
- Nome: inserisci un nome descrittivo (ad esempio,
- Fai clic su Avanti.
- Nella configurazione Origine:
- Source (Origine): seleziona Saved Question (Domanda salvata).
- Domanda: scegli una domanda salvata esistente che restituisce dati sugli asset o creane una nuova con sensori correlati agli asset.
- Gruppo di computer: seleziona il gruppo di computer da scegliere come target per la raccolta dei dati degli asset.
- Fai clic su Avanti.
- Nella configurazione Destinazione:
- Destinazione: scegli SIEM/Syslog.
- Nome: inserisci un nome di destinazione (ad esempio,
Chronicle Asset Syslog). - Host: inserisci l'IP di Bindplane.
- Porta: inserisci il numero di porta di Bindplane (ad esempio,
514). - Protocollo: seleziona UDP.
- Formato: seleziona SYSLOG RFC 5424.
- Fuso orario: seleziona il fuso orario UTC per garantire la coerenza universale tra i sistemi.
- Fai clic su Avanti.
- Nella configurazione Formattazione:
- Formato: seleziona JSON.
- Colonne: seleziona i campi degli asset che vuoi inoltrare (ad esempio, Nome computer, Indirizzo IP, Piattaforma sistema operativo, Dominio).
- Fai clic su Avanti.
- Nella configurazione Pianificazione:
- Pianificazione: configura la pianificazione della pubblicazione (ad esempio, ogni ora).
- Data/ora di inizio: imposta la data e l'ora di inizio della connessione.
- Fai clic su Salva per creare la connessione e avviare l'inoltro.
Tabella di mappatura UDM
| Campo log | Mappatura UDM | Logica |
|---|---|---|
application_name |
entity.metadata.source_labels.value |
Il valore viene preso dal campo "application_name" se esiste nel log non elaborato. |
application_vendor |
entity.metadata.source_labels.value |
Il valore viene preso dal campo "application_vendor", se esiste nel log non elaborato. |
application_version |
entity.metadata.product_version |
Il valore viene estratto dal campo "application_version" se esiste nel log non elaborato. |
BIOS_Current_Language |
entity.metadata.source_labels.value |
Il valore viene preso dal campo "BIOS_Current_Language", se esiste nel log non elaborato. |
BIOS_Release_Date |
entity.metadata.source_labels.value |
Il valore viene estratto dal campo "BIOS_Release_Date" se esiste nel log non elaborato. |
BIOS_Vendor |
entity.metadata.source_labels.value |
Il valore viene preso dal campo "BIOS_Vendor", se esiste nel log non elaborato. |
BIOS_Version |
entity.metadata.product_version |
Il valore viene preso dal campo "BIOS_Version", se esiste nel log non elaborato. |
Chassis Type |
entity.entity.asset.category |
Il valore viene preso dal campo "Chassis Type" se esiste nel log non elaborato. |
Computer ID |
entity.entity.asset.product_object_id |
Il valore viene estratto dal campo "ID computer" se esiste nel log non elaborato. Utilizzato anche per compilare entity.relations.entity.asset.asset_id con il prefisso "id: ". |
Computer Name |
entity.entity.asset.hostname |
Il valore viene preso dal campo "Nome computer" se esiste nel log non elaborato. |
Count |
entity.metadata.source_labels.value |
Il valore viene preso dal campo "Count" se esiste nel log non elaborato. |
Endpoint Fingerprint |
entity.entity.asset.hardware.serial_number |
Il valore viene preso dal campo "Endpoint Fingerprint" se esiste nel log non elaborato. |
IP Address |
entity.entity.asset.ip |
I valori vengono presi dal campo "Indirizzo IP" e aggiunti come indirizzi IP separati all'array. |
Last Logged In User |
entity.relations.entity.user.userid |
Il valore viene estratto dal campo "Ultimo utente che ha eseguito l'accesso", con l'eventuale prefisso del dominio rimosso, se presente nel log non elaborato. |
Last Reboot |
entity.entity.asset.last_boot_time |
Il valore viene analizzato dal campo "Last Reboot" e formattato come timestamp se esiste nel log non elaborato. |
MAC Address |
entity.entity.asset.mac |
I valori vengono presi dal campo "Indirizzo MAC" e aggiunti come indirizzi MAC separati all'array. |
Manufacturer |
entity.entity.asset.hardware.manufacturer |
Il valore viene preso dal campo "Produttore", se esiste nel log non elaborato. |
Operating System |
entity.entity.asset.platform_software.platform_version |
Il valore viene preso dal campo "Sistema operativo", se esiste nel log non elaborato. Utilizzato per determinare il valore di entity.entity.asset.platform_software.platform (WINDOWS, LINUX o MAC). |
platform |
entity.entity.asset.platform_software.platform_version |
Il valore viene estratto dal campo "piattaforma" se esiste nel log non elaborato. Utilizzato per determinare il valore di entity.entity.asset.platform_software.platform (WINDOWS, LINUX o MAC). |
serial_number |
entity.entity.asset.hardware.serial_number |
Il valore viene estratto dal campo "serial_number" se esiste nel log non elaborato. |
version |
entity.entity.asset.platform_software.platform_version |
Il valore viene preso dal campo "version", se esiste nel log non elaborato. Utilizzato per determinare il valore di entity.entity.asset.platform_software.platform (WINDOWS, LINUX o MAC). |
| N/D | entity.metadata.collected_timestamp |
Impostato sull'ora di creazione del batch. |
| N/D | entity.metadata.vendor_name |
Impostato sempre su "TANIUM_ASSET". |
| N/D | entity.metadata.product_name |
Impostato sempre su "TANIUM_ASSET". |
| N/D | entity.metadata.entity_type |
Sempre impostato su "ASSET". |
| N/D | entity.relations.entity_type |
Sempre impostato su "USER". |
| N/D | entity.relations.relationship |
Sempre impostato su "OWNS". |
comp_serial_num |
_asset_entity.asset.product_object_id |
Mappato dal log delle modifiche |
application_name", "count", "application_vendor", "BIOS_Release_Date", "BIOS_Vendor", and "BIOS_Current_Language |
metadata.source_labels |
Mappato dal log delle modifiche |
application_version" and "BIOS_Version |
metadata.product_version |
Mappato dal log delle modifiche |
computer_id |
entity.asset.asset_id |
Mappato dal log delle modifiche |
comp_serial_num |
hardware.serial_number |
Mappato dal log delle modifiche |
Log delle modifiche
Visualizza il log delle modifiche per questo parser
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.