Raccolta dei LOG dal nostro server DNS e DHCP in Elasticsearch e visualizzazione in Grafana

Quanto sono poco originale per i titoli brevi… Bene, se si dispone di un proprio server DNS o DHCP, Questo è il tuo post 😉 Non lo otterremo davvero attraverso i registri, lo faremo controllando il tuo traffico 😉 Verificheremo le richieste generate dal servizio DNS, o DHCP per visualizzarlo in Grafana!

Se vogliamo conoscere le richieste ricevute dal nostro server DNS o DHCP per poterle visualizzare in Grafana per effettuare query o organizzarle in dashboard rotanti… laddove ci aiuti a conoscere il corretto o meno funzionamento degli stessi servizi, oltre che per conoscere nel caso dei DNS le richieste di destinazione, Chi li esegue… Nel caso di DHCP, le petizioni… Altri tipi di traffico possono essere analizzati, ovviamente, Protocollo HTTP, MySQL, PostgreSQL… e quindi conoscere le query che vengono fatte…

Come lo assembliamo? Supponiamo di avere già un ELK funzionante e un Grafana, ci affideremo a Packetbeat per analizzare il traffico di una determinata macchina, poi lo invieremo a Elasticsearch e con un Datasource di Grafana potremo fare le query di cui abbiamo bisogno.

Su Windows, dobbiamo installare sulla macchina Npcap previamente, selezionando solo ‘Install Npcap in WinPcap API-compatible Mode’. Continuiamo e completiamo l'installazione di Battito di pacchetti.

Una volta che avremo scaricato e scompattato packetbeat, lo configureremo, come al solito, il suo file di configurazione ‘packetbeat.yml’.

...
setup.template.settings:
  index.number_of_shards: 1
setup.template.name: "packetbeat"
setup.template.pattern: "packetbeat-*"
setup.ilm.enabled: Falso
...
setup.kibana:
  ospite: "https://DIRECCION_IP_KIBANA:5601"
  ssl.verification_mode: nessuno
...
uscita.elasticsearch:
  # Array di host a cui connettersi.
  Ospita: ["https://DIRECCION_IP_ELASTIC:9200"]
  ssl.verification_mode: none
  username: "XXXXXXXX"
  parola d’ordine: "XXXXXXXX*"
  indice: "packetbeat-%{+aaaa. MM.dd}"
...

E, nello stesso file di configurazione dovremo indicare quali registri ci interessa auditare:

...
# =========================== Transaction protocols ============================
packetbeat.protocols:
- digitare: icmp
  # Enable ICMPv4 and ICMPv6 monitoring. The default is true.
  Abilitato: Falso

- digitare: amqp
  # Configure the ports where to listen for AMQP traffic. You can disable
  # the AMQP protocol by commenting out the list of ports.
  Porte: [5672]
  Abilitato: Falso

- digitare: cassandra
  # Configure the ports where to listen for Cassandra traffic. You can disable
  # the Cassandra protocol by commenting out the list of ports.
  Porte: [9042]
  Abilitato: Falso

- digitare: dhcpv4
  # Configure the DHCP for IPv4 ports.
  Porte: [67, 68]

- digitare: DNS
  # Configure the ports where to listen for DNS traffic. You can disable
  # the DNS protocol by commenting out the list of ports.
  Porte: [53]

- digitare: Protocollo HTTP
  # Configure the ports where to listen for HTTP traffic. You can disable
  # the HTTP protocol by commenting out the list of ports.
  Porte: [80, 8080, 8000, 5000, 8002]
  Abilitato: Falso
...

Una vez configurado, installamos el service:

cd '.\Program Files\packetbeat\'
.\install-service-packetbeat.ps1

Validamos la configuración, cargamos la config y arrancamos el servicio:

.\packetbeat.exe test config -c .\packetbeat.yml -e
.\packetbeat.exe setup
Start-Service packetbeat

Nota, para que use menos CPU, debemos filtrar sólo los protocolos que nos interesen, Inoltre, en el parámetro ‘packetbeat.interfaces.deviceponerle el ID de la tarjeta de red a auditar, para saber que ID, en una consola de terminal ejecutamos: ‘packetbeat devices’:

packetbeat devices
0: \Device\NPF_{AB47E8CD-2692-4320-A188-FFE1191EDFDC} (Adaptador Ethernet vmxnet3) (fe80::70ef:a48d:29b2:3677 192.168.1.100)
1: \Device\NPF_Loopback (Adapter for loopback traffic capture) (Not assigned ip address)

Podremos ir a comprobar desde Kibana si ya estamos recopilando los eventos de Auditbeat, deberemos crear el índice como de costumbre.

E poi, desde Grafana crearemos un Data Source contra este índice de Elasticsearch y podremos comenzar a crear. Potere essere qualcosa di più bello del mio. Un pannello, a colpo d'occhio si vedono le query DNS, origine, destino, top dei clienti, top delle destinazioni… e più o meno lo stesso con il DHCP.

Sono sicuro che migliorerete la mia dashboard prima che dica coccodé, possiamo mettere un altro tipo di pannelli, questi sono i tipici a torta, Grafica, sankey…

Per poter poi fare filtri e ricerche DNS per IP di origine, sito di destinazione…

Un altro modo di vedere il DHCP… E sì… vedo che ho un Raspberry Pi che ha problemi con il Wifi, deve avere un trasformatore scadente con bassa tensione…

Ma, beh,, in un ambiente con più dati, o dati più reali potete visualizzarlo in modo più attraente. Venire, non mi dilungo, spero che vi serva da ispirazione se avete bisogno di raccogliere i dati del vostro server DNS o del server DHCP.

Un abbraccio a tod@s!

Post consigliati

Autore

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, Non esitate a contattarmi, Cercherò di aiutarti ogni volta che potrò, Condividere è vivere ;) . Goditi i documenti!!!