Warum ist es möglich, CHROOT mit dieser SFTP-Konfiguration zu verlassen?

Warum ist es möglich, CHROOT mit dieser SFTP-Konfiguration zu verlassen?

Ich versuche den Benutzer lenny anzulegen, der Lese- und Schreibrechte im Ordner hat /home/lenny/und keine Shell hat, sondern nur Zugriff über SFTP. Ich gehe folgendermaßen vor:

useradd lenny
mkdir /home/lenny
usermod -d /home/lenny lenny
passwd lenny
chown lenny:lenny /home/lenny
chmod 755 /home/lenny
usermod -s /bin/false myuser

Ich habe dann geändert /etc/ssh/sshd_config:

Subsystem sftp internal-sftp`  

Match User lenny
ChrootDirectory /home/lenny
ForceCommand internal-sftp

Wenn ich das jetzt tue, sftp lenny@serverkann ich CHROOT einfach verlassen, indem ich cd /und mache ls -la, ich sehe alles!

Warum ist das so??? Ich verstehe es nicht, die Konfiguration sollte in Ordnung sein, oder liege ich falsch?

Antwort1

Haben Sie den SSHD-Dienst nach den Änderungen an neu gestartet /etc/ssh/sshd_config?

sudo /etc/init.d/ssh restart

Stellen Sie sicher, dass das Chroot-Verzeichnis für den SFTP-Benutzer (in diesem Fall /home/lenny) root und nicht dem SFTP-Benutzer gehört. chmod 755ist korrekt.

Außerdem würde ich zur zusätzlichen Sicherheit die folgenden beiden Zeilen hinzufügen:

Match User lenny
    ChrootDirectory /home/lenny
    ForceCommand internal-sftp
    X11Forwarding no
    AllowTcpForwarding no

Starten Sie Ihren SSHD-Dienst neu und Sie sollten über das gewünschte Chroot verfügen.

verwandte Informationen