Raccogli i log DNS di ExtraHop Reveal(x)

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 minacce basate su DNS come tunneling, algoritmi di generazione di domini (DGA) ed esfiltrazione di dati tramite l'ispezione approfondita dei pacchetti di 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'agente viene eseguito dietro 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 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.
  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](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](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 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 segue:

    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 il tuo endpoint regionale:
    • Stati Uniti: malachiteingestion-pa.googleapis.com
    • Europa: europe-malachiteingestion-pa.googleapis.com
    • Asia: asia-southeast1-malachiteingestion-pa.googleapis.com

Riavvia 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

Configura ExtraHop Reveal(x) Open Data Stream per l'inoltro di syslog DNS

Aggiungere una destinazione Open Data Stream syslog

  1. Accedi alla pagina Amministrazione di ExtraHop.
  2. Nella sezione Configurazione di sistema, fai clic su Apri stream di dati.
  3. Fai clic su Aggiungi target e seleziona Syslog.
  4. Fornisci i seguenti dettagli di configurazione:
    • Name (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 Testa per verificare la connettività, poi fai clic su Salva.

Crea un trigger per esportare le transazioni DNS

  1. Fai clic sull'icona Impostazioni di sistema e seleziona Attivatori.
  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 Compiti, fai clic su Assegna.
  3. Seleziona i dispositivi o i gruppi di dispositivi pertinenti e fai clic su Assegna.

Tabella di mappatura UDM

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

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