Sécuriser Debian 9 avec Logwatch

Généralités

Logwatch est un utilitaire vous permettant d’avoir des rapports réguliers sous forme de fichier ou d’email à propos de votre serveur en analysant les logs de ce dernier. Ces rapports comprennent les warnings, erreurs, tentatives de connexion, etc…

Installation

Il suffit d’installer le paquet.

apt install logwatch

Par défaut Logwatch installe Postfix (serveur de mail) si vous n’avez pas de service SMTP installé.

Créer le dossier /var/cache/logwatch pour le bon fonctionnement de Logwatch.

mkdir /var/cache/logwatch

Les dossiers et fichiers de configuration

Plusieurs répertoires sont utilisés pour la configuration.

/usr/share/logwatch/default.conf/ : pour la configuration générique
/usr/share/logwatch/dist.conf/ : pour la configuration spécifique 
/etc/logwatch/ : pour la machine en elle-même, c’est la que vous ferez votre propre configuration

Sans entrez dans les détails, vous trouverez plusieurs niveaux de configuration.

Configuration de l’application : logwatch.conf
Emplacement des fichiers de log : logfiles/*.conf
Paramètres spécifiques à un service à surveiller : services/*.conf

Configuration

La customisation de Logwatch se fait dans le fichier /usr/share/logwatch/default.conf/logwatch.conf mais il est conseillé de le copier. 
Donc copiez le fichier /usr/share/logwatch/default.conf/logwatch.conf dans /etc/logwatch/conf/ pour faire vos modifications.

cp /usr/share/logwatch/default.conf/logwatch.conf /etc/logwatch/conf/logwatch.conf

Pour configurer Logwatch il faut éditer le fichier /etc/logwatch/conf/logwatch.conf.

nano /etc/logwatch/conf/logwatch.conf

Pour enregistrer les rapports dans un fichier, les rapports seront enregistrés dans /tmp/logwatch.

Output = file
Filename = /tmp/logwatch

Ou pour envoyer les rapports par emails et l’adresse de destination des mails.

Output = mail
MailTo = root

Le formatage des rapports (format texte ou html).

Format = text

Le niveau de détails des rapports (Low, Med, High ou un nombre de 0=Low à 10=High).

Detail = Med

Configuration spécifique à un service

Vous pourriez avoir besoin d’une configuration spécifique à un service et un fichier de log particulier.

Par exemple pour spécifier un niveau de log différent pour le service HTTP.

Copiez des fichiers.

cp /usr/share/logwatch/default.conf/services/http.conf /etc/logwatch/conf/services/
cp /usr/share/logwatch/default.conf/logfiles/http.conf /etc/logwatch/conf/logfiles/

Puis modifier le fichier /etc/logwatch/conf/services/http.conf.

LogDir = /var/log/apache2/
Detail = High

Et le fichier /etc/logwatch/conf/logfiles/http.conf.

LogFile = /var/log/apache2/*access.log

Utilisation

Pour afficher le rapport dans la console.

logwatch

Pour envoyer le rapport par mail.

logwatch --mailto adresse@domaine.tld --output mail

Pour envoyer le rapport par mail au format html.

logwatch --mailto adresse@domaine.tld --output mail --format html

Pour enregistrer le rapport dans un fichier au format texte.

logwatch --filename /tmp/logwatch --output file --format text