
Ich benötige eine Methode zum Überwachen der Befehle, die ein bestimmter Benutzer in eine SSH-Verbindung zu meinem Server eingibt.
Irgendeine Hilfe ?
Antwort1
Wenn der Benutzer seine Aktivitäten nicht absichtlich verbirgt, würde so etwas funktionieren?:
cat ~/.bash_history | grep "name_of_command"
Oder
cat /home/user_name_here/.bash_history | grep search_string
Eine bessere Lösung wäre allerdings möglicherweise, die TTY-Überwachung von PAM (Pluggable Authentication Modules) zu aktivieren: pam_tty_audit.8
Installieren auditd
(Hinweis: Stellen Sie sicher, dass der SSH-Server installiert ist) und neu starten:
sudo apt-get install auditd && sudo reboot
Entfernen Sie alle pam_tty_audit:
sed '/pam_tty_audit.so disable=/d' /etc/pam.d/sshd
Fügen Sie den Aktivierungsstring an die pam.d-Konfigurationsdateien an:
sudo sh -c "echo 'session required pam_tty_audit.so enable=*' >> /etc/pam.d/sshd"
Starten Sie auditd:
sudo service auditd status
Wenn es nicht läuft:
sudo service auditd start
Und grep tty-Bericht für eine Benutzer-UID:
sudo aureport --tty | grep $(id -u username_here)
Weiterführende Literatur:
http://www.cyberciti.biz/tips/linux-audit-files-to-see-who-made-changes-to-a-file.html