Ich möchte die Aktivitäten aller Benutzer auf meinem Server überwachen.
Selbst wenn der Benutzer einen Shell-Befehl von einem Editor wie vim ausführt, möchte ich sie in der Protokolldatei sehen.
Ich habe das Tool acct überprüft, aber es werden nicht alle Befehle aufgelistet. (Bitte korrigieren Sie mich, wenn ich einige Optionen verpasst habe, die dies bereits tun).
Welches Linux-Tool sollte ich suchen, um dieses Problem zu lösen?
linux
user-management
Supratik
quelle
quelle
Antworten:
Fügen Sie diese Zeile zu Ihrer Pam-Konfiguration hinzu, die für die Anmeldung verantwortlich ist (die Systemauthentifizierung auf Distributionen, die auf Red Hat basieren).
Um herauszufinden, was getan wurde, können Sie verwenden.
Dies erzeugt eine Ausgabe wie diese:
Der einzige Nachteil dabei ist, dass es ein bisschen schwierig zu lesen sein kann, aber es ist viel besser als die meisten vorgeschlagenen Lösungen, da es theoretisch verwendet werden könnte, um eine gesamte Sitzung aufzuzeichnen.
Bearbeiten: Oh und Sie können Aureport verwenden, um eine Liste zu generieren, die hilfreicher sein kann.
quelle
auditd
Dämon zuerst aktiviert werden muss, damit das oben Genannte funktioniert (bei meiner CentOS 6.7-Installation war dies nicht die Standardeinstellung). Um den Daemon zu starten, verwenden Sie:service auditd start
und um diese Änderung (nach einem Neustart) persistent zu machen, verwenden Siechkconfig auditd on
Source: access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/… und access.redhat.com/documentation/en-US/ Red_Hat_Enterprise_Linux /…Die beste Lösung für Ihr Problem wäre das in Linux integrierte Auditsystem . Verwenden
man 8 auditd
oder überprüfen Sie diese Seite für weitere Informationen: http://linux.die.net/man/8/auditd .Sie können dieses Lernprogramm auch überprüfen. Es liegt zwar nicht im Rahmen Ihrer Frage, zeigt jedoch, wie das Auditsystem funktioniert.
quelle
Sie könnten snoopy verwenden .
Es ist eine einfache Befehlsprotokollierungsbibliothek und keine richtige Überwachungslösung (die leicht umgangen werden kann). Offenlegung: Ich bin aktueller Snoopy Betreuer.
quelle
Ein weniger bekannter Trick, aber der einfachste ist, einfach die eingebauten Audit-Funktionen von zu nutzen
sudo
. Sudo wird mit einemsudoreplay
Befehl ausgeliefert, der das Abspielen von Sessions vereinfacht. Es werden sogarvim
Sitzungen weitergeleitet (wie Sie vorschlagen).So verwenden Sie es in wenigen einfachen Schritten:
sudosh
auf Ihrem System; Dies ist ein Shell-Wrapper um densudo
Befehl, der einen Benutzersudo
selbst (nichtroot
) macht und als Systemanmeldeshell verwendet werden kannAktivieren Sie die
sudo
Protokollierung. Bearbeiten/etc/sudoers.d/sudosh
:Defaults log_output Defaults!/usr/bin/sudoreplay !log_output Defaults!/sbin/reboot !log_output
Fügen Sie diesen Befehl hinzu
/etc/shells
, um Anmeldungen zuzulassen:/usr/bin/sudosh
Tipp : Um zu verhindern, dass Benutzer sich mit anderen Shells anmelden, entfernen Sie diese anderen Shells von
/etc/shells
.Aktualisieren Sie den Benutzer
foobar
, um diesudosh
Shell zu verwenden.chsh -s /usr/bin/sudosh foobar
Weitere Informationen finden Sie unter: https://github.com/cloudposse/sudosh/
quelle
Hier ist eine magische Lösung: http://www.cyberciti.biz/tips/howto-log-user-activity-using-process-accounting.html
Sie können Statistiken über Benutzerbefehle / Verbindungen usw. anzeigen.
Alle von einem bestimmten Benutzer aufgerufenen Befehle auflisten ...
Durchsuchen Sie die Abrechnungsprotokolle nach dem Befehlsnamen: $ lastcomm rm $ lastcomm passwd
und so weiter, für weitere Informationen besuchen Sie bitte den obigen Link.
quelle