Comment activer la journalisation des requêtes DNS et analyser les fichiers journaux sur un serveur Windows

Comment activer et analyser la journalisation DNS sur un serveur Windows

Ce processus peut vite devenir fastidieux si vous cherchez à identifier les appareils qui interrogent encore votre serveur DNS ou si une activité suspecte parvient à passer entre les mailles du filet. Parfois, il suffit de pouvoir visualiser les requêtes DNS en temps réel, sans se noyer sous les captures Wireshark ni dépendre d’outils tiers. Activer la journalisation de débogage DNS et analyser ces journaux peut vous simplifier grandement la tâche, notamment lors de la mise hors service d’anciens serveurs ou de la recherche d’appareils non autorisés. Cette approche est en réalité assez simple, une fois la configuration initiale effectuée.

Comment activer la journalisation de débogage DNS

La plupart des utilisateurs oublient que la journalisation DNS n’est pas activée par défaut, ce qui est plutôt dommage si l’on souhaite suivre les requêtes. Son utilité réside dans l’enregistrement détaillé de toutes les transactions DNS : qui demande quoi et quand. Elle est précieuse pour le dépannage des problèmes DNS, la recherche d’activités DNS non autorisées ou la préparation de la mise hors service d’un serveur. Vous obtiendrez des journaux textuels clairs et faciles à consulter et à analyser ultérieurement. Curieusement, sur certains serveurs, l’activation de la journalisation peut légèrement augmenter la charge du processeur ; soyez donc vigilant si votre serveur est déjà fortement sollicité.

  • Ouvrez le Gestionnaire DNS en exécutant dnsmgmt.mscou via Gestionnaire de serveur > Outils > DNS.
  • Faites un clic droit sur votre serveur DNS, sélectionnez Propriétés.
  • Accédez à l’ onglet Journalisation de débogage.
  • Consultez les paquets de journalisation pour le débogage. Il s’agit du bouton qui active la journalisation.
  • Configurez vos préférences : choisissez le protocole DNS (UDP/TCP), les types de paquets (comme les requêtes simples, les mises à jour, les notifications).
  • Si vous souhaitez limiter les journaux à certains clients, utilisez le filtre de paquets par adresse IP.
  • Définissez l’emplacement du fichier journal dans le champ « Chemin et nom du fichier journal ». En général, il s’agit d’un chemin comme celui-ci : [ C:\DNSLogs\dns_debug.logchemin_du_fichier_journal].Notez que les fichiers journaux peuvent devenir volumineux (Windows impose une limite de 500 Mo par défaut), prévoyez donc suffisamment d’espace disque.

Vérification et gestion des fichiers journaux DNS

Une fois activée, cette fonctionnalité vous permet de générer des requêtes DNS depuis n’importe quelle machine, par exemple en utilisant `ls` nslookupou `ls` de PowerShellResolve-DnsName. Supposons que l’adresse IP de votre serveur DNS soit 192.168.13.10. L’exécution de `ls` nslookup woshub.com 192.168.13.10ou ` Resolve-DnsName -Name woshub.com -Server 192.168.13.10ls` devrait renvoyer des journaux affichant la requête dans le fichier journal.

Pour vérifier que l’événement est bien enregistré, il suffit de consulter le fichier journal. Par exemple, avec PowerShell :

get-content "C:\DNSLogs\dns_debug.log" | Out-String | Select-String "192.168.13.130"

Cela devrait permettre d’identifier l’adresse IP du client et d’afficher les détails de la requête, tels que l’heure, le type de requête, etc. Sur certaines configurations, cette opération n’est pas instantanée ; elle dépend de la taille des journaux, de la charge du serveur, etc. Les entrées du journal ressemblent généralement à ceci :

11/17/2021 6:00:00 AM 0D0C PACKET 00000272D98DD0B0 UDP Rcv 192.168.13.130 0002 Q [0001 D NOERROR] A (8)woshub(2)com(0)

Ça a l’air assez technique, mais ça contient exactement les informations dont vous avez besoin : qui a fait la demande, ce qu’elle a demandé, et l’état de la réponse. Si vous trouvez ça trop lourd à lire manuellement, il existe des scripts pour analyser ou convertir ces journaux et les rendre plus lisibles.

Transformation et analyse des journaux DNS

C’est là que ça se complique. Ces journaux sont un véritable cauchemar à lire si vous cherchez des schémas ou des éléments malveillants. Heureusement, il existe des scripts comme Get-DNSDebugLog.ps1. Ce script transforme les journaux bruts en un tableau structuré ou en un fichier CSV pour faciliter l’analyse. Copiez le script sur votre machine, exécutez-le Set-ExecutionPolicy -Scope Process Unrestrictedpour autoriser les scripts, puis importez-le .C:\ps\Get-DNSDebugLog.ps1et redirigez vos journaux vers celui-ci comme ceci :

Get-DNSDebugLog -DNSLog C:\DNSLogs\dns_debug.log | format-table

Vous pouvez également exporter les résultats au format CSV et les analyser dans Excel, ce qui est beaucoup plus convivial. Utilisez simplement `csv` Export-Csvau lieu de `csv` format-table. Vous obtiendrez ainsi un aperçu rapide des personnes qui interrogent votre DNS, de la fréquence de ces requêtes et des noms d’hôtes demandés. C’est étonnamment utile pour repérer les activités suspectes ou les anciens appareils qui se connectent encore à leur serveur DNS.

Une autre option assez performante consiste à utiliser Log Parser 2.2. Ce logiciel analyse les journaux DNS et fournit des statistiques détaillées, comme les clients qui effectuent le plus de requêtes ou les domaines les plus populaires. Sur une configuration, il a parfaitement fonctionné, même s’il est un peu lourd à prendre en main ; il faudra donc probablement procéder par essais et erreurs.

Pour les environnements de grande envergure, envisagez de centraliser les journaux DNS à l’aide d’outils tels que Splunk, ELK ou Azure Log Analytics. Cela simplifie la surveillance continue et assure une meilleure organisation des journaux DNS, notamment en cas de gestion de plusieurs serveurs DNS.

Conclure

Activer la journalisation de débogage DNS et analyser les journaux n’est pas la tâche technique la plus passionnante, mais c’est souvent le moyen le plus rapide de comprendre ce qui se passe en coulisses. Que vous mettiez hors service une infrastructure obsolète, recherchiez des activités suspectes ou fassiez simplement du ménage, cette méthode offre une vision très claire.

Résumé

  • Activez la journalisation de débogage via le Gestionnaire DNS avec des options détaillées.
  • Utilisez PowerShell ou le Bloc-notes pour consulter les journaux et rechercher les requêtes.
  • Transformez les journaux en formats gérables avec des scripts comme Get-DNSDebugLog.ps1.
  • Vous pouvez également analyser les journaux avec Log Parser 2.2 pour une analyse avancée.
  • Pour les configurations plus importantes, envisagez des outils de gestion centralisée des journaux.

J’espère que cette méthode vous évitera bien des soucis la prochaine fois que vous chercherez quel appareil communique encore avec votre serveur DNS. D’après mon expérience, elle est plutôt fiable une fois correctement configurée, et elle permet d’obtenir des informations pertinentes sans avoir à trop manipuler Wireshark.