SSH & chroot

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
maone
Beiträge: 39
Registriert: 05.12.2005 16:31:33

SSH & chroot

Beitrag von maone » 18.10.2007 16:02:35

Hallo!
Ich bin gerade dabei meinen Server neu aufzusetzen!
Wollte dabei gleich für alle User (ca 6) die Möglichkeit bereitstellen, dass sie sich über SSH einloggen können, um in ihrem "/home"-Bereich per Shell arbeiten zu können!
Hab schon viel in google gesucht wie man chroot verwirklich könnte.
Hab das Module"libpam-chroot" installiert.
Ich hab diverse Dateien kopiert und Einträge in Dateien hinzugefügt, was ich aus Tutorials herauslesen konnte.
Nur leider funktioniert es nicht!
Könnte mir bitte jemand Schritt für Schritt erklären wie ich chroot mit libpam-chroot verwirklichen kann?
Will als Anfang nur die Möglichkeit haben der SSH in seinem Verzeichnis die Ordner durchsuche...den Rest kann man dann noch erweitern!
Vielen Dank für eure Hilfe!

Benutzeravatar
startx
Beiträge: 3165
Registriert: 07.12.2002 19:29:48
Wohnort: london

Beitrag von startx » 18.10.2007 16:10:37

ich verstehe dass so, dass du die user komplett trennen willst?
das wird niemals wirklich sicher hinhauen, linux ist fuer sowas von haus aus
nicht ausgelegt. (anders als z.b. jail mechanismus von freebsd)

