Introduction
Dans ce laboratoire, vous apprendrez les bases de l'analyse des journaux dans un environnement Kali Linux en utilisant le puissant outil journalctl et d'autres utilitaires en ligne de commande. Conçue pour les débutants, cette expérience pratique se concentre sur les compétences fondamentales pour l'administration système et le débogage. Vous explorerez comment accéder, visualiser et analyser les journaux système au sein d'un conteneur Kali Linux sur une machine virtuelle (VM) LabEx.
Grâce à des exercices pratiques étape par étape, vous visualiserez les journaux système stockés dans des répertoires tels que /var/log, filtrerez les journaux par services spécifiques, rechercherez les erreurs et exporterez les journaux pour une analyse plus approfondie. Toutes les opérations seront effectuées dans le shell du conteneur Kali Linux, dans lequel vous entrerez automatiquement lors de l'ouverture du terminal. Ce laboratoire fournit un environnement contrôlé pour développer vos compétences en matière de surveillance et de dépannage des événements système.
Visualisation des journaux système dans Kali Linux
Dans cette première étape, vous apprendrez à visualiser les journaux système au sein d'un conteneur Kali Linux sur la VM LabEx. Les journaux système sont essentiels pour la surveillance et le dépannage des problèmes sur un système Linux, car ils enregistrent les événements, les erreurs et les activités. En tant que débutant, comprendre comment accéder à ces journaux est une compétence fondamentale pour l'administration système.
Lorsque vous ouvrez le terminal dans l'environnement de la VM LabEx, vous êtes automatiquement connecté au shell du conteneur Kali Linux. Il n'est pas nécessaire de démarrer manuellement le conteneur ou d'entrer dans le shell ; l'environnement est déjà configuré pour vous. Toutes les opérations de ce laboratoire seront effectuées dans le terminal de ce conteneur.
Les systèmes Linux stockent les journaux dans des répertoires tels que /var/log. Les fichiers journaux courants incluent /var/log/syslog pour les messages généraux du système et /var/log/auth.log pour les événements liés à l'authentification. Commençons par visualiser le contenu de ces fichiers en utilisant des commandes simples.
Exécutez la commande suivante dans le terminal pour afficher les 10 dernières lignes du fichier /var/log/syslog :
tail -n 10 /var/log/syslog
Cette commande utilise tail pour afficher les entrées les plus récentes dans le fichier journal. La sortie ressemblera à ceci, bien que le contenu exact dépende de l'activité de votre système :
Oct 15 10:22:34 kali-container kernel: [ 1234.567890] some kernel message
Oct 15 10:23:01 kali-container cron[1234]: (CRON) INFO (pidfile fd = 3)
...
Chaque ligne comprend généralement un horodatage, le nom d'hôte, le nom du service ou du processus, et les détails de l'événement. Cette sortie confirme que vous avez accédé avec succès aux journaux système.
Pour surveiller en continu les nouvelles entrées de journal en temps réel, ce qui est utile pour le débogage, exécutez cette commande :
tail -f /var/log/syslog
Ceci affichera les nouvelles entrées au fur et à mesure qu'elles sont ajoutées. Pour arrêter la surveillance, appuyez sur Ctrl + C pour revenir à l'invite du terminal.
Ensuite, vérifions le fichier journal d'authentification /var/log/auth.log, qui enregistre les tentatives de connexion et autres événements de sécurité. Exécutez cette commande :
tail -n 5 /var/log/auth.log
La sortie pourrait ressembler à ceci, montrant les activités liées à l'authentification :
Oct 15 10:20:01 kali-container sudo: root : TTY=pts/0 ; PWD=/root ; USER=root ; COMMAND=/bin/bash
...
Cette étape vous présente la visualisation des journaux, une compétence de base mais essentielle. Dans les étapes suivantes, vous vous appuierez sur cela en filtrant et en analysant ces journaux pour des informations spécifiques.
Installation et utilisation de journalctl pour la visualisation des journaux
Maintenant que vous avez vu comment visualiser les journaux en utilisant des commandes de base comme tail, passons à un outil plus puissant appelé journalctl. Cet outil est utilisé pour interroger et afficher les journaux gérés par systemd, le gestionnaire de système et de services dans les distributions Linux modernes, y compris Kali Linux. En tant que débutant, l'apprentissage de journalctl est important car il fournit un moyen structuré d'accéder aux journaux système détaillés.
Puisque vous êtes déjà dans le shell du conteneur Kali Linux (automatiquement entré lors de l'ouverture du terminal), vous n'avez pas besoin de naviguer ou de démarrer quoi que ce soit manuellement. Cependant, journalctl pourrait ne pas être préinstallé ou pleinement fonctionnel dans une configuration de conteneur minimale, nous allons donc nous assurer que les outils nécessaires sont disponibles en mettant à jour la liste des paquets et en installant les composants requis.
Exécutez les commandes suivantes pour mettre à jour la liste des paquets et installer les composants systemd si nécessaire :
apt update
apt install -y systemd
Ces commandes rafraîchissent le référentiel de paquets et installent systemd, qui inclut journalctl. Attendez la fin de l'installation ; cela peut prendre quelques instants.
Une fois installé, vous pouvez utiliser journalctl pour afficher les journaux système. Exécutez cette commande pour afficher les entrées de journal les plus récentes :
journalctl -n 10
L'option -n 10 limite la sortie aux 10 dernières lignes. La sortie ressemblera à ceci, bien qu'elle dépende de l'activité de votre système :
Oct 15 10:25:01 kali-container systemd[1]: Starting system activity...
Oct 15 10:25:02 kali-container systemd[1]: Started system activity...
...
Cette sortie affiche les entrées de journal avec des horodatages, des noms de services et des messages. Si vous voyez quelque chose comme ça, cela signifie que journalctl fonctionne correctement. Si aucune sortie n'apparaît ou si vous rencontrez une erreur, cela peut être dû à des données de journal limitées dans l'environnement du conteneur, ce qui est normal pour cette configuration de laboratoire.
Pour afficher les journaux en temps réel, comme tail -f, exécutez cette commande :
journalctl -f
Ceci affichera en continu les nouvelles entrées de journal. Appuyez sur Ctrl + C pour arrêter la surveillance et revenir à l'invite du terminal.
Cette étape vous aide à comprendre comment utiliser journalctl pour afficher les journaux, ce qui est plus avancé que la simple visualisation de fichiers. Dans l'étape suivante, vous apprendrez à filtrer ces journaux pour des services spécifiques.
Filtrer les journaux par service avec journalctl
En vous appuyant sur votre capacité à afficher les journaux avec journalctl, cette étape se concentre sur le filtrage des journaux pour afficher les entrées relatives à un service spécifique. En tant que débutant, le filtrage est une compétence clé car les journaux système contiennent souvent un mélange de messages provenant de divers processus, et l'isolement des informations pertinentes aide à résoudre les problèmes spécifiques.
Vous travaillez toujours dans le shell du conteneur Kali Linux, auquel vous êtes automatiquement entré lors de l'ouverture du terminal. Aucune navigation manuelle ni démarrage de conteneur n'est nécessaire. Nous utiliserons journalctl pour filtrer les journaux d'un service particulier, tel que cron, qui gère les tâches planifiées dans Linux. Cela vous permet de vous concentrer sur les journaux liés à un seul composant sans être submergé par des données non pertinentes.
Pour filtrer les journaux du service cron, exécutez la commande suivante :
journalctl -u cron
L'option -u spécifie l'unité (service) à filtrer, dans ce cas, cron. La sortie affichera les journaux spécifiquement liés au service cron, ressemblant à ceci, selon l'activité du système :
Oct 15 10:30:01 kali-container cron[1234]: (CRON) INFO (pidfile fd = 3)
Oct 15 10:30:02 kali-container cron[1235]: (CRON) STARTUP (fork ok)
...
Cette sortie affiche uniquement les entrées liées à cron, y compris les horodatages et les détails des événements. Si aucune sortie n'apparaît, cela peut signifier que le service cron n'a pas généré de journaux récents dans ce conteneur, ce qui est acceptable à des fins d'apprentissage.
Si les journaux cron ne sont pas disponibles ou si vous souhaitez explorer un autre service, vous pouvez essayer de filtrer pour sshd (s'il est installé), qui gère les connexions SSH. Tout d'abord, assurez-vous que openssh-server est installé en exécutant :
apt install -y openssh-server
Attendez la fin de l'installation. Ensuite, filtrez les journaux pour sshd avec cette commande :
journalctl -u ssh
La sortie pourrait afficher les événements liés à SSH si le service est actif. Si aucune sortie n'apparaît, ce n'est pas grave pour ce laboratoire, car l'accent est mis sur l'apprentissage du processus de filtrage.
Cette étape vous apprend à affiner les données de journal vers des services spécifiques en utilisant journalctl. Dans l'étape suivante, vous apprendrez à rechercher des erreurs dans ces journaux pour identifier les problèmes potentiels.
Recherche d'erreurs dans les journaux avec journalctl
Après avoir appris à filtrer les journaux par service, cette étape vous guidera à travers la recherche d'erreurs dans les journaux système en utilisant journalctl. En tant que débutant, l'identification des erreurs dans les journaux est cruciale pour le dépannage, car les journaux contiennent souvent des messages indiquant des problèmes avec les services ou les applications. Cette compétence vous aide à identifier rapidement les problèmes qui nécessitent une attention particulière.
Vous opérez toujours dans le shell du conteneur Kali Linux, auquel vous accédez automatiquement lorsque vous ouvrez le terminal. Aucune configuration ou navigation supplémentaire n'est requise. Nous utiliserons journalctl pour rechercher les messages d'erreur en filtrant les journaux en fonction des niveaux de priorité, où les erreurs sont généralement enregistrées à une gravité spécifique.
Dans journalctl, les entrées de journal sont classées par niveaux de priorité, avec 3 représentant les erreurs (problèmes critiques) et 4 représentant les avertissements. Pour rechercher les messages d'erreur dans tous les journaux, exécutez cette commande :
journalctl -p 3
L'option -p 3 filtre les journaux pour n'afficher que les entrées au niveau de priorité 3 (erreurs). La sortie pourrait ressembler à ceci, selon l'activité de votre système :
Oct 15 10:35:10 kali-container some-service[5678]: error: failed to initialize module
...
Cette sortie affiche les messages d'erreur avec les horodatages et les détails. Si aucune sortie n'apparaît, cela signifie qu'il n'y a pas d'erreurs récentes à ce niveau de priorité dans les journaux, ce qui est courant dans un environnement de conteneur contrôlé.
Pour inclure les avertissements avec les erreurs, vous pouvez rechercher les niveaux de priorité 3 et 4 en exécutant :
journalctl -p 3..4
Cette commande affiche à la fois les erreurs et les avertissements. La sortie pourrait inclure des lignes supplémentaires comme :
Oct 15 10:36:15 kali-container another-service[7890]: warning: connection timeout
...
Si aucune sortie n'apparaît, c'est acceptable pour ce laboratoire, car l'objectif est d'apprendre le processus de recherche. Cette étape vous donne la capacité d'identifier les problèmes critiques dans les journaux en utilisant journalctl. Dans l'étape suivante, vous apprendrez à exporter ces journaux pour une analyse plus approfondie.
Exporter les journaux pour analyse avec journalctl
Dans cette étape, vous apprendrez à exporter les journaux système pour une analyse plus approfondie en utilisant journalctl. En vous appuyant sur les étapes précédentes où vous avez visualisé, filtré et recherché des journaux, l'exportation vous permet d'enregistrer des données de journal spécifiques dans un fichier. Ceci est utile pour un examen détaillé ou pour le partage avec d'autres personnes à des fins de dépannage. En tant que débutant, cette compétence vous aide à documenter les résultats sans accéder à plusieurs reprises aux journaux d'origine.
Vous travaillez toujours dans le shell du conteneur Kali Linux, auquel vous êtes automatiquement entré lors de l'ouverture du terminal. Aucun démarrage ou navigation manuelle du conteneur n'est nécessaire. Nous utiliserons journalctl pour extraire les journaux et rediriger la sortie vers des fichiers dans le répertoire /root pour un accès facile.
Exportons tous les journaux récents vers un fichier nommé system_logs.txt dans le répertoire /root. Exécutez cette commande :
journalctl -n 50 > /root/system_logs.txt
L'option -n 50 limite la sortie aux 50 dernières entrées de journal, et le symbole > redirige la sortie vers le fichier spécifié. Vous ne verrez pas la sortie dans le terminal car elle est enregistrée dans le fichier. Pour confirmer que le fichier a été créé et contient des données, exécutez :
cat /root/system_logs.txt
La sortie affichera les entrées de journal enregistrées, similaires à ce que vous avez vu avec journalctl -n 50, y compris les horodatages et les messages.
Ensuite, exportons les journaux filtrés par un service spécifique, tel que cron, vers un fichier nommé cron_logs.txt. Exécutez cette commande :
journalctl -u cron > /root/cron_logs.txt
Cela enregistre uniquement les journaux liés à cron dans /root/cron_logs.txt. Vérifiez le contenu en exécutant :
cat /root/cron_logs.txt
La sortie affichera les journaux du service cron s'ils sont disponibles, confirmant que l'exportation a réussi.
Enfin, exportons les journaux d'erreurs vers un fichier nommé error_logs.txt. Exécutez cette commande :
journalctl -p 3 > /root/error_logs.txt
Cela enregistre les messages d'erreur dans le fichier spécifié. Vérifiez le contenu avec :
cat /root/error_logs.txt
Cette sortie affichera les journaux d'erreurs s'il en existe. En terminant cette étape, vous avez appris à enregistrer les données de journal pour une consultation ultérieure, une compétence pratique pour l'administration système et le débogage.
Résumé
Dans ce laboratoire, vous avez appris les bases de l'analyse des journaux dans Kali Linux en utilisant l'outil journalctl et les utilitaires de ligne de commande de base. Vous avez commencé par visualiser les journaux système dans le répertoire /var/log avec des commandes telles que tail, puis vous avez progressé en utilisant journalctl pour un accès aux journaux plus structuré. Grâce à des étapes pratiques, vous avez filtré les journaux par service, recherché des erreurs et exporté les journaux pour une analyse plus approfondie au sein d'un conteneur Kali Linux sur la machine virtuelle LabEx. Ces compétences fondamentales vous préparent à une administration système et un débogage efficaces dans les environnements Linux.


