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.device’ ponerle 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.
Und dann, desde Grafana crearemos un Data Source contra este índice de Elasticsearch y podremos comenzar a crear. A poder ser algo más bonito que lo mío. Un panel, de un vistazo se ven las consultas DNS, origen, destino, top de clientes, top de destinos… y más o menos lo mismo con el DHCP.
Estoy seguro que mejoráis mi dashboard en menos de lo que canta un gallo, podemos poner otro tipo de paneles, estos son los típicos de quesito, Grafik, sankey…
Para poder luego hacer filtros y búsquedas DNS por IP de origen, sitio de destino…
Otra manera de ver el DHCP… y sí… veo que tengo una Raspberry Pi que tiene problemas con el Wifi, debe tener un transformador cutre con bajo voltaje…
Aber, nun ja, en un entorno con más datos, o datos más reales podéis visualizarlo de una manera más atractiva. Kommen, no me alargo, espero que os sirva de inspiración si necesitáis recoger los datos de vuestro servidor DNS o servidor DHCP.
Eine Umarmung an tod@s!