4. Statistiques des connexions et des courriers

Le but de cette partie est d'exploiter les logs du système en vue d'effectuer des statistiques de l'utilisation du serveur de messagerie. Pour cela, les logs bruts sont envoyés périodiquement cryptés par courrier électronique à un administrateur qui dispose d'outils d'analyse sous Linux® présentés ci-après.

4.1. Sur le serveur : envoi des logs

4.1.1. Scripts et programmes

Le premier script utile permet l'envoi crypté des logs. Log2mail (disponible) est à copier dans le répertoire /usr/local/bin/ par exemple. Il est nécessaire de modifier les permissions d'accès à ce script car le mot de passe de cryptage y est écrit en clair. Vérifiez que GnuPG est correctement installé.
cp log2mail /usr/local/bin/
chmod 700 log2mail
rpm -q gnupg
Editer le fichier /usr/local/bin/log2mail afin de modifier les variables du destinataire et du mot de passe. Il est aussi nécessaire de modifier le paramètre -f de Matt par une adresse email réelle si les logs sont destinés à un personne externe au réseau local.

Un programme est indispensable à la bonne marche du script présenté ci-dessus : Matt (disponible ou ftp://ftp.riverdrums.com/pub/matt/) qui envoit en pièce attachée un fichier qu'on lui désigne.
cp matt /usr/local/bin/

4.1.2. Configuration de Logrotate

Logrotate est le logiciel qui effectue la rotation des logs du système. Le principe est le suivant : périodiquement (chaque jour, semaine, mois) logrotate efface chaque fichier de log et en garde auparavant une copie qu'il numérote. Pour éviter l'accumulation de ces fichiers numérotés seuls les plus récents sont conservés. Modifiez le fichier /etc/logrotate.d/syslog comme suit :
/var/log/messages {
        rotate 10
        monthly
        prerotatj
        /usr/local/bin/log2mail /var/log/messages log-messages
        endscript
        postrotate
        /usr/bin/killall -HUP syslogd
        endscript
}
/var/log/mail/info {
        rotate 10
        monthly
        prerotate
        /usr/local/bin/log2mail /var/log/mail/info postfix-info
        endscript
        postrotate
        /usr/bin/killall -HUP syslogd
        endscript
}

4.2. Sur un poste Linux : analyse des logs

Note

Cette partie est encore en développement.

Les messages reçus par courriel sont cryptés. Pour les décrypter, exécuter gpg --output log-messages-date --decrypt log-messages-date.gpg.

4.2.1. Analyse des connexions

Ppplag est un script Perl disponbile sur http://www.biscom.net/~cade/away/ppplag/ qui analyse /var/log/messages.

4.2.2. Analyse des échanges de courrier

Pflogsumm est un autre script Perl disponible sur http://jimsun.linxnet.com/postfix_contrib.htmlqui analyse /var/log/mail/info.