Ich habe OpenSUSE auf meinem Server installiert und möchte, dass ssh jeden Befehl protokolliert, der über das System an das System gesendet wird.
Ich habe dies in meiner sshd_config gefunden:
# Logging # obsoletes QuietMode and FascistLogging #SyslogFacility AUTH #LogLevel INFO
Ich schätze, dass diese beiden Anweisungen unkommentiert sein müssen, aber ich möchte jeden Befehl protokollieren, nicht nur die Autorisierung (Anmelden / Abmelden über SSH). Ich möchte nur wissen, ob jemand in mein System einbricht, was er getan hat.
Command line history should also be stored in .bash_history (file in the user's home directory) when using bash (properly).
Kann dieser (der Bericht vom "history" -Befehl) von einem möglichen Angreifer gelöscht werden?
Radek Simko vor 14 Jahren
0
Es könnte, aber jedes andere Protokoll könnte auch gelöscht werden ...
BloodPhilia vor 14 Jahren
1
Es gibt einige Quellcode-Ergänzungen zu SSHD, die alle SSH-Ein- und -Ausgaben protokollieren. Diese Dateien werden von root geschrieben und werden häufig an syslog gesendet. Der Benutzer kann diese Protokolldateien nicht löschen. Mir ist jedoch kein öffentlich verfügbarer Code bekannt, und OpenSSH ist ein von BSD lizenziertes Produkt, sodass keine Notwendigkeit besteht, Änderungen im Code umzuverteilen.
Stefan Lasiewski vor 14 Jahren
0
Bash-Historie wird nicht in SSH-Befehlen verwendet, die keine Bash-Shell starten.
user3338098 vor 8 Jahren
0
0
Josh K
Your best bet would be to install Fail2Ban and ignore the SSH logging. Preventing the breaking in is worth much more then seeing what an attacker might have done. Especially when you assume if he breaks in he could remove the logfile.
0
Janne Pikkarainen
Wenn jemand in Ihr System eindringen kann, ist er wahrscheinlich intelligent genug, um die Verlaufsdatei zu löschen und die Protokolle zu manipulieren. Um es für den Bösen schwerer zu machen:
Sehen Sie sich die Überwachungsfunktionen von SELinux / GRsecurity und Linux an
Richten Sie einen zentralen Protokollierungsserver ein, und richten Sie Ihren syslog-daemon (ich ziehe syslog-ng vor) alle Ihre Protokolldateien dort weiter. Stellen Sie sicher, dass sich Ihr Protokollierungsserver hinter einer engen Firewall befindet und nur der Protokollierungsport für eingehende Verbindungen geöffnet ist (wenn Sie versuchen, eine Verbindung von einem anderen Server herzustellen).
Erwägen Sie, rootsh oder ein Äquivalent davon zu verwenden.
0
lesmana
Sie sagten, Sie wollten jeden "Befehl" protokollieren. Ich nehme an, Sie meinen jeden Befehl, der in der Shell des Benutzers eingegeben wurde (sei es ein legitimer Benutzer oder nicht). In den folgenden Links gibt es viele Tools, die dies mehr oder weniger sicher tun können:
Hinweis: Wie @ Janne-Pikkarainen sagte, wenn Sie wirklich sichere Protokolle erstellen möchten, sollten Sie Ihre Protokolldateien an einen anderen Computer senden.