Raccogliere i log DNS di ExtraHop Reveal(x)
Versione del parser: 1.0
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
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Agenti di raccolta.
- Scarica il file di autenticazione dell'acquisizione.
- Salva il file in modo sicuro sul sistema in cui verrà installato Bindplane.
Recuperare l'ID cliente di Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Profilo.
- 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
- Apri il prompt dei comandi o PowerShell come amministratore.
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
- Apri un terminale con privilegi di root o sudo.
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
Accedi al file di configurazione:
- Linux:
sudo systemctl status observiq-otel-collector - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\config.yaml
- Linux:
Modifica il file
config.yamlcome 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.jsonal 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
- Stati Uniti:
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
- Accedi alla pagina di amministrazione di ExtraHop.
- Nella sezione Configurazione di sistema, fai clic su Stream di dati aperti.
- Fai clic su Aggiungi target e seleziona Syslog.
- 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.
- Nome: inserisci un nome descrittivo (ad es.
- Fai clic su Test per verificare la connettività, quindi fai clic su Salva.
Creare un trigger per esportare le transazioni DNS
- Fai clic sull'icona Impostazioni di sistema e seleziona Trigger.
- Fai clic su Crea.
- Fornisci i seguenti dettagli di configurazione:
- Nome:
DNS Syslog Export. - Eventi: seleziona DNS_REQUEST e DNS_RESPONSE.
- Nome:
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));Fai clic su Salva.
Assegnare il trigger ai dispositivi
- Apri il trigger che hai creato.
- Nella sezione Assegnazioni, fai clic su Assegna.
- 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.