
Collecte des LOG de notre serveur DNS et DHCP dans Elasticsearch et visualisation dans Grafana
Comme je manque d’originalité pour les titres courts… Puits, si vous disposez de votre propre serveur DNS ou serveur DHCP, Ceci est votre message 😉, nous n’allons pas vraiment l’obtenir par le biais des journaux, nous le ferons en auditant votre trafic 😉 Nous auditerons les requêtes générées par le service DNS, ou DHCP pour le visualiser dans Grafana!
Si nous voulons connaître les requêtes reçues par notre serveur DNS ou DHCP afin de pouvoir les visualiser dans Grafana, faire des requêtes ou les organiser dans des tableaux de bord rotatifs… où cela nous aide à connaître le bon ou le non-fonctionnement des mêmes services, ainsi que de connaître dans le cas du DNS les requêtes de destination, Qui les interprète… Dans le cas du DHCP, les pétitions… D’autres types de trafic peuvent être analysés, bien sûr, HTTP, MySQL, PostgreSQL… et ainsi connaître les requêtes qui sont faites…
Comment l’assemblons-nous ?? Nous supposons que nous avons déjà un ELK fonctionnel et un Grafana, nous allons nous appuyer sur Packetbeat pour analyser le trafic d’une machine donnée, puis nous l’enverrons à Elasticsearch et avec une Datasource Grafana, nous pourrons faire les requêtes dont nous avons besoin.
Sous Windows, Il faut installer sur la machine NPCAP auparavant, en cochant uniquement 'Installer Npcap en mode compatible avec l’API WinPcap'. Nous continuons et terminons avec l’installation de Paquet.
Une fois que nous avons téléchargé et décompressé packetbeat, Nous allons le configurer, comme d'habitude, votre fichier de configuration 'packetbeat.yml'.
... setup.template.settings: index.number_of_shards: 1 setup.template.name: "paquet" setup.template.pattern: "paquetbeat-*" setup.ilm.enabled: Faux ... setup.kibana: hôte: "https://DIRECCION_IP_KIBANA:5601" ssl.verification_mode: aucun ... output.elasticsearch: # Tableau d’hôtes auxquels se connecter. Hôtes: ["https://DIRECCION_IP_ELASTIC:9200"] ssl.verification_mode: Aucun Nom d’utilisateur: "XXXXXXXX" mot de passe: "XXXXXXXX*" index: "paquets-%{+aaaa. MM.jj}" ...
Et, En el mismo fichero de configuración necesitaremos indicar qué registros nos interesan auditar:
...
# =========================== Protocoles de transaction ============================ packetbeat.protocols:
- type: Icmp
# Activer la surveillance ICMPv4 et ICMPv6. La valeur par défaut est true.
Activé: Faux
- type: AMQP
# Configurer les ports où écouter le trafic AMQP. Vous pouvez désactiver
# le protocole AMQP en commentant la liste des ports.
Ports: [5672]
Activé: Faux
- type: Cassandre
# Configurer les ports où écouter le trafic Cassandra. Vous pouvez désactiver
# le protocole Cassandra en commentant la liste des ports.
Ports: [9042]
Activé: Faux
- type: DHCPV4
# Configurer le DHCP pour les ports IPv4.
Ports: [67, 68]
- type: Dns
# Configurer les ports où écouter le trafic DNS. Vous pouvez désactiver
# le protocole DNS en commentant la liste des ports.
Ports: [53]
- type: HTTP
# Configurer les ports où écouter le trafic HTTP. Vous pouvez désactiver
# the HTTP protocol by commenting out the list of ports.
Ports: [80, 8080, 8000, 5000, 8002]
Activé: Faux
...
Una vez configurado, Nous installons le 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, De plus,, 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)
Nous pourrons aller vérifier auprès de Kibana si nous collectons déjà les événements Auditbeat, Nous devrons créer l’index comme d’habitude.
Et puis, à partir de Grafana, nous allons créer une source de données contre cet index Elasticsearch et nous pouvons commencer à créer. Pouvoir être quelque chose de plus beau que le mien. Un panneau, en un coup d’œil, vous pouvez voir les requêtes DNS, origine, destin, Principaux clients, Principales destinations… et plus ou moins la même chose avec DHCP.
Je suis sûr que vous améliorerez mon tableau de bord en un rien de temps, Nous pouvons mettre d’autres types de panneaux, Ce sont les quesito typiques, Graphique, Sankey…
Pour pouvoir filtrer et rechercher ultérieurement des DNS par IP source, Site de destination…
Une autre façon d’envisager le DHCP… Et oui… Je vois que j’ai un Raspberry Pi qui a des problèmes avec le Wifi, Doit avoir un transformateur de merde avec une basse tension…
Mais, bon, en un entorno con más datos, ou des données plus réelles peuvent être visualisées de manière plus attrayante. Venir, Je ne suis pas trop long, J’espère qu’il vous inspirera si vous avez besoin de collecter des données à partir de votre serveur DNS ou de votre serveur DHCP.
Un câlin à tod@s!