Raccogliere i log DNS di ExtraHop

Supportato in:

Questo documento spiega come importare i log DNS di ExtraHop in Google Security Operations utilizzando Bindplane. L'analizzatore estrae i log in formato JSON da una stringa di messaggi non elaborati, gestendo i dati non JSON eliminando l'evento. Poi, mappa campi specifici del JSON estratto con i campi corrispondenti nello schema del modello di dati unificato (UDM), convertendo i tipi di dati e gestendo diverse strutture di risposta DNS per garantire una rappresentazione coerente.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Istanza Google SecOps
  • 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.
  • Accesso con privilegi al DNS ExtraHop

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

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
    

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
    

Risorse aggiuntive per l'installazione

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

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

  1. Accedi al file di configurazione:
    • Individua il file config.yaml. In genere, si trova nella directory /etc/bindplane-agent/ su Linux o nella directory di installazione su Windows.
    • Apri il file utilizzando un editor di testo (ad esempio nano, vi o Blocco note).
  2. Modifica il file config.yaml come segue: yaml 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_file_path: '/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 log_type: 'EXTRAHOP_DNS' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels

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 per ExtraHop Open Data Stream (DNS)

  1. Accedi all'amministrazione di ExtraHop utilizzando https://<extrahop-hostname-or-IP-address>/admin.
  1. Vai a Configurazione di sistema > Apri stream di dati.
  2. Fai clic su Aggiungi target.
  3. Dal menu a discesa Tipo di destinazione, seleziona Syslog.
  4. Fornisci i seguenti dettagli di configurazione:
    • Nome: inserisci un nome univoco per identificare la destinazione.
    • Host: inserisci l'indirizzo IP dell'agente Bindplane.
    • Porta: inserisci il numero di porta dell'agente Bindplane.
    • Protocollo: seleziona UDP o TCP, a seconda della configurazione di Bindplane.
    • (Facoltativo) Seleziona Ora locale per inviare le informazioni syslog con timestamp nel fuso orario locale.
    • Fai clic su Test.
  5. Fai clic su Salva.

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
ans.data network.dns.answers.data Estratto dal campo data all'interno dell'array answers nel log non elaborato.
ans.name network.dns.answers.name Estratto dal campo name all'interno dell'array answers nel log non elaborato.
ans.ttl network.dns.answers.ttl Estratto dal campo ttl all'interno dell'array answers nel log non elaborato. Transazione convertita in uinteger.
ans.typeNum network.dns.answers.type Estratto dal campo typeNum all'interno dell'array answers nel log non elaborato. Transazione convertita in uinteger.
ans_data network.dns.answers.data Estratto dal campo ans_data nel log non elaborato quando l'array answers non è presente.
ans_name network.dns.answers.name Estratto dal campo ans_name nel log non elaborato quando l'array answers non è presente.
ans_ttl network.dns.answers.ttl Estratto dal campo ans_ttl nel log non elaborato quando l'array answers non è presente. Transazione convertita in uinteger.
client_ip principal.ip Estratto dal campo client_ip nel log non elaborato.
dns_type network.dns.response Se il valore è "response", allora è "true", altrimenti non viene mappato. Transazione convertita in boolean.
dst_ip target.ip Estratto dal campo dst_ip nel log non elaborato.
ip_or_host intermediary.hostname Se ip_or_host non è un indirizzo IP valido, viene mappato a intermediary.hostname.
ip_or_host intermediary.ip Se ip_or_host è un indirizzo IP valido, è mappato su intermediary.ip.
opcode network.dns.opcode Estratto dal campo opcode nel log non elaborato. Mappato su valori numerici in base alla stringa del codice operativo (ad es. "QUERY" -> 0). Transazione convertita in uinteger.
qname network.dns.questions.name Estratto dal campo qname nel log non elaborato.
qtype network.dns.questions.type Estratto dal campo qtype nel log non elaborato. Mappato su valori numerici in base alla stringa del tipo di record (ad es. "A" -> 1). Transazione convertita in uinteger.
metadata.event_type Imposta su NETWORK_DNS.
metadata.log_type Imposta su EXTRAHOP_DNS.
network.application_protocol Imposta su DNS.

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