Raccogli i log DNS di ExtraHop Reveal(x)
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
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Agenti di raccolta.
- 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
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Profilo.
- 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
- Apri 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 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 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
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 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.jsonal 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
- Stati Uniti:
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
- Accedi alla pagina Amministrazione di ExtraHop.
- Nella sezione Configurazione di sistema, fai clic su Apri stream di dati.
- Fai clic su Aggiungi target e seleziona Syslog.
- 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.
- Name (Nome): inserisci un nome descrittivo (ad es.
- Fai clic su Testa per verificare la connettività, poi fai clic su Salva.
Crea un trigger per esportare le transazioni DNS
- Fai clic sull'icona Impostazioni di sistema e seleziona Attivatori.
- 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 Compiti, fai clic su Assegna.
- 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.