Ich verwende CentOS. Ich habe bereits herausgefunden, wie die SFTP-Protokollierung aktiviert werden kann. Wenn ich es danach mit FileZilla (vom Benutzer) und tail -f /var/log/sftp.log
vom Server teste, werden alle Aktivitäten der Benutzer sicher protokolliert. Arbeitet super!
Aber ich habe noch einige wichtige Fragen dazu:
- In der Protokolldatei wird nichts über den USERNAME erwähnt. Die USERNAMES werden an keiner Stelle im LOGS für jede einzelne Aktivität protokolliert / erwähnt (nur die FTP-Anmelde- / Abmeldeaktivitäten werden als einzelne Zeile unter Millionen von Zeilen protokolliert. Es ist jedoch nicht effektiv, wenn ich mehr als 1 Benutzer habe).
Zum Beispiel:
Feb 27 02:59:31 myhostname sftp-server[13307]: session opened for local user michael from [10.xxx.xxx.xxx]
Feb 27 03:01:00 myhostname sftp-server[13312]: session opened for local user jimmy from [10.xxx.xxx.xxx]
...
...
Feb 27 04:00:34 myhostname sftp-server[13307]: mkdir name "/var/www/html/nnnnn" mode 0777
...
Feb 27 04:01:30 myhostname sftp-server[13307]: rmdir name "/var/www/html/nnnnn"
Feb 27 04:01:30 myhostname sftp-server[13307]: opendir "/var/www/html"
Feb 27 04:01:30 myhostname sftp-server[13307]: closedir "/var/www/html"
In den Zeilen selbst wird KEIN BENUTZERNAME erwähnt . (Mit Ausnahme der Anmelde- / Abmeldeaktionen)
Und die andere Frage lautet:
- Wie lange kann ich diese Protokolle aufbewahren? Ich meine, ist es möglich, wenn ich möchte, dass die LOG-DATEI die Zeilen immer bis zu den letzten 6 Monaten im Inneren hält?
Irgendeine Idee bitte?
useradd xxxxx
(wie Sie sehen könnensession opened for local user
). Ich werde den Benutzernamen in der Frage ändern, was verwirrend erscheint.Antworten:
Hier sind einige Beispiele für die Ausgabe von Protokolldateien:
Welcher Benutzer ist welcher?
Wenn Sie die Ausgabe oben beachten, steht in eckigen Klammern eine Zahl
internal-sftp[32524]
. Die Nummer lautet 32524. Dies stellt die Sitzungs-ID für den Benutzer joeuser dar, sodass Sie diese Zeichenfolge zusammen verwenden können, welche Nachrichten sich auf die Anmeldung des Benutzers beziehen.Protokolle drehen
Sie können den Protokollrotationsplan für verschiedene Protokolle unter ändern
/etc/logrotate.d/*
. Jede Protokolldatei enthält normalerweise eine entsprechende Datei in diesem Verzeichnis. So können Siesyslog
beispielsweise die Datei dort ändern oder eine eigene für Ihresftp.log
Protokolldatei erstellen .Hat
logrotate
auch eine Konfigurationsdatei,/etc/logrotate.conf
die diese Zeilen enthält:Diese werden von den Dateien im
/etc/logrotate.d
Verzeichnis verwendet, wenn sie keine eigene Einstellung haben. Daher werden die meisten Dateien wöchentlich gedreht und 4 davon werden aufbewahrt. Wenn Sie 6 Monate behalten möchten, wäre es 4 * 6 = 24 für dierotate
Option, ungefähr 6 Monate zu behalten.Beispiel
Wenn Sie sich
/var/log/sftp.log
übersyslog
anmelden, müssen Sie Ihre Änderungen in dieser Datei vornehmen/etc/logrotate.d/syslog
. Ihre Datei sieht nach den erforderlichen Änderungen folgendermaßen aus:Da Sie diese verwenden, müssen
syslog
Sie auch alle diese Protokolldateien drehen. Bewahren Sie diese ebenfalls im Wert von 24 Wochen auf. Wenn dies nicht akzeptabel ist, besteht Ihre einzige andere Vorgehensweise darin, einen separaten Abschnitt in dieser Datei zu erstellen,syslog
wie folgt:Dies hat einige Nebenwirkungen. Eine davon ist, dass Sie den
syslog
Daemon 2 Mal pro Woche anstatt einmal neu starten . Die Logroate-Syntax ermöglicht jedoch keine genaue Steuerung des Rotationsplans für bestimmte Logdateien, während andere nicht rotiert werden, wenn die Logdateien von demselben Dienst generiert werden, dsyslog
. H.Verweise
quelle
[]
sind die Sitzungsnummern für jeden Benutzer !!!sftp-server
und das Schreiben selbst im laufenden Betrieb durchzuführen.create your own for your sftp.log logfile
bedeutet, ich sollte das bearbeiten/etc/logrotate.d/syslog
und dann ein neues Set einfügen, wie :/var/log/sftp.log { 24 weeks }
? Es tut mir leid, dass ich es nicht vollständig verstehen kann :(