Bevorzugte Methode zum Erstellen einer chroot beim chrooting einer Benutzergruppe bei der Protokollierung mit SSH?

541
Joni

Durch die Verwendung von libpam-chroot ist es möglich, eine Teilmenge von Benutzern auf einfache Weise anhand des Benutzernamens zu chrootieren, wenn sich der Benutzer mit SSH anmeldet.

Was ist ein guter Weg, um dieses Chroot- und Libpam-Chroot-Setup zu erstellen. Eines meiner Ziele ist, dass chrootierte Benutzer nur in chroot-Umgebungen bekannt sind (es werden keine Passwörter oder was auch immer außerhalb von chroot gespeichert). In meinem vorherigen Setup musste ich die Benutzerkennwörter zwischen /etc/shadowund manuell aktualisieren /var/my_chroot/etc/shadow. Ist das möglich?

Oder gibt es einen völlig anderen Weg, um diese Art von Subsystem zu erreichen, ohne einen komplett anderen (virtuellen) Computer zu benötigen (ich habe keine Ersatzhardware zu bieten und nur eine Netzwerkschnittstelle)? Oder ist die Virtualisierung doch die richtige Antwort?

2

1 Antwort auf die Frage

2
Gilles

Stellen Sie sicher, Sie haben UsePAM yesin /etc/ssh/sshd_configund stellt eine PAM - Modul auf, die eine Benutzerdatenbank von einem Ort innerhalb des chroot liest. Es gibt keine einfache Möglichkeit, Dateien pam_unixanders zu lesen passwdund zu lesen shadow, aber pam_ldapstattdessen können Sie einen LDAP-Server in der Chroot-Umgebung (oder besser außerhalb der Chroot-Klasse, die Daten irgendwo darunter speichern /var) ausführen .

Die Virtualisierung hängt davon ab, was Sie von chrooting erwarten. Es bietet nicht viel Sicherheit gegen einen Benutzer mit Shell-Zugriff. Zum Beispiel gewährt ein lokales Wurzelloch vollen Zugriff auf die gesamte Maschine. Einheimische Benutzer können außerhalb der Chroot ein bisschen schnüffeln, indem sie hinein stoßen /proc. Netzwerkports, die innerhalb der Chroot verwendet werden, sind außerhalb nicht verfügbar. ...