Ich frage mich, ob es eine Möglichkeit gibt, vom Server empfangene Befehle zu protokollieren. Dies können alle SSH-Befehle sein, sofern sie Informationen zu Befehlen im Zusammenhang mit der Dateiübertragung enthalten.
Ich habe Probleme mit einem SFTP-Client und der Ersteller fordert Protokolle an, kann jedoch keine vorhandenen Protokolle finden.
Ich versuche, beide oder entweder CentOS oder OS X anzumelden (obwohl ich vermute, dass es bei beiden möglich ist).
Antworten:
In OpenSSH-Versionen 4.4p1 und höher (die die neueste Version mit CentOS 5 enthalten sollten) ist die SFTP-Protokollierungsfunktion integriert - Sie müssen sie nur konfigurieren.
Finden Sie dies in Ihrer sshd_config (in Centos, Datei / etc / ssh / sshd_config ):
und ändere es in:
INFO ist nur eine Detailebene über dem, was standardmäßig angezeigt wird - es enthält detaillierte Informationen zu Dateiübertragungen, Berechtigungsänderungen usw. Wenn Sie weitere Informationen benötigen, können Sie die Protokollstufe entsprechend anpassen. Die verschiedenen Ebenen (in der Reihenfolge der Details) sind:
Alles über VERBOSE ist wahrscheinlich mehr Information als Sie suchen, aber es könnte nützlich sein.
Starten Sie schließlich den SSH-Dienst neu, um die Änderungen (Centos) zu aktualisieren:
quelle
/var/log/auth.log
. Fügen Sie-f USER
dieserSubsystem
Konfigurationszeile hinzu, an die sie gesendet werden sollen/var/log/syslog
.Die gleichen Schalter um die Protokollierung für SFTP-Server funktionieren auch für Internal-SFTP. Hier ist ein Beispiel aus meiner / etc / ssh / sshd_config:
Wenn die Protokollierung auf INFO-Ebene aktiviert ist, werden Nachrichten unter / var / log / messages angezeigt (zumindest unter Red Hat-basierten Distros):
quelle
/dev/log
in Ihrer Chroot-Gegend sein. So etwas wiesudo mkdir /chrooted/area/dev
,sudo touch /chrooted/area/dev/log
,sudo chmod 511 /chrooted/area/dev
,sudo chattr +i /chrooted/area/dev
,sudo mount --bind /dev/log /chrooted/area/dev/log
. Benutzer haben weiterhin Schreibzugriff auf dieses / dev / log, aber da es sich um einen Socket handelt, können sie nicht viel Schaden anrichten, wenn sie nur Zugriff auf dieses / dev / log habensftp
.Um die obigen Kommentare zu verdeutlichen:
Wenn Sie SFTP mithilfe eines Jails (Chroot-Umgebung) konfiguriert haben, können Sie sich nicht ohne zusätzlichen Konfigurationsaufwand anmelden. Das Protokoll kann nicht in der Chroot-Umgebung geschrieben werden. Sie müssen eine Mount-Bindung oder einen Socket erstellen. Ich würde die Verwendung eines Sockets empfehlen, da dies eine Funktion ist, die sowohl von syslog-ng als auch von rsyslog (und möglicherweise von vielen anderen) bereitgestellt wird.
Für diejenigen, die syslog-ng verwenden, besuchen Sie https://wiki.archlinux.org/index.php/SFTP_chroot#Logging . Für diejenigen, die rsyslog verwenden, ist https://wiki.kairaven.de/open/os/linux/sftpssh Ihr Freund.
Ich hoffe, das hilft.
quelle