13 votes

Comment enregistrer chaque commande linux sur un serveur de logs ?

Je veux que chaque commande tapée soit envoyée à un serveur de logs. Le syslog-ng est déjà configuré pour envoyer tous les journaux au logserver.

Je suis intéressé par toutes les méthodes pour y parvenir. Je m'attends à une discussion sur les utilisateurs malhonnêtes et la sécurité, mais l'objectif premier est simplement de faire en sorte que les sessions soient enregistrées. Toutes les sessions se font par ssh mais les commandes de connexion à la console doivent également être enregistrées. Je voudrais que cela se produise pour n'importe quel Shell mais le principal est bash. (Encore une fois, je sais qu'un utilisateur véreux pourrait créer son propre Shell.... )

1voto

Todd Price Points 703

Bash peut être compilé avec le support syslog depuis la version 4.1.

Ce n'est pas infaillible (la comptabilité des processus est peut-être plus adaptée à cela), mais il s'agit surtout d'une interaction avec l'utilisateur ; le volume devrait être plus facile à gérer et vous pourrez passer à quelque chose de plus détaillé si vous soupçonnez quelque chose d'anormal.

Cela dit, c'est très intrusif et, en tant qu'utilisateur, je m'attendrais à ce qu'un avertissement de confidentialité très spécifique soit émis avant que vous ne commenciez à faire cela.

0voto

Stick Points 658

Il y a aussi le sudosh ( http://sudosh.sourceforge.net ) qui fera l'enregistrement de la session. Vous avez la possibilité de l'exécuter comme un Shell défini pour un utilisateur ou par sudo. Il suit également les temps pour chaque session afin que vous puissiez rejouer la session et la regarder (y compris les sessions d'édition et autres).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X