Utilisation de Logwatch pour la surveillance de sécurité de base sous Linux
Les systèmes Linux écrivent beaucoup d’informations dans des fichiers journaux. En règle générale, chaque service système que vous installez dispose de son propre fichier journal ou ensemble de fichiers journaux. Cela s’ajoute à tous les journaux par défaut qui sont générés, tels que ceux de dmesg, du journal de démarrage, du journal du gestionnaire de paquets, etc. À l’intérieur de ces fichiers, il est courant de voir des milliers d’entrées sur une très courte période de temps.
Bien que toute cette journalisation des événements s’avère très utile pour recueillir des informations sur ce qui se passe exactement dans votre système (surtout si un problème survient), les fichiers journaux deviendront souvent de plus en plus volumineux et très difficiles à parcourir de manière efficace. Par exemple, il pourrait y avoir des avertissements pertinents cachés quelque part dans les fichiers journaux, mais bonne chance pour les trouver parmi les centaines d’autres entrées. Il s’agirait d’une tâche très manuelle et chronophage.
Logwatch soulage l’administrateur système de cette charge en surveillant les fichiers journaux pour vous. Il surveillera les fichiers journaux que vous spécifiez, puis vous informera par e-mail chaque fois qu’une entrée susceptible de nécessiter votre attention se produit. Une fois que nous avons configuré Logwatch à notre guise, il vérifiera les événements que nous devons surveiller, de sorte que nous n’avons plus besoin de le faire manuellement. Dans ce tutoriel, nous allons passer en revue les instructions étape par étape d’installation et de configuration de Logwatch sur un système Linux.
Dans ce tutoriel, vous allez apprendre :
- Comment installer Logwatch sur toutes les principales distributions Linux
- Comment configurer Logwatch
- Comment exécuter Logwatch manuellement avec la commande
logwatch - Comment programmer une surveillance régulière de Logwatch avec cron
Comment installer Logwatch
La première chose que nous devrons faire est d’installer Logwatch, car il n’est pas installé par défaut sous Linux. Heureusement, il est disponible pour l’installation via le dépôt de logiciels par défaut de n’importe quelle distribution Linux majeure.
Vous pouvez utiliser la commande appropriée ci-dessous pour installer Logwatch avec le gestionnaire de paquets de votre système.
Pour installer Logwatch sur Ubuntu, Debian et Linux Mint :
sudo apt update
sudo apt install logwatch
Pour installer Logwatch sur Fedora, CentOS, AlmaLinux, Rocky Linux et Red Hat :
sudo dnf install logwatch
Pour installer Logwatch sur Arch Linux et Manjaro :
sudo pacman -S logwatch
Vous pouvez être invité à configurer les paramètres de messagerie lors de l’installation initiale de Logwatch. Si c’est le cas, sélectionnez le type de serveur de messagerie que vous souhaitez utiliser, ainsi que le paramètre approprié, tel que l’adresse e-mail de destination, pour que Logwatch puisse l’utiliser :
Comment configurer Logwatch
Maintenant que Logwatch est installé sur notre système, passons en revue quelques éléments de configuration de base afin de pouvoir commencer à l’utiliser pour surveiller nos fichiers journaux.
Le fichier de configuration par défaut de Logwatch se trouve à l’adresse
/usr/share/logwatch/default.conf/logwatch.conf. Au lieu d’apporter des modifications directement à ce fichier, nous allons en créer une copie et appliquer nos modifications au nouveau fichier. Cela garantit que les futures mises à jour n’écraseront aucun de nos paramètres. Voici comment copier le fichier au bon emplacement :sudo cp /usr/share/logwatch/default.conf/logwatch.conf /etc/logwatch/conf/Ensuite, utilisez nano ou votre éditeur de texte préféré pour ouvrir le fichier afin que nous puissions commencer à y apporter des modifications :
sudo nano /etc/logwatch/conf/logwatch.confLe premier paramètre à prendre en compte est
Output, et nous pouvons choisir entrestdout,mailetfile. Cela permet de contrôler si la sortie de Logwatch est envoyée à l’envoi standard, à l’e-mail ou à un fichier, respectivement. La configuration serait appliquée comme suit :Output = stdout OR Output = mail OR Output = fileChoisissez votre méthode de sortie préférée avant de passer aux autres paramètres.
Les paramètres de configuration de la messagerie viennent ensuite. Vous n’aurez besoin de modifier ces paramètres que si vous avez configuré
Sortie=courrierà l’étape ci-dessus.MailTo = root MailFrom = LogwatchSi vous avez choisi d’envoyer la sortie Logwatch à un fichier à l’étape 1 avec l’option
Sortie=fichier, vous devrez définir la valeurNom de fichierpour spécifier le chemin d’accès où Logwatch doit enregistrer sa sortie.Filename = /tmp/logwatchL’autre paramètre que nous devons nous assurer de configurer est
LogDir. Ce paramètre indique à Logwatch l’emplacement de stockage des fichiers journaux que vous souhaitez surveiller. Nous pouvons utiliser autant de paramètresLogDirque nous le souhaitons, au cas où nous aurions plusieurs répertoires que nous avons besoin que Logwatch surveille pour nous.LogDir = /var/log LogDir = /some/other/log/path
Bien sûr, de nombreux autres paramètres sont également présents dans ce fichier de configuration, mais ceux mentionnés ci-dessus sont parmi les plus importants. N’hésitez pas à lire le fichier de configuration vous-même, à regarder les exemples fournis et à apporter les modifications nécessaires comme bon vous semble.
Exécution de Logwatch
Maintenant que Logwatch a été configuré, nous pouvons l’utiliser en exécutant la commande logwatch. Nous vous recommandons également d’inclure certaines options avec la commande, telles que --detail et --range, pour spécifier le niveau de détail que nous voulons voir dans la sortie et la plage de dates des journaux à analyser, respectivement.
sudo logwatch --detail Low --range today
Même en exécutant simplement logwatch sur notre système de test isolé, nous obtenons des résultats intéressants. La capture d’écran ci-dessous montre que trois nouveaux progiciels ont été récemment installés, et affiche également une liste des authentifications des utilisateurs, ainsi que des tentatives de connexion infructueuses.
Logwatch est une implémentation simple et idéale pour les serveurs et les infrastructures de taille moyenne qui n’ont pas besoin d’une solution de surveillance robuste, mais qui souhaitent tout de même un moyen d’informer le personnel des événements importants. Si vous avez besoin de quelque chose de plus avancé, vous pouvez consulter la pile ELK et des techniques de surveillance supplémentaires.
Si nous faisons défiler un peu plus bas, nous pouvons voir une liste de commandes qui ont été exécutées à l’aide de privilèges d’administrateur :
Bien sûr, sur un système de production avec plusieurs utilisateurs et un trafic constant, vous recevrez probablement beaucoup plus de messages chaque jour.
Si vous souhaitez exécuter logwatch de manière planifiée, vous pouvez configurer cron pour le faire :
sudo crontab -e
L’entrée cron suivante exécuterait logwatch tous les jours à minuit :
0 0 * * * logwatch --detail Low --range today
Ensuite, vérifiez le répertoire configuré où la sortie de Logwatch est stockée afin de voir quelles données ont été interceptées par Logwatch. Sinon, si vous avez configuré l’option d’e-mail, vous recevrez le rapport Logwatch dans votre boîte de réception chaque jour.
Réflexions finales
Dans ce tutoriel, nous avons vu comment utiliser Logwatch pour la surveillance de sécurité de base sur un système Linux. Cela impliquait d’installer le programme Logwatch, de le configurer selon nos besoins et de le pointer vers les fichiers journaux que nous voulons surveiller, et enfin l’utilisation manuelle de la commande logwatch. Nous avons également appris à configurer logwatch à l’intérieur de cron pour qu’il fonctionne selon un calendrier régulier. Logwatch fait gagner beaucoup de temps aux administrateurs et nous permet d’identifier facilement les problèmes de sécurité que nous devrions normalement découvrir manuellement.



