Ich verwende einen Debian-Ätzserver, auf dem sich Benutzer (hoffentlich) über ssh in ein Chroot-Gefängnis einloggen. Wie kann ich die von ihnen ausgeführten Befehle so protokollieren lassen, dass sie weder gelöscht noch verhindert werden können?
10
Antworten:
installiere snoopy . Wenn Sie nur einen Benutzer protokollieren möchten, führen Sie eine Syslog-Filterung durch.
quelle
Ich habe eine Methode geschrieben, um alle 'bash'-Befehle / eingebauten' in eine Textdatei oder einen 'syslog'-Server zu protokollieren, ohne einen Patch oder ein spezielles ausführbares Tool zu verwenden.
Die Bereitstellung ist sehr einfach, da es sich um ein einfaches Shellscript handelt, das bei der Initialisierung der 'Bash' einmal aufgerufen werden muss. (nur 'Quelle' von .bashrc zum Beispiel) Es basiert auf der Idee, Bash-DEBUG-Traps zu verwenden. Siehe auch diesen Beitrag auf superuser.com
Weitere Informationen finden Sie hier: http://blog.pointsoftware.ch/index.php/howto-bash-audit-command-logger
Prost Francois Scheurer
quelle
Sie können ttyrpld versuchen . Es ist mehr als Sie wollen, weil es die ganze tty protokolliert.
Ich habe es selbst nicht verwendet, aber aufgrund der Funktionsweise (im Kernel) kann der Benutzer die Protokolle nicht ändern.
quelle
Verwenden Sie einen mit grsecurity gepatchten Kernel. Genau für diesen Zweck gibt es eine Kernel-Option.
quelle
Sie können die Systemüberwachung aktivieren.
quelle
bash behält einen Befehlsverlauf einer bestimmten Größe bei. Sie als Administrator können diese Größe festlegen und einfach ein Skript schreiben, das diesen Verlauf pro Benutzer über cron abruft.
quelle