Vraag SFTP-logging: is er een manier?


Ik vraag me af of er een manier is om opdrachten die door de server worden ontvangen te loggen. Het kunnen alle SSH-opdrachten zijn, zolang het maar informatie bevat over opdrachten die verband houden met bestandsoverdracht.

Ik heb problemen met een SFTP-client en de maker vraagt ​​om logboeken, maar ik kan geen bestaande logboeken vinden.

Ik ben van plan om beide of CentOS of OS X aan te melden (hoewel ik vermoed dat het mogelijk is, zou het voor beide hetzelfde zijn).


82
2017-10-11 01:42


oorsprong




antwoorden:


OpenSSH-versies 4.4p1 en hoger (die de nieuwste versie met CentOS 5 zouden moeten bevatten) hebben ingebouwde SFTP-logging-functionaliteit - u hoeft het alleen maar te configureren.

Zoek dit in uw sshd_config (in centos, bestand / Etc / ssh / sshd_config):

Subsystem       sftp    /usr/libexec/openssh/sftp-server

en verander het in:

Subsystem       sftp    /usr/libexec/openssh/sftp-server -l INFO

INFO is slechts één detailniveau over wat u standaard ziet - het biedt gedetailleerde informatie over bestandsoverdrachten, wijzigingen in toestemmingen, enz. Als u meer informatie nodig heeft, kunt u het logniveau dienovereenkomstig aanpassen. De verschillende niveaus (in volgorde van detail) zijn:

QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, and DEBUG3

Alles over VERBOSE is waarschijnlijk meer informatie dan u zoekt, maar het kan nuttig zijn.

Eindelijk de SSH-service opnieuw opstarten om de wijzigingen (centos) bij te werken:

systemctl restart sshd

86
2017-10-13 23:21



Ik wist niet dat je zo SFTP kon registreren, dat is wat ik nodig heb. Waar slaat het de logboeken op? /var/log/auth.log? - Rory
Het hangt af van uw syslog-configuratie. Door het INFO-logniveau te gebruiken, plaatsen de meeste standaard syslog.conf die vermeldingen in / var / log / messages. - rvf
Is het mogelijk om dit te doen met behulp van de interne sftp-server? - Cian
dit werkt perfect voor SFTP, maar hoe zit het met SCP? Ik vond geen vermeldingen in het logbestand voor een bestand dat met de scp-opdracht is gekopieerd, hoewel het logbestand succesvol was voor sftp - Ale
Op Ubuntu worden deze logboeken standaard ingesteld op /var/log/auth.log. Toevoegen -f USER op dat Subsystem config regel om naar toe te sturen /var/log/syslog. - Throwaway Account 3 Million


Dezelfde switches rond logboekregistratie voor sftp-server werken ook voor interne-sftp. Hier is een voorbeeld van mijn / etc / ssh / sshd_config:

Subsystem   sftp    internal-sftp -f AUTH -l INFO

Met INFO level logging zullen ingeschakelde berichten verschijnen onder / var / log / messages (tenminste onder Distros op Red Hat):

May 27 05:58:16 test-server sshd[20044]: User child is on pid 20049
May 27 05:58:16 test-server sshd[20049]: subsystem request for sftp by user test-user
May 27 05:58:16 test-server internal-sftp[20050]: session opened for local user test-user from [192.168.1.1]
May 27 05:58:16 test-server internal-sftp[20050]: received client version 3
May 27 05:58:16 test-server internal-sftp[20050]: realpath "."
May 27 05:58:21 test-server internal-sftp[20050]: opendir "/home/test-user/"
May 27 05:58:21 test-server internal-sftp[20050]: closedir "/home/test-user/"
May 27 05:58:21 test-server internal-sftp[20050]: lstat name "/home/test-user/upload"
May 27 05:58:21 test-server internal-sftp[20050]: realpath "/home/test-user/upload/"
May 27 05:58:21 test-server internal-sftp[20050]: stat name "/home/test-user/upload"
May 27 05:58:24 test-server internal-sftp[20050]: open "/home/test-user/upload/test-file.pdf" flags WRITE,CREATE,TRUNCATE mode 0664
May 27 05:58:25 test-server internal-sftp[20050]: close "/home/test-user/upload/test-file.pdf" bytes read 0 written 1282941

39
2018-05-29 12:42



Ik ontdekte dat in mijn geval alleen sftp-sessies worden geregistreerd voor root, maar niet voor mijn chrooted user-test. Ik begrijp niet waarom, heb je ideeën? - JohnnyFromBF
Het lijkt erop dat je het nodig hebt /dev/log in je chroot-gebied. Zoiets als sudo 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. Gebruikers hebben nog steeds schrijftoegang tot dat / dev / log, maar omdat het een socket is, kunnen ze niet veel schade aanrichten als ze toegang hebben tot sftp. - sch
Bedankt voor de hint. Het lukt me echter niet om het te laten werken. Zou je wat specifieker kunnen zijn? - user1092608
FWIW: In de ArchLinux Wiki is er een goede beschrijving over het inschakelen van logboekregistratie in de chroot-omgeving: wiki.archlinux.org/index.php/SFTP_chroot#Logging - Kaii