Raccogliere i log di uberAgent

Supportato in:

Questo documento spiega come importare i log di uberAgent in Google Security Operations utilizzando l'agente Bindplane.

uberAgent è una piattaforma di analisi della sicurezza degli endpoint e di monitoraggio dell'esperienza utente per Windows e macOS. Raccoglie dati di telemetria, inclusi eventi di processo, eventi di accesso, connessioni di rete e utilizzo delle applicazioni sugli endpoint monitorati.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Un'istanza Google SecOps
  • Windows Server 2016 o versioni successive oppure host Linux con systemd
  • Connettività di rete tra l'agente Bindplane e gli endpoint di uberAgent
  • Se l'esecuzione avviene tramite un proxy, assicurati che le porte del firewall siano aperte in base ai requisiti dell'agente Bindplane
  • Accesso con privilegi alla console di gestione di uberAgent o agli endpoint in cui è installato uberAgent

Recuperare il file di autenticazione dell'importazione di Google SecOps

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

Recuperare l'ID cliente di 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.

Installare 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
    
  3. Attendi il completamento dell'installazione.

  4. Verifica l'installazione eseguendo:

    sc query observiq-otel-collector
    

    Il servizio dovrebbe essere visualizzato come IN ESECUZIONE.

Installazione di Linux

  1. Apri un terminale con privilegi di 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
    
  3. Attendi il completamento dell'installazione.

  4. Verifica l'installazione eseguendo:

    sudo systemctl status observiq-otel-collector
    

    Il servizio dovrebbe essere visualizzato come attivo (in esecuzione).

Risorse di installazione aggiuntive

Per ulteriori opzioni di installazione e risoluzione dei problemi, consulta la guida all'installazione dell'agente Bindplane.

Configurare l'agente Bindplane per importare i log e inviarli a Google SecOps

Individuare il file di configurazione

  • Linux:

    sudo nano /etc/bindplane-agent/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Modificare il file di configurazione

  • Sostituisci l'intero contenuto di config.yaml con la seguente configurazione:

    receivers:
        filelog:
            include:
                - 'C:\uberAgent\logs\*.log'
                - 'C:\uberAgent\logs\*.csv'
            start_at: beginning
            poll_interval: 5s
    
    exporters:
        chronicle/uberagent:
            compression: gzip
            creds_file_path: 'C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: UBERAGENT
            raw_log_field: body
            ingestion_labels:
                env: production
    
    service:
        pipelines:
            logs/uberagent_to_chronicle:
                receivers:
                    - filelog
                exporters:
                    - chronicle/uberagent
    

Parametri di configurazione

Sostituisci i seguenti segnaposto:

  • Configurazione del ricevitore:

    • include: percorsi ai file di log di uberAgent:
      • Windows (locale): C:\uberAgent\logs\*.log e C:\uberAgent\logs\*.csv
      • Windows (condivisione file): \\SERVER\Share\uberagent-logs\*.log
      • Modifica il percorso in base alla configurazione dell'output dei file di uberAgent
    • start_at: imposta su beginning per leggere i log esistenti o end per leggere solo le nuove voci
    • poll_interval: frequenza di controllo dei nuovi dati di log (valore predefinito: 5s)
  • Configurazione dell'esportatore:

    • uberagent: nome descrittivo dell'esportatore
    • creds_file_path: percorso completo del file di autenticazione dell'importazione:
      • Linux: /etc/bindplane-agent/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • <customer_id>: ID cliente del passaggio precedente
    • endpoint: URL dell'endpoint a livello di regione:
      • Stati Uniti: malachiteingestion-pa.googleapis.com
      • Europa: europe-malachiteingestion-pa.googleapis.com
      • Asia: asia-southeast1-malachiteingestion-pa.googleapis.com
      • Per l'elenco completo, consulta Endpoint a livello di regione
    • UBERAGENT: tipo di log esattamente come appare in Chronicle
    • ingestion_labels: etichette facoltative in formato YAML (ad es. env: production)
  • Configurazione della pipeline:

    • uberagent_to_chronicle: nome descrittivo della pipeline

Salvare il file di configurazione

  • Dopo la modifica, salva il file:
    • Linux: premi Ctrl+O, poi Enter, poi Ctrl+X
    • Windows: fai clic su File > Salva

Riavviare l'agente Bindplane per applicare le modifiche

  • Per riavviare l'agente Bindplane in Linux, esegui questo comando:

    sudo systemctl restart observiq-otel-collector
    
    1. Verifica che il servizio sia in esecuzione:

      sudo systemctl status observiq-otel-collector
      
    2. Controlla i log per verificare la presenza di errori:

      sudo journalctl -u observiq-otel-collector -f
      
  • Per riavviare l'agente Bindplane in Windows, scegli una delle seguenti opzioni:

    • Prompt dei comandi o PowerShell come amministratore:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • Console Servizi:

      1. Premi Win+R, digita services.msc e premi Invio.
      2. Individua observIQ OpenTelemetry Collector.
      3. Fai clic con il tasto destro del mouse e seleziona Riavvia.
      4. Verifica che il servizio sia in esecuzione:

        sc query observiq-otel-collector
        
      5. Controlla i log per verificare la presenza di errori:

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

Configurare l'output dei file di uberAgent

