Raccogliere i log di FireEye HX

Supportato in:

Questo documento spiega come raccogliere i log di FireEye Endpoint Security (HX) in Google Security Operations utilizzando Bindplane. Il parser tenta di elaborare il messaggio di input come JSON. Se il messaggio non è in formato JSON, utilizza i pattern grok per estrarre i campi e poi esegue il mapping UDM condizionale in base al tipo di evento estratto e ad altri criteri.

Prima di iniziare

  • Assicurati di avere un'istanza Google Security Operations.
  • Assicurati di utilizzare Windows 2016 o versioni successive oppure un host Linux con systemd.
  • Se l'esecuzione avviene tramite un proxy, assicurati che le porte del firewall siano aperte.
  • Assicurati di disporre dell'accesso con privilegi a FireEye Endpoint Security.

Recuperare il file di autenticazione importazione di Google SecOps

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Agenti di raccolta.
  3. Scarica il file di autenticazione importazione. 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

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

Risorse aggiuntive per l'installazione

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

  1. Accedi al file di configurazione:

    1. Individua il file config.yaml. In genere, si trova nella directory /etc/bindplane-agent/ su Linux o nella directory di installazione su Windows.
    2. 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:
            compression: gzip
            # Adjust the path to the credentials file you downloaded in Step 1
            creds: '/path/to/ingestion-authentication-file.json'
            # Replace with your actual customer ID from Step 2
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            # Add optional ingestion labels for better organization
            ingestion_labels:
                log_type: 'FIREEYE_HX'
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Sostituisci la porta e l'indirizzo IP in base alle esigenze della tua infrastruttura.

  4. Sostituisci <customer_id> con l'ID cliente effettivo.

  5. Aggiorna /path/to/ingestion-authentication-file.json al percorso in cui è stato salvato il file di autenticazione nella sezione Recupera il file di autenticazione per l'importazione di Google SecOps.

Riavvia l'agente Bindplane per applicare le modifiche

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

    sudo systemctl restart bindplane-agent
    
  • Per riavviare l'agente Bindplane in Windows, puoi utilizzare la console Servizi o inserire il seguente comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configura syslog di FireEye HX Event Streamer utilizzando la UI

  1. Accedi alla console di gestione FireEye HX.
  2. Vai a Event Streamer.
  3. Seleziona Attiva Event Streamer sull'host.
  4. Salva le modifiche ai criteri.
  5. Vai a Destinazioni > Impostazioni server > Aggiungi destinazione syslog.
  6. Fornisci i seguenti dettagli di configurazione:
    • Nome: inserisci un nome univoco per etichettare il raccoglitore di log Google SecOps.
    • Indirizzo IP: inserisci l'indirizzo IP dell'agente Bindplane.
    • Porta: inserisci il numero di porta dell'agente Bindplane.
  7. Salva le modifiche per applicarle.