wenn es dir darum geht dass user via ssh protokoll dateien hochladen koennen, dann benutzte
sowas wie scponlyc ( http://sublimation.org/scponly/wiki/index.php/Main_Page ) , wenn du wirklich
getrennten ssh zugriff haben willst ist vserver ein ansatz:

http://linux-vserver.org

maone
Beiträge: 39
Registriert: 05.12.2005 16:31:33

Beitrag von maone » 18.10.2007 16:15:18

Genau...die User sollen komplett getrennt sein!
Aber laut einigen Funden bei Google haut das hin mit dem libpam-chroot?!

Edit:
Also eigentlich geht es mir nur um SSH-Zugriff!
Am lokalen Server meldet sich eh niemand an von denen!
Sie sollen Befehle wie "cp, vi, mkdir, rm" usw verwenden können...aber nur in ihrem Bereich!
V-Server ist dafür glaub ich bissl übertrieben, oder?

Benutzeravatar
CrashMan
Beiträge: 340
Registriert: 07.04.2007 14:04:27
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: MD

Beitrag von CrashMan » 18.10.2007 19:32:30

nunja, Daten bearbeiten können die ja nur in ihrem Bereich.
Und wenn du dann noch die Nutzerrechte der home-verzeichnisse auf 700 änderst, können die Nutzer auch nicht gegenseitig in die Verzeichnisse.
debian stable + arch

maone
Beiträge: 39
Registriert: 05.12.2005 16:31:33

Beitrag von maone » 18.10.2007 23:09:51

Meinst du Standard-mäßig?`
Sie können aber durch su Root-Rechte erlangen!
Mit chroot ist sowas nicht möglich!

Benutzeravatar
DynaBlaster
Beiträge: 958
Registriert: 25.03.2004 18:18:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DF0://dynablaster.adf

Beitrag von DynaBlaster » 18.10.2007 23:45:55

Die Sache mit dem "su" verstehe ich nichtso ganz. Um mit "su" Root-Rechte zu erlangen, muss man schon das zugehörige Passwort kennen. Ohne Root-Passwort auch keine Root-Rechte. Ein Chroot macht nur Sinn, wenn du z.B. verhindern willst/musst, dass deine User auf Konfigurationsdateien in /etc oder /var/log (usw.) lesend zugreifen können. Standardmässig verändern können "normale" User aber nix.
Von daher: einfach das Root-Passwort nicht verraten und alles ist gut.

maone
Beiträge: 39
Registriert: 05.12.2005 16:31:33

Beitrag von maone » 19.10.2007 00:09:54

Ein Password kann man knacken...wenn man "su" nicht ausführen kann geht überhaupt nichts!
Ich will das kein User woanders zugreifen kann als auf seinen /home-Bereich...und dort soll er auch nur bestimmte Befehle verwenden können!

Benutzeravatar
startx
Beiträge: 3165
Registriert: 07.12.2002 19:29:48
Wohnort: london

Beitrag von startx » 19.10.2007 00:22:08

Von daher: einfach das Root-Passwort nicht verraten und alles ist gut.
nein, nichts ist leider gut. solange ssh nicht eingeschraenkt ist kannst du in der regel ne ganze menge
mitlesen, wenn auch nicht veraendern, z.b. die datein anderer user

Benutzeravatar
TRex
Moderator
Beiträge: 8368
Registriert: 23.11.2006 12:23:54
Wohnort: KA

Beitrag von TRex » 19.10.2007 00:24:11

Wenn du ein sicheres Passwort wie j8s8u%$5g()j9/&&gh~~+78 (Paranoia Modus) benutzt, knackt keiner das Passwort (zumindest nicht bis zur Einführung von Quantencomputern).
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

maone
Beiträge: 39
Registriert: 05.12.2005 16:31:33

Beitrag von maone » 19.10.2007 00:40:14

Ich will das es keine Möglichkeit gibt für den User als ein paar Befehle in seinem /home auszuführen!

Benutzeravatar
DynaBlaster
Beiträge: 958
Registriert: 25.03.2004 18:18:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DF0://dynablaster.adf

Beitrag von DynaBlaster » 19.10.2007 10:36:09

@maone

Ok, das kann ich durchaus nachvollziehen. Nach dieser Anleitung hier: http://www.howtoforge.com/chroot_ssh_sftp_debian_etch scheint es aber nicht zu reichen, einfach nur das Modul "libpam-chroot" zu installieren. So wie es aussieht, ist der Debian-Standard-SSHD ohne die Unterstützung für dieses Modul kompiliert worden. Deshalb wirst du wohl nicht umhinkommen, den SSH-Daemon selbst zu kompilieren ...

Jerdenfalls habe ich das so verstanden.

maone
Beiträge: 39
Registriert: 05.12.2005 16:31:33

Beitrag von maone » 19.10.2007 10:41:58

Über PAM kann man das Modul ja reinladen und es wird sofort nach der Anmeldung aktiv!

Benutzeravatar
DynaBlaster
Beiträge: 958
Registriert: 25.03.2004 18:18:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DF0://dynablaster.adf

Beitrag von DynaBlaster » 19.10.2007 11:55:59

Stimmt. Habe nach eigener Recherche auch herausgefunden, dass das Modul eigentlich reichen sollte: http://www.debian.org/doc/manuals/secur ... nv.de.html

Habe kein chroot im Einsatz, aber kannst du ausschließen, dass es sich um die im Howto beschriebene Rechteproblematik beim Aufruf von chroot durch den sshd handelt? Stolperfallen scheint es ja viele zu geben. Ich weiss, dass hilft dir jetzt nicht wirklich weiter, aber deine Fehlerbeschreibung ("geht nicht") ist auch ziemlich dürftig - du solltest das Problem näher eingrenzen, sonst stochern auch die Spezialisten hier im Forum ziemlich im Dunkeln ...

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Beitrag von ThorstenS » 19.10.2007 12:28:37

Ich mache das wie hier beschrieben und bin zufrieden damit.

Benutzeravatar
startx
Beiträge: 3165
Registriert: 07.12.2002 19:29:48
Wohnort: london

Beitrag von startx » 19.10.2007 12:45:13

Ich mache das wie hier beschrieben und bin zufrieden damit.
dafuer gibt es scponly (bzw scponlyc) und scpjailer bereits fix und fertig auch in debian. ;)

ich verstehe maone aber so dass er wesentlich mehr rechte an die user vergeben will als
scp/sftp (editoren etc). mir ist niemand bekannt der das nur mit chroot/ssh in einer produktionsumgehbung
einsetzt. alan cox hat erst kuerzlich nochmal vor der benutzung von chroot als sicherheitstool gewarnt.
( http://kerneltrap.org/Linux/Abusing_chroot )

genau aus diesem grund sind in den letzten jahren context-bezogene loesungen entstanden
wie linux-vserver, bei denen nicht nur sshd (und anderes) innerhalb einen verzeichnisbaums ausgefuehrt wird,
sondern in einem anderen context laeuft. ("Each partition is called a security context, and the virtualized system within it is the virtual private server. ")

maone
Beiträge: 39
Registriert: 05.12.2005 16:31:33

Beitrag von maone » 19.10.2007 12:47:56

Aber kann ich den VServer auch nur auf paar Befehle beschränken?
Ich verstehe unter VServer sowas wie eine VMWare-Maschine!

Benutzeravatar
startx
Beiträge: 3165
Registriert: 07.12.2002 19:29:48
Wohnort: london

Beitrag von startx » 19.10.2007 12:52:32

Ich verstehe unter VServer sowas wie eine VMWare-Maschine!
nein, ist es nicht.

http://en.wikipedia.org/wiki/Linux-VServer

was genau sollen deine user denn machen koennen?

maone
Beiträge: 39
Registriert: 05.12.2005 16:31:33

Beitrag von maone » 19.10.2007 13:13:55

Befehle wie "cp, mkdir, rm, ls, pw" und sie sollten php-Files ausführen können!
Auf dem Server wie er bis jetzt war musste ich für einen User einen DB-Dump per php-File eines Wikis per SSH durchführen, möchte das das alle selbst machen können wenn sie wollen!

Benutzeravatar
startx
Beiträge: 3165
Registriert: 07.12.2002 19:29:48
Wohnort: london

Beitrag von startx » 19.10.2007 13:47:33

Befehle wie "cp, mkdir, rm, ls, pw" und sie sollten php-Files ausführen können!
cp, mkdir, rm, ls, pwd gehen auch mit scponlyc.

gibt es fuer die dumps keine andere loesung, wie z.b. regemaessige dumps via cron script die sich die
user dann abholen koennen?

maone
Beiträge: 39
Registriert: 05.12.2005 16:31:33

Beitrag von maone » 19.10.2007 14:13:48

Dump war ja nur ein Beispiel!
Ich will dem User soviel Freiheit wie möglich geben...aber trotzdem alles absichern!
VServer werd ich mir mal näher ansehen!
Es wird sicher noch mehr nützliche Befehle geben, die ein User verwenden könnte oder?

Edit: mysql sollte auch per ssh bedienbar sein!

Benutzeravatar
ckoepp
Beiträge: 1409
Registriert: 11.06.2005 20:11:23
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nähe Heidelberg

Beitrag von ckoepp » 19.10.2007 14:55:42

Na dann mach es doch anders: alle User kommen in eine spezielle Gruppe und bekommen nur Zugriff auf /cuser und in diesem Verzeichnis liegen links zu den Programmen die sie brauchen /cuser/pwd -> /bin/pwd usw.
Ist etwas Arbeit, aber alles andere wäre ein "Overload" an Funktionen. Für die paar Grundbefehle reicht aber eh - wie gesagt - scp normal wirklich aus.

mysql kann man per SSH aber eben auch per Remote-Konsole nutzen ;)
Dazu brauchste keinen SSH Zugang...

Ich hoffe für dich du hast wirklich nen guten Grund für dein Vorgehen. Nur weils "cool" ist nen SSH-Zugang zu haben, den letztendlich eh keiner nutzt (...sei mal ehrlich, wer brauch das von den Standard-PHP-Usern schon?).

Und wenn PHP ins Spiel kommt wirds nicht einfacher, da solltest du eh den harden-Patch einspielen
"Es gibt kein Problem, das man nicht mit einem doppelten Scotch lösen könnte!"
Ernest Hemingway

maone
Beiträge: 39
Registriert: 05.12.2005 16:31:33

Beitrag von maone » 19.10.2007 15:41:17

Danke für eure Hilfe...ich glaub ich werde jetzt mal den Server so aufsetzen ohne SSH für jeden, und werde da zuerst einiges an einer VMWare-Maschine testen!

Antworten