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 🙂