Wie beobachte ich die lokale Nummer, um sicherzustellen, dass Nachrichten dorthin gesendet werden?

Wie beobachte ich die lokale Nummer, um sicherzustellen, dass Nachrichten dorthin gesendet werden?

Ich versuche, zusätzliche Betriebsprotokolle von meinem SFTP-Server zu sammeln. Ich habe die folgenden Zeilen zu /etc/ssh/sshd_config hinzugefügt, wie in vielen Beiträgen im Internet beschrieben:

Subsystem sftp internal-sftp -l VERBOSE -f LOCAL6

Match Group sftponly
    ChrootDirectory /data/%u
    ForceCommand internal-sftp -l VERBOSE -f LOCAL6
    X11Forwarding no
    AllowTcpForwarding no

Dann habe ich /etc/rsyslog.d/60-sftp.conf mit den folgenden Zeilen erstellt, um die Protokollierungsinformationen zu sammeln:

# Parse the data logged at level INFO and facility LOCAL6 into /var/log/sftp
local6.* /var/log/sftp

# Report logins and logoffs
:syslogtag,startswith,"internal-sftp" /var/log/sftp

# Log internal-sftp in a separate file
:programname, isequal, "internal-sftp" -/var/log/sftp

An diesem Punkt scheine ich keine Protokollierung in /var/log/sftp zu bekommen, alles geht weiterhin in /var/log/messages und scheint überhaupt nicht ausführlich zu sein. Hier ist ein Ausschnitt von allem, was ich bekomme:

Sep 28 16:46:11 ftp sshd[10060]: Accepted publickey for root from 172.25.50.117 port 54836 ssh2
Sep 28 16:46:11 ftp sshd[10060]: Received disconnect from 172.25.50.117: 11: disconnected by user
Sep 28 16:46:16 ftp sshd[10109]: Accepted keyboard-interactive/pam for account1000002664 from 172.25.50.86 port 34255 ssh2

Ich habe überprüft, dass das System rsyslogd ausführt, indem ich Folgendes ausgeführt habe:

ftp:~ # ps ax | grep syslog
 9205 ?        Sl     0:00 /sbin/rsyslogd -c 5 -f /etc/rsyslog.conf

Soweit ich das beurteilen kann, bearbeite ich also die richtigen Dateien. Ich gehe davon aus, dass der nächste Schritt darin besteht, sicherzustellen, dass die erwarteten Protokolle an local6 gesendet werden. Das Ziel besteht hier darin, die Daten zu erhalten, die erforderlich sind, um ein Protokoll auszugeben, das dem von vsftpd erstellten xferlog ähnlich ist, wenn nicht sogar genau wie dieses.

Hat jemand da draußen eine Idee, wie man weiter vorgehen soll? Nebenbemerkung: Dies läuft auf OpenSuse 12.1.

Antwort1

Sie müssen den Protokollierungssocket ( /dev/log) aktiviert haben chroot, wenn Sie sich darüber anmelden möchten, oder Sie müssen eine Möglichkeit implementieren, den Dateideskriptor während der internal-sftpAusführung beizubehalten.

Es sollte auf dem aktuellen RHEL funktionieren (zumindest haben wir es getestet und es istdokumentiert), aber ich kenne mich mit Suse nicht aus.

Vielleicht ist diese Funktion dort nicht vollständig implementiert, aber Sie können den Socket jederzeit erstellen chrootund so einrichten, rsyslogdass Nachrichten über diesen Socket akzeptiert werden. Sie können es mit dem Logger testen, wie in den Kommentaren vorgeschlagen.

verwandte Informationen