Historiser (logguer) toutes les commandes shell avec snoopy dans un fichier log

Article publié le 31 Mars 2016

L’un de mes premiers tuto a été de proposer une solution pour « historiser qui a tapé telle commande et quand »  dans une base Mysql en patchant et recompilant le bash.

(http://journaldunadminlinux.fr/loggue-toutes-les-commandes-executees-dans-une-base-mysql/).

Depuis j’ai découvert une autre solution certes moins aboutie mais beaucoup plus facile à mettre en place: snoopy.

Snoopy va logger chaque commande tapée par un utilisateur dans un fichier de log (par défaut /var/log/auth.log).

 

Téléchargez les sources de snoopy ici: http://source.a2o.si/download/snoopy/

Décompressez-les ensuite avec un tar -xvf <nom de votre archive>

Nous allons procéder à la compilation (assurez vous que gcc et make soient bien installées)

./configure && make && make install && make enable

(il est possible que la compilation plante à cause d’un prérequis manquant: socat. Si c’est le cas, installez-le: apt-get install socat (Sous Debian/Ubuntu)  ou yum install socat (Sous Redhat/Centos)

Ouvrez la log (vi /var/log/auth.log) et vous pourrez voir les entrées Snoopy loguant les commandes tapées par les utilisateurs connectés sur votre machine:

 

Enjoy 🙂