relecture
This commit is contained in:
parent
92aa739dac
commit
891cae7988
|
@ -1,39 +1,75 @@
|
|||
**Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.**
|
||||
---
|
||||
categories: sécurité sysadmin
|
||||
title: Howto Logcheck
|
||||
...
|
||||
|
||||
# Howto Logcheck
|
||||
|
||||
[Logcheck](http://logcheck.org/) est un outil qui permet d'envoyer les logs par mail, plus précisément les lignes inconnues (non répertoriées dans ses règles) trouvées dans certains journaux.
|
||||
[Logcheck](http://logcheck.org/) est un script Bash qui permet d'envoyer les logs inconnus par email. Il est lancé toutes les heures et surveille par défaut `/var/log/syslog` et `/var/log/auth.log`. C'est un complément idéal de [Log2mail](HowtoLog2mail) car il va détecter des nouveaux termes dans les logs, que l'on considèrera comme normaux (on les ajoutera alors à la liste des termes connus) ou anormaux (que l'on ajoutera à _Log2mail_ pour avoir une alerte immédiate).
|
||||
|
||||
|
||||
## Installation
|
||||
|
||||
Sous Debian, on l'installera via :
|
||||
~~~
|
||||
# apt install logcheck logcheck-database
|
||||
~~~
|
||||
|
||||
~~~
|
||||
# aptitude install logcheck logcheck-database
|
||||
~~~
|
||||
|
||||
## Configuration
|
||||
|
||||
Par défaut, Logcheck va lire les journaux suivants dans /var/log/ : syslog, auth.log, mail.log, cron.log et user.log (voir dans _/etc/logcheck/logcheck.logfiles_).
|
||||
Fichiers de configuration :
|
||||
|
||||
Sa configuration se passe dans le fichier _/etc/logcheck/logcheck.conf_ où l'on précisera principalement REPORTLEVEL (pour choisir quel jeu d'exceptions l'on veut utiliser),
|
||||
et bien sûr SENDMAILTO qui précise à qui doit être envoyé les résultats.
|
||||
~~~
|
||||
/etc/logcheck/
|
||||
├── logcheck.conf
|
||||
├── logcheck.logfiles
|
||||
├── header.txt
|
||||
├── cracking.d/
|
||||
│ ├── kernel
|
||||
│ ├── [...]
|
||||
│ └── uucico
|
||||
├── cracking.ignore.d/
|
||||
├── ignore.d.paranoid/
|
||||
│ ├── bind
|
||||
│ ├── [...]
|
||||
│ └── xinetd
|
||||
├── ignore.d.workstation
|
||||
│ ├── automount
|
||||
│ ├── [...]
|
||||
│ └── xlockmore
|
||||
├── logcheck.logfiles.d/
|
||||
├── violations.d/
|
||||
│ ├── kernel
|
||||
│ ├── [...]
|
||||
│ └── sudo
|
||||
└── violations.ignore.d
|
||||
├── logcheck-su
|
||||
└── logcheck-sudo
|
||||
~~~
|
||||
|
||||
Le fichier de configuration principal est `/etc/logcheck/logcheck.conf` où l'on précisera notamment l'option `REPORTLEVEL` pour choisir quel jeu d'exceptions l'on veut utiliser et `SENDMAILTO` pour la destination de l'email :
|
||||
|
||||
~~~
|
||||
REPORTLEVEL="server"
|
||||
SENDMAILTO="OMG@example.com"
|
||||
SENDMAILTO="monitoring@example.com"
|
||||
MAILASATTACH=0
|
||||
FQDN=1
|
||||
TMP="/tmp"
|
||||
~~~
|
||||
|
||||
La liste des fichiers de journaux à surveiller se trouve dans le fichier `/etc/logcheck/logcheck.logfiles` :
|
||||
|
||||
~~~
|
||||
/var/log/syslog
|
||||
/var/log/auth.log
|
||||
/var/log/user.log
|
||||
~~~
|
||||
|
||||
|
||||
## Utilisation
|
||||
|
||||
Logcheck s'exécute toutes les heures et à chaque reboot... et on est souvent rebuté par la quantité de logs reçus. Pourtant, le but est bien de ne *rien* recevoir sauf exception !
|
||||
Pour cela, il est important de passer par une "phase de test" où l'on ajoutera des règles d'exception pour prendre en compte les particularités de son système.
|
||||
Par défaut Logcheck s'exécute toutes les heures et à chaque reboot comme indiqué dans le fichier `/etc/cron.d/logcheck`. On est parfois surpris par la quantité de lignes reçues. Pourtant, le but est bien de ne **rien** recevoir sauf exception ! Pour cela, il est important de passer par une « phase de test » où l'on ajoutera des règles d'exception pour prendre en compte les particularités de son système.
|
||||
|
||||
Par exemple, si vous utilisez le _REPORTLEVEL="server"_ vous ajouterez des expressions régulières dans un fichier situé dans le répertoire _ignore.d.server/_.
|
||||
Voici par exemple, quelques règles que l'on a pu ajouter pour diverses raisons :
|
||||
Si vous utilisez le `REPORTLEVEL="server"` vous ajouterez des expressions régulières dans un fichier situé dans le répertoire `/etc/logcheck/ignore.d.server/`. Voici par exemple, quelques règles que l'on a pu ajouter pour diverses raisons :
|
||||
|
||||
~~~
|
||||
^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel: \[IPTABLES DROP\] : IN=eth0 OUT= MAC=.*
|
||||
|
@ -59,13 +95,17 @@ Voici par exemple, quelques règles que l'on a pu ajouter pour diverses raisons
|
|||
Pour tester une expression régulière que l'on écrit, on utilisera "egrep" ainsi :
|
||||
|
||||
~~~
|
||||
$ sed -e 's/[[:space:]]*$//' /var/log/syslog | egrep 'MA-SUPER-EXPRESSION-REGULIERE'
|
||||
$ sed -e 's/[[:space:]]*$//' /var/log/syslog | egrep 'MON-EXPRESSION-REGULIERE'
|
||||
~~~
|
||||
|
||||
On peut aussi faire un petit tour sur rubular.com
|
||||
|
||||
Si on pourra aussi faire tout simplement :
|
||||
On peut aussi faire tout simplement :
|
||||
|
||||
~~~
|
||||
$ echo "Oct 8 23:59:33 foo sshd[24123]: Received disconnect from 192.0.2.51: 11: disconnected by user" | egrep 'MA-SUPER-EXPRESSION-REGULIERE'
|
||||
~~~
|
||||
|
||||
## FAQ
|
||||
|
||||
### Comment apprendre les expressions
|
||||
|
||||
On peut aussi faire un petit tour sur rubular.com
|
Loading…
Reference in a new issue