Logcheck

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Logcheck and the translation is 42% complete.
Outdated translations are marked like this.

Ce guide vous explique comment analyser les journaux système avec logcheck.

Démarrer avec logcheck

Arrière-plan

app-admin/logcheck est une mise à jour de app-admin/logsentry, c'est un outil qui permet d'analyser les journaux système. En prime, logcheck est fourni avec une base de données interne de "messages de journaux sans intérêt" dans le but de filtrer le bruit. L'idée générale de l'outil est que tous les messages sont dignes d'intérêt, sauf ceux qui sont explicitement marqués comme étant du bruit. logcheck vous adresse périodiquement un courriel avec un résumé des messages intéressants.

Installer logcheck

Important
Il est vivement recommandé de retirer logsentry s'il est installé sur votre système. De plus, vous devriez retirer /etc/logcheck pour éviter des problèmes d'autorisation d'accès et de collision de fichiers.
root #emerge -c logsentry
root #rm -rf /etc/logcheck

Ensuite, vous pouvez maintenant procéder à l'installation de logcheck.

root #emerge --ask app-admin/logcheck

Configuration de base

app-admin/logcheck crée un utilisateur séparé "logcheck" pour éviter d'être exécuté en tant que root. En réalité, il refuserait de tourner en tant que root. Pour l'autoriser à analyser les journaux, vous devez vous assurer qu'ils sont lisibles par logcheck. Voici un exemple pour app-admin/syslog-ng :

FILE /etc/syslog-ng/syslog-ng.conf/etc/syslog-ng/syslog-ng.conf snippet
options {
        owner(root);
  
        ## (Make log files group-readable by logcheck)
        group(logcheck);
        perm(0640);
};

Maintenant rechargez la configuration et assurez-vous que les changements fonctionnent comme vous l'espérez.

root #/etc/init.d/syslog-ng reload
root #ls -l /var/log/messages
-rw-r----- 1 root logcheck 1694438 Feb 12 12:18 /var/log/messages

Vous devriez maintenant ajuster quelques réglages de base de logcheck dans /etc/logcheck/logcheck.conf.

FILE /etc/logcheck/logcheck.confConfiguration de base de /etc/logcheck/logcheck.conf
# Contrôle le niveau de filtrage :
# Peut être défini à  "workstation", "server" ou "paranoid" pour différents
# niveaux de filtrage . Prend la valeur  ''server'' par défaut.
## (Le niveau ''workstation'' inclut ''server'' et  ''server'' inclut ''paranoid''.
Le niveau  ''paranoid'' ne filtre pratiquement aucun message.)
REPORTLEVEL="server"
  
# Contrôle à qui sont adressés les mails:
# *NOTE* le script ne définit pas de valeur par défaut pour cette variable !
# Devrait être définie comme un site extérieur,  "emailaddress@some.domain.tld"
## (Assurez-vous que vous pouvez recevoir les  e-mails de logcheck. Le test est vivement recommandé)
SENDMAILTO="root"
  
# Contrôle si  ''syslog-summary'' est exécuté pour chacune des sections.
# En alternative, définissez-le  à "1" pour activer un résumé supplémentaire.
# HINT: ''syslog-summary'' doit être installé.
## (Si vous obtenez beaucoup de messages identiques, vous pouvez installer  ''app-admin/syslog-summary'' et activer cette option.)
SYSLOGSUMMARY=0

Vous devez aussi dire à logcheck quels journaux analyser ( /etc/logcheck/logcheck.logfiles ).

FILE /etc/logcheck/logcheck.logfilesConfiguration de base de /etc/logcheck/logcheck.logfiles
## (Ceci est un exemple pour syslog-ng)
/var/log/messages

Enable periodical log check

Pour terminer, activez la tâche programmée pour exécuter logcheck.

Cron users

If logcheck is emerged with the cron USE flag enabled, it can read /etc/cron.hourly/logcheck.cron

FILE /etc/cron.hourly/logcheck.cronBasic /etc/cron.hourly/logcheck.cron
#!/bin/sh
#
# To enable sync via cron, execute "sudo -u logcheck touch /etc/logcheck/cron-logcheck-enabled"
if [[ ! -f /etc/logcheck/cron-logcheck-enabled ]]; then
    exit
fi
if [ ! -d /var/lock/logcheck ]; then
    mkdir -p /var/lock/logcheck
    chown logcheck:logcheck /var/lock/logcheck
fi
sudo -u logcheck nice -n10 /usr/sbin/logcheck

To enable an hourly cron job, run:

root #sudo -u logcheck touch /etc/logcheck/cron-logcheck-enabled
Remarque
Pour plus d'informations sur cron lisez le Cron Guide.

Systemd users

If logcheck is emerged with systemd USE flag enabled, a logcheck.timer can be activated running:

root #systemctl enable --now logcheck.timer

Félicitations ! Vous recevrez désormais les messages des journaux importants par courriel. Un message ressemble à ceci :

CODE Exemple de message de logcheck
System Events
 =-=-=-=-=-=-=
Feb 10 17:13:53 localhost kernel: [30233.238342] conftest[25838]: segfault at 40 ip 40061403 sp bfc443c4 error 4
in libc-2.10.1.so[4003e000+142000]
Feb 11 12:31:21 localhost postfix/pickup[18704]: fatal: could not find any active network interfaces
Feb 11 12:31:22 localhost postfix/master[3776]: warning: process //usr/lib/postfix/pickup pid 18704 exit status 1
Feb 11 12:31:22 localhost postfix/master[3776]: warning: //usr/lib/postfix/pickup: bad command startup -- throttling

Dépannage

Astuces générales

Vous pouvez utiliser le commutateur -d de logcheck pour afficher plus d'informations de débogage. Exemple :

root #su -s /bin/bash -c '/usr/sbin/logcheck -d' logcheck
D: [1281318818] Turning debug mode on
D: [1281318818] Sourcing - /etc/logcheck/logcheck.conf
D: [1281318818] Finished getopts c:dhH:l:L:m:opr:RsS:tTuvw
D: [1281318818] Trying to get lockfile: /var/lock/logcheck/logcheck.lock
D: [1281318818] Running lockfile-touch /var/lock/logcheck/logcheck.lock
D: [1281318818] cleanrules: /etc/logcheck/cracking.d/kernel
...
D: [1281318818] cleanrules: /etc/logcheck/violations.d/su
D: [1281318818] cleanrules: /etc/logcheck/violations.d/sudo
...
D: [1281318825] logoutput called with file: /var/log/messages
D: [1281318825] Running /usr/sbin/logtail2 on /var/log/messages
D: [1281318825] Sorting logs
D: [1281318825] Setting the Intro
D: [1281318825] Checking for security alerts
D: [1281318825] greplogoutput: kernel
...
D: [1281318825] greplogoutput: returning 1
D: [1281318825] Checking for security events
...
D: [1281318825] greplogoutput: su
D: [1281318825] greplogoutput: Entries in checked
D: [1281318825] cleanchecked - file: /tmp/logcheck.uIFLqU/violations-ignore/logcheck-su
D: [1281318825] report: cat'ing - Security Events for su
...
D: [1281318835] report: cat'ing - System Events
D: [1281318835] Setting the footer text
D: [1281318835] Sending report: 'localhost 2010-08-09 03:53 Security Events' to root
D: [1281318835] cleanup: Killing lockfile-touch - 17979
D: [1281318835] cleanup: Removing lockfile: /var/lock/logcheck/logcheck.lock
D: [1281318835] cleanup: Removing - /tmp/logcheck.uIFLqU

This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: phajdan.jr, nightmorph
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.