Configura syslog di FireEye HX Event Streamer utilizzando la CLI

  1. Accedi all'appliance FireEye HX utilizzando l'interfaccia a riga di comando (CLI).
  2. Esegui questo comando per attivare la modalità di configurazione:

    enable
    configure terminal
    
  3. Esegui questo comando per aggiungere una destinazione del server syslog remoto:

    logging BINDPLANE_IP_ADDRESS port PORT_NUMBER port
    
    • Sostituisci quanto segue:
      • BINDPLANE_IP_ADDRESS: l'indirizzo IP del forwarder Google SecOps
      • PORT_NUMBER: il numero di porta
  4. Esegui questo comando per salvare i dettagli della configurazione:

    write mem
    

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
alert.agent._id principal.asset.asset_id L'ID agente del log non elaborato, con il prefisso AGENT ID:
alert.agent.url principal.labels.value L'URL dell'agente dal log non elaborato.
alert.condition._id additional.fields.value.string_value L'ID condizione del log non elaborato, con = caratteri rimossi.
alert.condition.url additional.fields.value.string_value L'URL della condizione del log non elaborato, con = caratteri rimossi.
alert.decorators[].data.fireeye_report.indicator_verdict.malware_families.0 security_result.threat_name La famiglia di malware del report FireEye nel campo dei decoratori del log non elaborato.
alert.decorators[].data.fireeye_report.risk_summary security_result.description Il riepilogo dei rischi del report FireEye nel campo dei decoratori del log non elaborato.
alert.decorators[].data.fireeye_verdict security_result.severity_details Il verdetto di FireEye dal campo dei decoratori del log non elaborato.
alert.event_at read_only_udm.metadata.event_timestamp Il timestamp evento del log non elaborato.
alert.event_id read_only_udm.metadata.product_log_id L'ID evento del log non elaborato.
alert.event_type read_only_udm.metadata.product_event_type Il tipo di evento del log non elaborato.
alert.event_values.fileWriteEvent/fullPath target.file.full_path Il percorso completo del file scritto dal log non elaborato.
alert.event_values.fileWriteEvent/md5 target.file.md5 L'hash MD5 del file scritto dal log non elaborato.
alert.event_values.fileWriteEvent/pid principal.process.pid L'ID processo che ha scritto il file dal log non elaborato.
alert.event_values.fileWriteEvent/processPath principal.process.file.full_path Il percorso del processo che ha scritto il file dal log non elaborato. Combinato con alert.event_values.fileWriteEvent/process per creare il percorso completo se il sistema operativo è Windows.
alert.event_values.fileWriteEvent/size target.file.size Le dimensioni del file scritto dal log non elaborato.
alert.event_values.fileWriteEvent/username principal.user.userid L'utente che ha scritto il file dal log non elaborato.
alert.event_values.ipv4NetworkEvent/localIP principal.ip L'indirizzo IP locale del log non elaborato.
alert.event_values.ipv4NetworkEvent/localPort principal.port La porta locale dal log non elaborato.
alert.event_values.ipv4NetworkEvent/pid principal.process.pid L'ID processo dal log non elaborato.
alert.event_values.ipv4NetworkEvent/process principal.process.file.full_path Il nome del processo dal log non elaborato. Combinato con alert.event_values.ipv4NetworkEvent/processPath per creare il percorso completo se il sistema operativo è Windows.
alert.event_values.ipv4NetworkEvent/processPath principal.process.file.full_path Il percorso del processo dal log non elaborato. Combinato con alert.event_values.ipv4NetworkEvent/process per creare il percorso completo se il sistema operativo è Windows.
alert.event_values.ipv4NetworkEvent/protocol network.ip_protocol Il protocollo di rete dal log non elaborato.
alert.event_values.ipv4NetworkEvent/remoteIP target.ip L'indirizzo IP remoto dal log non elaborato.
alert.event_values.ipv4NetworkEvent/remotePort target.port La porta remota dal log non elaborato.
alert.event_values.ipv4NetworkEvent/timestamp read_only_udm.metadata.event_timestamp Il timestamp evento del log non elaborato.
alert.event_values.ipv4NetworkEvent/username principal.user.userid L'utente del log non elaborato.
alert.event_values.processEvent/md5 target.process.file.md5 L'hash MD5 del processo dal log non elaborato.
alert.event_values.processEvent/parentPid principal.process.pid L'ID processo padre del log non elaborato.
alert.event_values.processEvent/parentProcess principal.process.file.full_path Il nome del processo padre dal log non elaborato.
alert.event_values.processEvent/parentProcessPath principal.process.file.full_path Il percorso del processo padre dal log non elaborato.
alert.event_values.processEvent/pid target.process.pid L'ID processo dal log non elaborato.
alert.event_values.processEvent/process target.process.file.full_path Il nome del processo dal log non elaborato.
alert.event_values.processEvent/processCmdLine target.process.command_line La riga di comando del processo dal log non elaborato.
alert.event_values.processEvent/processPath target.process.file.full_path Il percorso del processo dal log non elaborato.
alert.event_values.processEvent/timestamp read_only_udm.metadata.event_timestamp Il timestamp evento del log non elaborato.
alert.event_values.processEvent/username principal.user.userid L'utente del log non elaborato.
alert.event_values.urlMonitorEvent/hostname target.hostname Il nome host del log non elaborato.
alert.event_values.urlMonitorEvent/localPort principal.port La porta locale dal log non elaborato.
alert.event_values.urlMonitorEvent/pid principal.process.pid L'ID processo dal log non elaborato.
alert.event_values.urlMonitorEvent/process principal.process.file.full_path Il nome del processo dal log non elaborato. Combinato con alert.event_values.urlMonitorEvent/processPath per creare il percorso completo se il sistema operativo è Windows.
alert.event_values.urlMonitorEvent/processPath principal.process.file.full_path Il percorso del processo dal log non elaborato. Combinato con alert.event_values.urlMonitorEvent/process per creare il percorso completo se il sistema operativo è Windows.
alert.event_values.urlMonitorEvent/remoteIpAddress target.ip L'indirizzo IP remoto dal log non elaborato.
alert.event_values.urlMonitorEvent/remotePort target.port La porta remota dal log non elaborato.
alert.event_values.urlMonitorEvent/requestUrl target.url L'URL richiesto dal log non elaborato.
alert.event_values.urlMonitorEvent/timestamp read_only_udm.metadata.event_timestamp Il timestamp evento del log non elaborato.
alert.event_values.urlMonitorEvent/urlMethod network.http.method Il metodo HTTP dal log non elaborato.
alert.event_values.urlMonitorEvent/userAgent network.http.user_agent Lo user agent del log grezzo.
alert.event_values.urlMonitorEvent/username principal.user.userid L'utente del log non elaborato.
alert.indicator._id security_result.about.labels.value L'ID indicatore del log non elaborato.
alert.indicator.name read_only_udm.security_result.summary Il nome dell'indicatore del log non elaborato.
alert.indicator.url security_result.about.labels.value L'URL dell'indicatore dal log non elaborato.
alert.multiple_match read_only_udm.metadata.description Il messaggio di più corrispondenze dal log non elaborato.
alert.source additional.fields.value.string_value L'origine dell'avviso dal log non elaborato.
authmethod extensions.auth.mechanism Il metodo di autenticazione dal log non elaborato. Imposta LOCAL se il valore è local o LOCAL, altrimenti imposta MECHANISM_OTHER.
authsubmethod extensions.auth.auth_details Il sottometodo di autenticazione del log non elaborato, convertito in maiuscolo.
client principal.ip L'indirizzo IP client dal log non elaborato.
conditions.data.tests[].token security_result.detection_fields.key Il token dei test delle condizioni nel log non elaborato.
conditions.data.tests[].value security_result.detection_fields.value Il valore dei test delle condizioni nel log non elaborato.
description read_only_udm.metadata.description La descrizione del log non elaborato.
host.agent_version read_only_udm.metadata.product_version La versione dell'agente dal log non elaborato.
host.containment_state read_only_udm.principal.containment_state Lo stato di contenimento del log non elaborato.
host.domain read_only_udm.principal.administrative_domain Il dominio del log non elaborato.
host.hostname read_only_udm.principal.hostname Il nome host del log non elaborato.
host.os.platform read_only_udm.principal.platform La piattaforma del sistema operativo dal log non elaborato.
host.os.product_name read_only_udm.principal.platform_version Il nome del prodotto del sistema operativo dal log non elaborato.
host.primary_ip_address read_only_udm.principal.ip L'indirizzo IP principale del log non elaborato.
host.primary_mac read_only_udm.principal.mac L'indirizzo MAC principale del log non elaborato, con i caratteri - sostituiti da :.
host_ principal.hostname Il nome host del log non elaborato.
host_details.data.agent_version read_only_udm.metadata.product_version La versione dell'agente dal log non elaborato.
host_details.data.containment_state read_only_udm.security_result.severity_details Lo stato di contenimento del log non elaborato.
host_details.data.domain read_only_udm.principal.administrative_domain Il dominio del log non elaborato.
host_details.data.hostname read_only_udm.principal.hostname Il nome host del log non elaborato.
host_details.data.os.platform read_only_udm.principal.platform La piattaforma del sistema operativo dal log non elaborato.
host_details.data.os.product_name read_only_udm.principal.platform_version Il nome del prodotto del sistema operativo dal log non elaborato.
host_details.data.primary_ip_address read_only_udm.principal.ip L'indirizzo IP principale del log non elaborato.
host_details.data.primary_mac read_only_udm.principal.mac L'indirizzo MAC principale del log non elaborato, con i caratteri - sostituiti da :.
indicators.data.description read_only_udm.metadata.description La descrizione dell'indicatore dal log non elaborato.
linea target.application La riga del log non elaborato.
localusername target.user.user_display_name Il nome utente locale del log non elaborato.
principal_ip principal.ip L'indirizzo IP principale del log non elaborato.
di diffusione read_only_udm.principal.application Il nome del processo dal log non elaborato.
process_id read_only_udm.principal.process.pid L'ID processo dal log non elaborato.
referrer network.http.referral_url L'URL referrer dal log non elaborato.
remoteaddress principal.ip L'indirizzo remoto dal log non elaborato.
richiesta additional.fields.value.string_value La richiesta dal log non elaborato.
ruolo target.user.role_name Il ruolo del log non elaborato.
server target.resource.attribute.labels.value Il server dal log non elaborato.
sessionID network.session_id L'ID sessione del log non elaborato.
gravità security_result.severity Imposta su LOW, MEDIUM o HIGH in base alla gravità del log non elaborato.
target_host read_only_udm.target.hostname Il nome host di destinazione dal log non elaborato.
target_ip target.ip L'indirizzo IP di destinazione del log non elaborato.
target_ip1 target.ip L'indirizzo IPv6 di destinazione dal log non elaborato.
timestamp timestamp Il timestamp del log non elaborato.
upstream target.url L'URL upstream dal log non elaborato.
nome utente target.user.userid Il nome utente del log non elaborato.

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