Raccogli i log PX di Trellix (in precedenza FireEye)

Parser Version: 1.0

Supportato in:

Questo documento spiega come importare i log PX di FireEye (ora noto come Trellix) in Google Security Operations utilizzando l'agente Bindplane.

Trellix PX (Network Forensics) acquisisce pacchetti di rete completi e genera log di metadati sulle sessioni acquisite, sulle minacce rilevate e sugli artefatti di rete. Il parser mappa questi log al modello UDM (Unified Data Model), estraendo i dettagli della connessione di rete, le query e le risposte DNS, i metadati HTTP e gli attributi a livello di flusso.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Un'istanza Google SecOps
  • Windows Server 2016 o versioni successive o host Linux con systemd
  • Connettività di rete tra l'agente Bindplane e l'appliance Trellix PX
  • Se l'agente viene eseguito dietro un proxy, assicurati che le porte del firewall siano aperte in base ai requisiti dell'agente Bindplane
  • Accesso privilegiato all'appliance Trellix PX con ruolo di amministratore

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'acquisizione.
  4. Salva il file in modo sicuro sul sistema in cui verrà installato 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 dell'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 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 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 aggiuntive per l'installazione

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

Configura l'agente Bindplane per importare syslog e inviarli a Google SecOps

Individua il file di configurazione

  • Linux:

    sudo nano /opt/observiq-otel-collector/config.yaml
    
  • Windows:

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

Modifica il file di configurazione

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

    receivers:
        tcplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/fireeye_px:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: FIREEYE_PX
            raw_log_field: body
    
    service:
        pipelines:
            logs/fireeye_px_to_chronicle:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/fireeye_px
    

Parametri di configurazione

Sostituisci i seguenti segnaposto:

  • Configurazione del destinatario:

    • listen_address: Indirizzo IP e porta da ascoltare:
      • 0.0.0.0 per ascoltare su tutte le interfacce (consigliato)
      • La porta 514 è la porta syslog standard (richiede l'accesso root su Linux; utilizza 1514 per l'accesso non root)
  • Configurazione dell'esportatore:

    • creds_file_path: Percorso completo del file di autenticazione dell'acquisizione:
      • Linux: /etc/bindplane-agent/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • customer_id: ID cliente copiato dalla console Google SecOps
    • endpoint: URL dell'endpoint regionale:
      • 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 regionali.

Salva il file di configurazione

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

Riavvia 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 individuare eventuali 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 dei 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 individuare eventuali errori:

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

Configurare l'inoltro di Syslog di FireEye PX

  1. Accedi all'interfaccia di gestione web di FireEye PX.
  2. Vai a Impostazioni > Notifiche > Syslog.
  3. Fai clic su Aggiungi server Syslog (o modifica una voce esistente).
  4. Fornisci i seguenti dettagli di configurazione:
    • Server: inserisci l'indirizzo IP dell'host dell'agente Bindplane (ad esempio, 192.168.1.100).
    • Porta: inserisci 514.
    • Protocollo: seleziona TCP.
  5. Seleziona i tipi di eventi da inoltrare:
    • Metadati della sessione
    • Minacce rilevate
    • Artefatti di rete
    • Query e risposte DNS
    • Metadati HTTP
  6. Fai clic su Salva.
  7. Verifica che i log vengano ricevuti controllando i log dell'agente Bindplane.

Tabella di mappatura UDM

Campo log Mappatura UDM Logica
dns.authorities.0.rrname dns_answers.name Valore copiato direttamente se non è vuoto
dns.authorities.0.ttl dns_answers.ttl Convertito in stringa e poi in uinteger se non è vuoto
dns.authorities.0.rrtype dns_answers.type Mappato al valore numerico in base alla stringa rrtype (A=1, AAAA=28 e così via), quindi convertito in uinteger se non è vuoto
dns.dnsQName dns_question.name Valore copiato direttamente se non è vuoto
dns.dnsQRType dns_question.type Mappato al valore numerico in base alla stringa rrtype (A=1, AAAA=28 e così via), quindi convertito in uinteger se non è vuoto
dns.dnsFlags, pxflow.octetDeltaCount, pxflow.octetDeltaCountReverse event.idm.read_only_udm.additional.fields Uniti come etichette (flags_label, octetDeltaCount_label, octetDeltaCountReverse_label) se non vuoti
event_type metadata.event_type Imposta su NETWORK_HTTP se event_type == "http" e has_principal e has_target; NETWORK_DNS se event_type == "dns" e has_principal e has_target; NETWORK_CONNECTION altrimenti se has_principal e has_target; GENERIC_EVENT in caso contrario
pxuuid metadata.product_log_id Valore copiato direttamente se non è vuoto
dns_answers network.dns.answers Unito direttamente se non è vuoto
dns.dnsId network.dns.id Rinominate e convertite in uinteger se non sono vuote
dns_question network.dns.questions Unito direttamente se non è vuoto
dns.rcode network.dns.response_code Mappato al codice di risposta numerico in base alla stringa rcode (NOERROR=0, FORMERR=1 e così via), quindi convertito in uinteger
http.httpMethod network.http.method Valore copiato direttamente se non è vuoto
http.http_user_agent network.http.user_agent Valore copiato direttamente se non è vuoto
protocolIdentifierName network.ip_protocol Valore copiato direttamente se non è vuoto
flow_id network.session_id Convertito in stringa e poi copiato direttamente se non è vuoto
pxflow.egressInterface principal.asset.attribute.labels Unito come etichetta egress_interface se non è vuoto
http.httpHost principal.hostname Il valore viene copiato direttamente e has_principal viene impostato su true se non è vuoto
sourceIPv4Address principal.ip Estratto utilizzando il pattern grok %{IP:ip}, unito se grok ha esito positivo
pxflow.sourceEtherAddress principal.mac Unito direttamente e imposta has_principal su true se non è vuoto
sourceTransportPort principal.port Rinominate e convertite in numeri interi se non sono vuote
sensore security_result.about.labels Unito come sensor_label se non vuoto
in_iface security_result.rule_labels Unito come in_iface_label se non vuoto
pxflow.ingressInterface target.asset.attribute.labels Unito come etichetta ingress_interface se non è vuoto
destinationIPv4Address target.ip Estratto utilizzando il pattern grok %{IP:ip}, unito se grok ha esito positivo
pxflow.destinationEtherAddress target.mac Unito direttamente e imposta has_target su true se non è vuoto
destinationTransportPort target.port Rinominate e convertite in numeri interi se non sono vuote
http.httpURL target.url Valore copiato direttamente se non è vuoto
metadata.vendor_name Impostato su "Fireeye"
metadata.product_name Impostato su "PX"

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.