SSH & chroot
SSH & chroot
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!
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!
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
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
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?
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?
- DynaBlaster
- Beiträge: 958
- Registriert: 25.03.2004 18:18:57
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: DF0://dynablaster.adf
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.
Von daher: einfach das Root-Passwort nicht verraten und alles ist gut.
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 nicht • Don't break debian! • Wie man widerspricht
Windows ist doof, Linux funktioniert nicht • Don't break debian! • Wie man widerspricht
- DynaBlaster
- Beiträge: 958
- Registriert: 25.03.2004 18:18:57
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: DF0://dynablaster.adf
@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.
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.
- DynaBlaster
- Beiträge: 958
- Registriert: 25.03.2004 18:18:57
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: DF0://dynablaster.adf
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 ...
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 ...
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 mache das wie hier beschrieben und bin zufrieden damit.
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. ")
nein, ist es nicht.Ich verstehe unter VServer sowas wie eine VMWare-Maschine!
http://en.wikipedia.org/wiki/Linux-VServer
was genau sollen deine user denn machen koennen?
- ckoepp
- Beiträge: 1409
- Registriert: 11.06.2005 20:11:23
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Nähe Heidelberg
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
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
Ernest Hemingway