uberAgent supporta più backend di output. Per esportare i dati come file per la raccolta da parte dell'agente Bindplane:

  1. Apri il file di configurazione di uberAgent (uberAgent.conf) sull'endpoint o tramite Criteri di gruppo.
  2. Configura un ricevitore di output basato su file:

    [Receiver]
    Name = FileOutput
    Type = File
    Path = C:\uberAgent\logs\
    
  3. Configura le metriche e i tipi di origine da esportare:

    • Processo: eventi di avvio/arresto del processo, utilizzo delle risorse.
    • Accesso: eventi di accesso/disconnessione dell'utente.
    • Rete: eventi di connessione di rete.
    • Applicazione: utilizzo e errori dell'applicazione.
  4. Salva la configurazione e riavvia il servizio uberAgent.

  5. Verifica che i file di log vengano creati nella directory di output configurata.

  6. Assicurati che l'agente Bindplane disponga delle autorizzazioni di lettura per la directory e i file di log.

Tabella di mappatura UDM

Campo log Mappatura UDM Funzione logica
SessionRpLatencyMs2, SessionHRes, SessionVRes, SessionColorDepth, SessionClientPlatform, SessionClientVersion, SessionClientOsLanguage, SessionPublishedName, SessionPublishedAppsCtx, SessionAppStateCtx, SessionEncryptionCtx, SessionClientTypeCtx, SessionBrokerDnsVmw, SessionBrokerUrlVmw, SessionBrokerTunneledVmw, SessionBrokerTunnelUrlVmw, SessionBrokerRemoteIpVmw, SessionBrokerUserVmw, SessionBrokerDomainVmw, SessionClientTimezoneVmw, SessionClientIdVmw, SessionTypeVmw, SessionBrokerType, SessionFgAppId, SessionFgAppVersion, SessionFgProcessName, SessionFgProcessId, SessionFgBrowserType, SessionFgBrowserActiveTabHost, SessionFgWindowTitle, SessionClientHwIdCtx2, SessionRoundTripTimeMs, SessionFps, SessionTransportProtocols, SessionProcessCount, SessionIOMB, SessionCPUTimeMs, SessionConnectionState, SessionUser, SessionIOCount, SessionNetKBPS, SessionWorkingSetMB, SessionCPUUsagePercent, SessionIOPS, SessionClientName, SessionIOLatencyMs, PowerSupportsS3, IsBatteryPresent, PowerSupportsS1, PowerSupportsS2, PowerSupportsS5, CPUMaxMhz, BaseboardSerial, CtxMachineCatalogName, AdDomainDns, HwHypervisorVendor, OsBuild, HwBiosVersion, PowerSupportsS4, HwIsVirtualMachine, IsUpsPresent, PowerSupportsConnectedStandby, OsInstallDate, Sourcetype, uberagent_index_name, data_stream.namespace, data_stream.dataset, data_stream.type, data_stream.subset, CPUCoresLogical, AdOu, AdDomainNetBios, logstash_pipeline, AdSite, CtxFarmName, CPUSockets, OsSpName, OsName, OsType, OsUpdateBuildRevision, ComputerNameCanonical, ComputerNameDn, CtxDeliveryGroupName, tags, user_agent.original additional.fields Uniti come coppie chiave-valore dai campi elencati
metadata.event_type Impostato su STATUS_UPDATE se has_principal è true e has_target è false, NETWORK_CONNECTION se entrambi sono true, GENERIC_EVENT altrimenti
SessionGUID metadata.product_log_id Valore copiato direttamente
user_agent.original network.http.parsed_user_agent Convertito in user agent analizzato
user_agent.original network.http.user_agent Valore copiato direttamente
SessionTransportProtocols network.ip_protocol Impostato su UDP se corrisponde a (?i)udp, TCP se (?i)tcp
SessionID network.session_id Valore copiato direttamente
SessionClientUserDomain principal.administrative_domain Valore copiato direttamente
CPUCoresPhysical, RAMSizeGB, CPUName, HwManufacturer, OsArchitecture, BIOSSerial, HwModel principal.asset.hardware Uniti nell'oggetto hardware
SessionClientDomain, host principal.asset.hostname Valore di SessionClientDomain se non è vuoto, altrimenti host
prin_ip, SessionClientIp, system_ip principal.asset.ip Valore di prin_ip se non è vuoto, altrimenti SessionClientIp, altrimenti system_ip
SessionClientDomain, host principal.hostname Valore di SessionClientDomain se non è vuoto, altrimenti host
prin_ip, SessionClientIp, system_ip principal.ip Valore di prin_ip se non è vuoto, altrimenti SessionClientIp, altrimenti system_ip
SessionClientMac principal.mac Valore di SessionClientMac, con - sostituito da :, in minuscolo
SessionClientPlatform principal.platform Impostato su WINDOWS se corrisponde a (?i)windows
SessionClientVersion principal.platform_version Impostato sul valore se corrisponde a (?i)windows
SessionUser, SessionClientUser principal.user.user_display_name Valore di SessionUser se non è vuoto, altrimenti SessionClientUser
SessionBrokerRemoteIpVmw target.ip Valore copiato direttamente
SessionBrokerUserVmw target.user.user_display_name Valore copiato direttamente
SessionClientIdVmw target.user.userid Valore copiato direttamente
metadata.product_name Impostato su "UBERAGENT"
metadata.vendor_name Impostato su "UBERAGENT"

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.