Recherche de site Web

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.

  1. 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/
    
  2. 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.conf
    
  3. Le premier paramètre à prendre en compte est Output, et nous pouvons choisir entre stdout, mail et file. 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 = file
    

    Choisissez votre méthode de sortie préférée avant de passer aux autres paramètres.

  4. 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 = Logwatch
    
  5. Si vous avez choisi d’envoyer la sortie Logwatch à un fichier à l’étape 1 avec l’option Sortie=fichier, vous devrez définir la valeur Nom de fichier pour spécifier le chemin d’accès où Logwatch doit enregistrer sa sortie.

    
    Filename = /tmp/logwatch
    
  6. L’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ètres LogDir que 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.

NOTE
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.

Articles connexes: