staging.inyokaproject.org

SSH/SFTP-Zugang auf Homeverzeichnis beschränken?

Status: Gelöst | Ubuntu-Version: Ubuntu
Antworten |

Merlin69

Anmeldungsdatum:
27. Oktober 2006

Beiträge: Zähle...

N'abend,

habe gerade mit einem Freund meinen SSH/SFTP-Zugang getestet.
Der Zugang als solches funktioniert tadellos. Leider "kann" der eingeloggte User zuviel.
Mein Freund konnte sich ungehindert durch die Verzeichnisse bewegen; ich glaube, sogar Dateien löschen.

Durch ein

ps -ef | grep -i ftp

habe ich gesehen, dass dort ein "sftp-server läuft, der (laut man-page) nicht direkt gerufen wird, sondern über sshd.
Dieser Dienst hat einen Konfig: /etc/ssh/sshd_config

Frage: Wie mache ich den Zugang so sicher, dass sich ein User nur in einem (vorgegebenen) Verzeichnis bewegen darf.

Ich habe einen neuen User eingerichtet (der LoginUser sein soll) und der ein Home-Verzeichnis hat.
Wenn sich jetzt jemand mit dieser Kennung einwählt, soll er sich nur in diesem Verzeichnis austoben können.
Eigentlich sollte dieser Zugang nur einen SFTP-Zugang sein. EIne Konsole sollte der User nicht haben.

Wie muss ich konfigurieren ?

Danke für eure Hilfe.

M.

Moderiert von Chrissss:

Reißerischen Titel entschäft...

Kopfgeldjaeger

Anmeldungsdatum:
24. Dezember 2006

Beiträge: 1168

naja, klaro kann der User alles machen in seinem Homeverzeichnis und wenn er in der Gruppe admin is auch ganz pöse Dinge anstellen.
Ich habe mir einen Extrauser für SSH eingerichtet und diesen aus der Gruppe admin entfernt. Der kann jetzt zwar das meiste lesen, aber sudo usw. funktioniert natürlich nicht.

Wegen dem "Sieht zuviel"-Problem habe ich glaub ich hier in der Wiki was gesehen, was ich inzwischen aber nimmer finde.

mfg

ranf

Anmeldungsdatum:
3. Dezember 2005

Beiträge: 580

Eventuell irgendwas mit chroot?

Kopfgeldjaeger

Anmeldungsdatum:
24. Dezember 2006

Beiträge: 1168

Äh... Jein... Chroot ist für das nicht gedacht. Aber natürlich musst du irgendwie dem Benutzer nen anderes Rootverzeichnis vorgeben...

mfg

haraldkl

Avatar von haraldkl

Anmeldungsdatum:
21. Juli 2005

Beiträge: 1903

Hier ein Link der dir weiterhelfen sollte:
http://hp.kairaven.de/scpsftp/ssh-rssh-sftp.html

otzenpunk Team-Icon

Avatar von otzenpunk

Anmeldungsdatum:
17. Oktober 2005

Beiträge: 8691

haraldkl hat geschrieben:

Hier ein Link der dir weiterhelfen sollte:
http://hp.kairaven.de/scpsftp/ssh-rssh-sftp.html

Das dort beschriebene Paket scponly ist in den Ubuntu-Repos enthalten und beinhaltet auch das Programm scponlyc.

Was ich aber nicht nachvollziehen kann, ist folgender Abschnitt:

Bei der zweiten Methode, die unten dargestellt wird, liegt die authorized_keys Datei im /chroothome/user/.ssh/ Verzeichnis. Praktischer ist es, zentral eine authorized_keys Datei außerhalb der chroot Heimatverzeichnisse zu pflegen. Dazu legt man z. B. in /etc/pki/ das Unterverzeichnis .ssh an und speichert dann die authorized_keys in /etc/pki/.ssh/. In der sshd_config des SSH-Servers passt man dann die entsprechende Option an:

AuthorizedKeysFile /etc/pki/.ssh/authorized_keys

Nach meinem Verständnis ermöglicht das jedem, der einen Schlüssel besitzt, sich als beliebiger Benutzer zu authentifizieren. Das möchte ich auf meinen Systemen lieber doch nicht so implementieren. Ich sehe aber keinen Grund, warum scponly nicht auch mit normalen benutzerspezifischen Keys funktionieren sollte.

Merlin69

(Themenstarter)

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 82

Hallo,

und danke für die bisherigen Antworten.

Ich habe auch extra einen User eingerichtet (mit User-ID 999, damit er mir bei X-Login nicht angezeigt wird).
Dieser User ist in der Hauptgruppe "ssh" (ist das falsch ?),
seine "Befehlszeile" ist dei Bash (weil er sich ansonsten überhaupt nicht einloggen kann, oder ?).
Lieber wäre mir an dieser Stelle "false" zu schreiben, aber dann funktioniert das Login nicht, stimmts ?

Was muss ich aber anstellen, damit ein "cd .." aus dem angegebenen Verzeichnis "/home/user" unmöglich wird ?

Gruss

M.

Chrissss Team-Icon

Anmeldungsdatum:
31. August 2005

Beiträge: 37971

Im scponly Paket ist das Script

/usr/share/doc/scponly/setup_chroot/setup_chroot.sh.gz

enthalten. Damit soll es möglich sein Benutzer anzulegen, die in ein chroot gepackt werden. Allerdings klappt die Sache in meinen Augen nicht. Die wahrscheinlich beste Möglichkeit ist libpam-chroot siehe

http://www.debian.org/doc/manuals/securing-debian-howto/ap-chroot-ssh-env.en.html

Habs wirklich nur schnell probiert und hatte jedoch auf keinen Erfolg. Aber es sieht für mich besser aus.

Tschuess
Christoph

Manu

Anmeldungsdatum:
15. November 2004

Beiträge: 450

Ich arbeite mit einer etwas abgewandelten Methode dieser Möglichkeit: chroot Der User landet dabei bei jeder Loginmöglichkeit im Chroot - also auch bei einem lokalen Login, was aber wohl eher gewünscht als lästig ist.
Funktioniert prächtig. Ich habe bei mir u.a. noch dahingehend Änderungen vorgenommen, dass es eine chroot-Umgebung gibt, in welche alle chroot-User kommen; also nicht pro User eine eigene Umgebung.

Merlin69

(Themenstarter)

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 82

Hallo zusammen,

habe mir das Ganze nochmal durch den Kopf gehen lassen und bin zu dem Schluss gekommen,
dass "SSH und chroot" für mich zu kompliziert sind.

Habe jetzt "vsftp" aufgesetzt und einen prima Thread im WWW gefunden,
wie man eine "komfortable" chroot-Umgebung einrichten kann.

Der Link: http://www.linuxforen.de/forums/showthread.php?t=228448 (ziemlich am Ende)

Danke für Eure Ratschläge.

M.

Antworten |