Sammeln der LOGs von unserem DNS- und DHCP-Server in Elasticsearch und Visualisieren in Grafana

Wie unoriginell ich für kurze Titel bin… Brunnen, wenn Sie einen eigenen DNS-Server oder DHCP-Server haben, Das ist dein Beitrag 😉 Wir werden es nicht wirklich durch Protokolle bekommen, Wir werden dies tun, indem wir Ihren Datenverkehr 😉 prüfen Wir werden die vom DNS-Dienst generierten Anfragen prüfen, oder DHCP, um es in Grafana anzuzeigen!

Wenn wir die von unserem DNS- oder DHCP-Server empfangenen Anfragen wissen möchten, um sie in Grafana visualisieren zu können, um Abfragen zu stellen oder sie in rotierenden Dashboards anzuordnen… wo es uns hilft, das korrekte oder nicht funktionierende Funktionieren derselben Dienste zu kennen, sowie im Falle des DNS die Zielanfragen zu kennen, Wer führt sie aus?… Im Falle von DHCP sind die Petitionen… Selbstverständlich können auch andere Arten von Traffic analysiert werden, HTTP (Englisch), MySQL (Englisch), PostgreSQL… und kennen somit die Abfragen, die gestellt werden…

Wie montieren wir es?? Wir gehen davon aus, dass wir bereits einen funktionsfähigen ELK und ein Grafana haben, Wir werden uns auf Packetbeat verlassen, um den Datenverkehr einer bestimmten Maschine zu analysieren, dann senden wir es an Elasticsearch und mit einer Grafana-Datenquelle können wir die Abfragen durchführen, die wir benötigen.

Unter Windows, Wir müssen auf der Maschine installieren NPCAP zuvor, indem Sie nur "Npcap im WinPcap-API-kompatiblen Modus installieren" aktivieren. Wir fahren fort und beenden mit der Installation von Paketschlag.

Sobald wir Packetbeat heruntergeladen und entpackt haben, Wir richten es ein, wie gewöhnlich, Ihre 'packetbeat.yml'-Konfigurationsdatei.

...
setup.template.settings:
  index.number_of_shards: 1
setup.template.name: "Paketschlag"
setup.template.pattern: "Paketschlag-*"
setup.ilm.enabled: FALSCH
...
setup.kibana:
  Gastgeber: "https://DIRECCION_IP_KIBANA:5601"
  ssl.verification_mode: nichts
...
Ausgabe.elasticsearch:
  # Array von Hosts, mit denen eine Verbindung hergestellt werden soll.
  Wirte: ["https://DIRECCION_IP_ELASTIC:9200"]
  ssl.verification_mode: none Benutzername: "XXXXXXXX"
  Passwort: "XXXXXXXX*"
  Index: "Paketschlag-%{+yyyy. MM.dd}"
...

Und, En el mismo fichero de configuración necesitaremos indicar qué registros nos interesan auditar:

...
# =========================== Transaktionsprotokolle ============================ packetbeat.protocols:
- Art: icmp
  # Aktivieren der ICMPv4- und ICMPv6-Überwachung. Der Standardwert ist true.
  ermöglichte: FALSCH

- Art: AMQP
  # Konfigurieren Sie die Ports, an denen AMQP-Datenverkehr überwacht werden soll. Sie können deaktivieren
  # das AMQP-Protokoll, indem die Liste der Ports auskommentiert wird.
  Häfen: [5672]
  ermöglichte: FALSCH

- Art: Kassandra
  # Konfigurieren Sie die Ports, an denen Cassandra-Datenverkehr überwacht werden soll. Sie können deaktivieren
  # das Cassandra-Protokoll, indem die Liste der Ports auskommentiert wird.
  Häfen: [9042]
  ermöglichte: FALSCH

- Art: dhcpv4
  # Konfigurieren des DHCP für IPv4-Ports.
  Häfen: [67, 68]

- Art: dns
  # Konfigurieren Sie die Ports, an denen DNS-Datenverkehr überwacht werden soll. Sie können deaktivieren
  # the DNS protocol by commenting out the list of ports.
  Häfen: [53]

- Art: HTTP (Englisch)
  # Configure the ports where to listen for HTTP traffic. Sie können deaktivieren
  # the HTTP protocol by commenting out the list of ports.
  Häfen: [80, 8080, 8000, 5000, 8002]
  ermöglichte: FALSCH
...

Una vez configurado, instalamos el servicio:

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, Außerdem, 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: \GerätNPF_Loopback (Adapter für die Erfassung des Loopback-Datenverkehrs) (Nicht zugewiesene IP-Adresse)

Wir werden in der Lage sein, von Kibana aus zu überprüfen, ob wir bereits die Auditbeat-Ereignisse sammeln, Wir müssen den Index wie gewohnt erstellen.

Und dann, von Grafana aus erstellen wir eine Datenquelle für diesen Elasticsearch-Index und können mit der Erstellung beginnen. In der Lage zu sein, etwas Schöneres zu sein als meines. Eine Tafel, Auf einen Blick sehen Sie die DNS-Abfragen, Ursprung, Schicksal, Top-Kunden, Top-Reiseziele… und mehr oder weniger das Gleiche mit DHCP.

Ich bin mir sicher, dass Sie mein Dashboard im Handumdrehen verbessern werden, Wir können auch andere Arten von Paneelen einsetzen, Das sind die typischen Quesito, Grafik, Sankey…

Um DNS später nach Quell-IP filtern und durchsuchen zu können, Zielseite…

Eine andere Art, DHCP zu betrachten… und ja… Ich sehe, dass ich einen Raspberry Pi habe, der Probleme mit dem Wifi hat, Ich muss einen beschissenen Transformator mit niedriger Spannung haben…

Aber, nun ja, in einer Umgebung mit mehr Daten, oder realere Daten können auf attraktivere Weise visualisiert werden. Kommen, Ich werde nicht zu lange, Ich hoffe, es wird Sie inspirieren, wenn Sie Daten von Ihrem DNS-Server oder DHCP-Server sammeln müssen.

Eine Umarmung an tod@s!

Empfohlene Beiträge

Verfasser

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, Zögern Sie nicht, mich zu kontaktieren, Ich werde versuchen, dir zu helfen, wann immer ich kann, Teilen ist Leben ;) . Genießen Sie Dokumente!!!