L’objet de cet article est de vous montrer, à l’aide du logiciel swatch – alias Simple Log Watcher – présent dans toutes les distributions Linux, comment réaliser une alerte par mail, à partir d’un message présent dans un des fichiers de logs de votre système et des logiciels qu’il exécute!
Installation de Swatch
apt install swatch
La commande swatch
Disséquons cette commande swatch très basique mais très fonctionnelle.
/usr/bin/swatch --daemon --config-file=/etc/swatch.conf --tail-file=/var/log/auth.log --pid-file=/var/run/swatch.pid
/usr/sbin/swatch est le chemin explicite complet du script swatch (commande).
Lors de la création de scripts, vous devez toujours utiliser des chemins explicites pour atténuer les messages gênants «commande introuvable» en raison de problèmes liés à $ PATH.
L'option –daemon indique à swatch de s'exécuter en tant que démon.
L'option –config-file = /etc/swatch.conf fait référence au fichier de configuration de nuance contenant vos directives et instructions d'alerte.
Swatch nécessite que vous créiez et utilisiez un fichier de configuration.
L'entrée –tail-file = /var/log/auth.log indique à swatch le fichier journal que vous souhaitez surveiller.
Vous pouvez regarder plus d’un fichier journal en l’ajoutant à la liste.
Par exemple:
–tail-file = /var/log/auth.log /var/log/messages
Vous pouvez spécifier un fichier PID (ID de processus) avec l'option –pid-file.
L'utilisation de cette option facilite la création d'un script «kill» ou d'arrêt pour swatch, comme vous pouvez le constater dans la section Script de démarrage.
Si vous décidez de modifier une option, vous pouvez la tester en ligne de commande avec ou sans l'option –daemon.
Pensez à redémarrer swatch chaque fois que vous modifiez un paramètre pour le forcer à relire le fichier de configuration.
Configuration
Le fichier de configuration par défaut est le fichier .swatchrc situé dans le répertoire de base de l’utilisateur.
Swatch peut utiliser n’importe quel nom de fichier comme configuration s’il est spécifié dans l’argument de la ligne de commande.
Cela signifie que vous pouvez créer une nuance au niveau du système qui surveille les journaux dans / var/log et des observateurs de journal de nuance individuels pour d’autres programmes qui ne déposent pas nécessairement leurs fichiers journaux dans /var/log.
Cela signifie également que vous pouvez personnaliser les observateurs de journal de nuance sur une base individuelle et que tout utilisateur peut exécuter swatch.
Examinons une configuration de nuance au niveau système et vous pourrez ensuite l’extrapoler à des observateurs de journal de nuance individuels.
Le répertoire /etc est l’emplacement logique d’un fichier de configuration au niveau du système.
Nous allons donc utiliser le fichier /etc/swatch.conf pour le fichier de configuration au niveau du système.
Le fichier /etc/swatch.conf contient toutes vos directives watchfor et ignore.
Il contient également vos adresses e-mail de notification.
Voir un swatch.conf simple ci-dessous.
watchfor /invalid|repeated|incomplete/
echo
write khess
mail addresses=khess@localhost, subject=Authentication Problems
L'entrée watchfor est une liste de mots-clés sur lesquels vous souhaitez alerter.
Ainsi, lorsque le système écrit une entrée contenant un ou plusieurs de vos mots-clés, swatch effectue les actions qui suivent la ligne watchfor.
La ligne echo indique à swatch de renvoyer l'alerte à l'écran de la console.
La ligne write indique à swatch d’écrire le message sur le terminal de l’utilisateur.
La dernière ligne de ce fichier de configuration indique à swatch d'envoyer par courrier les entrées capturées en infraction aux personnes répertoriées.
Source:
http://www.linux-mag.com/id/7807/
https://www.dsfc.net/infrastructure/securite/alertes-mail-messages-fichiers-logs/