Raccogli i log degli asset Tanium

Supportato in:

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 systemd per l'installazione dell'agente Bindplane

Opzione 1: configura l'esportazione dei log di Tanium Asset utilizzando AWS S3

Crea un bucket Amazon S3

  1. Crea un bucket Amazon S3 seguendo questa guida dell'utente: Creazione di un bucket
  2. Salva il nome e la regione del bucket per riferimento futuro (ad esempio, tanium-asset-logs).
  3. Crea un utente seguendo questa guida utente: Creazione di un utente IAM.
  4. Seleziona l'utente creato.
  5. Seleziona la scheda Security credentials (Credenziali di sicurezza).
  6. Fai clic su Crea chiave di accesso nella sezione Chiavi di accesso.
  7. Seleziona Servizio di terze parti come Caso d'uso.
  8. Fai clic su Avanti.
    • (Facoltativo) Aggiungi un tag di descrizione.
  9. Fai clic su Crea chiave di accesso.
  10. Fai clic su Download .csv file (Scarica file .csv) per salvare la chiave di accesso e la chiave di accesso segreta per riferimento futuro.
  11. Fai clic su Fine.
  12. Seleziona la scheda Autorizzazioni.
  13. Fai clic su Aggiungi autorizzazioni nella sezione Criteri per le autorizzazioni.
  14. Seleziona Aggiungi autorizzazioni.
  15. Seleziona Collega direttamente le policy.
  16. Cerca la policy AmazonS3FullAccess.
  17. Seleziona la policy.
  18. Fai clic su Avanti.
  19. Fai clic su Aggiungi autorizzazioni.

Configura Tanium Connect per l'esportazione S3

  1. Accedi alla console Tanium con privilegi di amministratore.
  2. Vai a Moduli > Connetti > Panoramica e fai clic su Crea connessione.
  3. Fai clic su Crea.
  4. 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.
  5. Fai clic su Avanti.
  6. 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.
  7. Fai clic su Avanti.
  8. 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.
  9. Fai clic su Avanti.
  10. 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.
  11. Fai clic su Avanti.
  12. 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.
  13. 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

  1. Vai a AWS Console > IAM > Users > Add users.
  2. Fai clic su Add users (Aggiungi utenti).
  3. Fornisci i seguenti dettagli di configurazione:
    • Utente: inserisci secops-reader.
    • Tipo di accesso: seleziona Chiave di accesso - Accesso programmatico.
  4. Fai clic su Crea utente.
  5. Collega la criterio per la lettura minima (personalizzata): Utenti > secops-reader > Autorizzazioni > Aggiungi autorizzazioni > Collega direttamente le policy > Crea policy.
  6. 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"
        }
      ]
    }
    
  7. Nome = secops-reader-policy.

  8. Fai clic su Crea policy > cerca/seleziona > Avanti > Aggiungi autorizzazioni.

  9. 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

  1. Vai a Impostazioni SIEM > Feed.
  2. Fai clic su + Aggiungi nuovo feed.
  3. Nel campo Nome feed, inserisci un nome per il feed (ad esempio Tanium Asset logs).
  4. Seleziona Amazon S3 V2 come Tipo di origine.
  5. Seleziona Asset Tanium come Tipo di log.
  6. Fai clic su Avanti.
  7. 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.
  8. Fai clic su Avanti.
  9. 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.
  1. Accedi alla consoleGoogle Cloud e seleziona il progetto Google Cloud collegato alla tua istanza Google SecOps.
  2. Vai a IAM e amministrazione > Service account.
  3. Fai clic su Crea service account.
  4. 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).
  5. Fai clic su Crea e continua.
  6. Nella sezione Concedi a questo account di servizio l'accesso al progetto, fai clic su Seleziona un ruolo e seleziona Chronicle Editor.
  7. Fai clic su Continua e poi su Fine.
  8. Fai clic sul account di servizio che hai creato, quindi vai alla scheda Chiavi.
  9. Fai clic su Aggiungi chiave > Crea nuova chiave.
  10. Seleziona JSON e fai clic su Crea. Il file della chiave viene scaricato sul tuo computer.
  11. Salva il file della chiave come ingestion-auth.json nella directory del raccoglitore Bindplane (/opt/observiq-otel-collector/ingestion-auth.json su Linux o C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json su Windows) oppure aggiorna creds_file_path in config.yaml in modo che corrisponda al percorso in cui lo salvi.
  12. 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)

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Agenti di raccolta.
  3. Scarica il file di autenticazione dell'acquisizione.
  4. Salva il file in modo sicuro sul sistema in cui verrà installato l'agente Bindplane.

Recuperare l'ID cliente Google SecOps

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Profilo.
  3. 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

  1. Apri il prompt dei comandi o PowerShell come amministratore.
  2. Esegui questo comando:

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

Installazione di Linux

  1. Apri un terminale con privilegi root o sudo.
  2. 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

  1. 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, vi o Blocco note).
  2. Modifica il file config.yaml come 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 esempio us, europe o asia-southeast1). L'esportatore antepone chronicle.googleapis.com a 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.json con 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 exporters con il seguente. Imposta creds_file_path sul percorso del file di autenticazione dell'acquisizione e, se l'istanza si trova al di fuori degli Stati Uniti, sostituisci malachiteingestion-pa.googleapis.com con 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-collector
    
  • Per 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

  1. Accedi alla console Tanium con privilegi di amministratore.
  2. Vai a Moduli > Connetti > Panoramica e fai clic su Crea connessione.
  3. Fai clic su Crea.
  4. 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.
  5. Fai clic su Avanti.
  6. 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.
  7. Fai clic su Avanti.
  8. 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.
  9. Fai clic su Avanti.
  10. 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).
  11. Fai clic su Avanti.
  12. 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.
  13. 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.