Raccogliere i log DNS di ExtraHop Reveal(x)

Versione del parser: 1.0

Supportato in:

Questo documento spiega come importare i log DNS di ExtraHop Reveal(x) in Google Security Operations utilizzando Bindplane. ExtraHop Reveal(x) fornisce funzionalità di monitoraggio DNS passivo che acquisiscono e analizzano tutte le transazioni DNS sulla rete. Le organizzazioni utilizzano Reveal(x) per rilevare le minacce basate su DNS, come tunneling, algoritmi di generazione di domini (DGA) ed esfiltrazione di dati tramite l'ispezione approfondita dei pacchetti del traffico DNS.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Un'istanza Google SecOps.
  • Windows Server 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 in base ai requisiti dell'agente Bindplane.
  • Accesso con privilegi alla pagina di amministrazione di ExtraHop Reveal(x).
  • Connettività di rete tra il sensore ExtraHop e l'host dell'agente Bindplane sulla porta syslog configurata.

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 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 dell'organizzazione.

Installare l'agente Bindplane

Installa l'agente Bindplane sul sistema operativo Windows o Linux seguendo le istruzioni riportate di seguito.

Installazione di finestre

  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](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](https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh))" install_unix.sh
    

Risorse di installazione aggiuntive

Per ulteriori opzioni di installazione, consulta la guida all'installazione dell'agente Bindplane.

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

  1. Accedi al file di configurazione:

    • Linux: sudo systemctl status observiq-otel-collector
    • Windows: C:\Program Files\observIQ OpenTelemetry Collector\config.yaml
  2. Modifica il file config.yaml come indicato di seguito:

    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/extrahop_dns:
        compression: gzip
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        customer_id: '<CUSTOMER_ID>'
        endpoint: '<ENDPOINT>'
        log_type: 'EXTRAHOP_DNS'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/extrahop_dns_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/extrahop_dns
    
  • Sostituisci <CUSTOMER_ID> con l'ID cliente effettivo.
  • Aggiorna /path/to/ingestion-authentication-file.json al percorso in cui è stato salvato il file di autenticazione.
  • Sostituisci <ENDPOINT> con l'endpoint regionale:
    • Stati Uniti: malachiteingestion-pa.googleapis.com
    • Europa: europe-malachiteingestion-pa.googleapis.com
    • Asia: asia-southeast1-malachiteingestion-pa.googleapis.com

Riavviare l'agente Bindplane per applicare le modifiche

  • Per riavviare l'agente Bindplane in Linux, esegui: sudo systemctl restart observiq-otel-collector
  • Per riavviare l'agente Bindplane in Windows, utilizza la console Servizi o esegui: cmd net stop observiq-otel-collector && net start observiq-otel-collector

Configurare lo stream di dati aperti di ExtraHop Reveal(x) per l'inoltro di syslog DNS

Aggiungere un target di stream di dati aperti syslog

  1. Accedi alla pagina di amministrazione di ExtraHop.
  2. Nella sezione Configurazione di sistema, fai clic su Stream di dati aperti.
  3. Fai clic su Aggiungi target e seleziona Syslog.
  4. Fornisci i seguenti dettagli di configurazione:
    • Nome: inserisci un nome descrittivo (ad es. Google SecOps-DNS).
    • Host: inserisci l'indirizzo IP dell'host dell'agente Bindplane.
    • Porta: 514.
    • Protocollo: UDP.
  5. Fai clic su Test per verificare la connettività, quindi fai clic su Salva.

Creare un trigger per esportare le transazioni DNS

  1. Fai clic sull'icona Impostazioni di sistema e seleziona Trigger.
  2. Fai clic su Crea.
  3. Fornisci i seguenti dettagli di configurazione:
    • Nome: DNS Syslog Export.
    • Eventi: seleziona DNS_REQUEST e DNS_RESPONSE.
  4. Nel riquadro Editor, inserisci il seguente script di trigger:

    var obj = {
        eh_event: "dns",
        client_ip: Flow.client.ipaddr.toString(),
        server_ip: Flow.server.ipaddr.toString(),
        client_port: Flow.client.port,
        server_port: Flow.server.port,
        qname: DNS.qname,
        qtype: DNS.qtype
    };
    
    if (event === "DNS_RESPONSE") {
        obj.dns_type = "response";
        obj.rcode = DNS.errorNum;
        obj.answers = JSON.stringify(DNS.answers);
    } else {
        obj.dns_type = "request";
        obj.opcode = DNS.opcode;
    }
    
    Remote.Syslog("Chronicle-DNS").info(JSON.stringify(obj));
    
  5. Fai clic su Salva.

Assegnare il trigger ai dispositivi

  1. Apri il trigger che hai creato.
  2. Nella sezione Assegnazioni, fai clic su Assegna.
  3. Seleziona i dispositivi o i gruppi di dispositivi pertinenti e fai clic su Assegna.

Tabella di mapping UDM

Campo log Mapping UDM Logica
answers network.dns.answers Analizzato dal campo non elaborato.
dst target.ip Mapping non elaborato.
dpt target.port Mapping non elaborato.
host principal.hostname Mapping non elaborato.
proto network.ip_protocol Mapping non elaborato.
qname network.dns.questions.name Mapping non elaborato.
qtype network.dns.questions.type Mapping non elaborato.
rcode network.dns.response_code Mapping non elaborato.
src principal.ip Mapping non elaborato.
spt principal.port Mapping non elaborato.
ttl network.dns.answers.ttl Mapping non elaborato.
N/D metadata.log_type Impostato su EXTRAHOP_DNS.
N/D metadata.product_name Impostato su Reveal(x) DNS.
N/D metadata.vendor_name Impostato su ExtraHop.

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