DNS-collector – Pour comprendre enfin ce qui se passe sur votre réseau – Korben

Le DNS, ou système de noms de domaine, constitue la tuyauterie invisible de l’Internet que tout le monde utilise sans vraiment y prêter attention. C’est lui qui traduit les noms de domaine comme korben.info en adresses IP compréhensibles par les machines. Pourtant, lorsqu’il y a un problème ou une utilisation malveillante, il devient rapidement évident que cette infrastructure reste en grande partie méconnue et difficile à scruter, surtout dans des situations où il faut analyser des logs complexes ou volumineux.

Récemment, un lecteur fidèle du blog, Denis, a partagé avec moi son projet sur lequel il travaille depuis cinq ans : DNS-collector. Développé en Go, cet outil agit comme un pont entre les serveurs DNS et une plateforme d’analyse, en capturant, nettoyant, enrichissant puis dirigeant le trafic DNS vers une destination adaptée. Son objectif est de simplifier la tâche des administrateurs système, qui doivent souvent se coltiner des fichier PCAP de plusieurs gigas ou des flux DNS difficilement exploitables.

Ce qui distingue DNS-collector, c’est sa flexibilité. Il supporte diverses sources d’entrée telles que le DNStap via socket Unix ou TCP (protocoles standard pour BIND, Unbound ou PowerDNS), le sniffing réseau avec AF_PACKET, ou même XDP pour des performances extrêmes, à condition que le kernel Linux soit à jour (version 5.x minimum) avec des drivers compatibles. Par défaut, il écoute sur le port UDP/6000, mais il peut s’adapter à divers environnements selon les besoins.

Cet outil modulaire, léger et capable d’ingérer des millions de requêtes par seconde, offre une vision claire du trafic DNS, ce qui en fait un précieux allié pour les professionnels de la sécurité et de l’administration réseau.

Ce qui rend DNS-collector encore plus puissant, c’est sa capacité à traiter les données grâce à ses “Transformers” intégrés. Ces modules automatisent la normalisation des noms, ajoutent la géolocalisation avec MaxMind ou IP2Location, et détectent même des activités suspectes telles que le tunneling DNS ou l’utilisation de domaines générés algébriquement (DGA), souvent indicateurs d’infections. Cependant, pour la géolocalisation, il faut préalablement télécharger les bases de données nécessaires, comme les fichiers .mmdb, ce qui peut légèrement compliquer la mise en place initiale.

Pour assurer la confidentialité des utilisateurs, DNS-collector permet également d’anonymiser les adresses IP via des techniques telles que le hachage SHA1 ou le masquage, respectant ainsi le RGPD tout en conservant des statistiques utiles, comme le top des ASN consultés. Les données traitées peuvent ensuite être exportées en formats JSON ou Protobuf, facilement intégrables dans des outils de stockage ou d’analyse tels que ClickHouse, InfluxDB, Prometheus, ElasticSearch, Kafka, ou encore envoyées via des webhooks pour des notifications en temps réel.

La mise en œuvre de DNS-collector est simplissime : disponible en version binaire ou via Docker, il suffit de lancer la commande “./dnscollector -config config.yml” après avoir configuré vos sources. L’outil fonctionne de manière efficace, avec une consommation mémoire raisonnable, contrairement à certaines solutions Java très gourmandes. Sa modularité et sa légèreté en font une solution de choix pour les administrateurs désireux d’avoir une meilleure visibilité sur le trafic DNS qui transite par leurs réseaux.

Partagez cet article
article précédent

Mistikee – Le gestionnaire de mots de passe à déni plausible – Korben

article suivant

AstroClick – Le système solaire en voxel dans votre navigateur – Korben

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Lire plus d'articles