Re: User einsperren ohne jail

From: Marc Santhoff <M.Santhoff(at)web.de>
Date: Sat, 13 Feb 2010 00:43:40 +0100

Am Freitag, den 12.02.2010, 15:10 +0100 schrieb Oliver Fromme:
> Hi,
>
> Keine fertige Lösung, aber ein paar Kommentare von mir ...
>
> 1. Wenn Du ein Chroot aufsetzt, kannst Du auch ebensogut
> ein Jail aufsetzen. Der initiale Aufwand ist praktisch
> der gleiche, aber das Jail ist erheblich sicherer, und
> es ist leichter zu managen. Zum Beispiel listet Dir jls(8)
> alle Jails auf, und in ps(1) kannst Du sofort die Prozesse
> zuordnen, die in den Jails laufen (Status "J"). Mit einem
> einfachen Chroot geht das alles nicht.

Ist mir mittlerweile auch viel symphatischer ...

> 2. Einen X-Server kann man allerdings nicht in einem Jail
> starten, da er direkt auf die Graphik-Hardware zugreift
> (leider). Wenn ein X-Server benötigt wird, muss er außer-
> halb des Jails gestartet werden.

... bis hierhin. Grmpf. Der ist zwingend nötig.

Dann müßte also außerhalb des Jails ein XServer laufen und mit xhost
erlaubt werden, daß das bzw. die betreffenden Jails sich da anschließen.
Da das Programm des Benutzers aber im Jail laufen soll ist hier schon
wieder Ende.

> 3. Wie kommen die Benutzer beim Einloggen in das Jail
> hinein? Ganz einfach: Lass einen sshd(8) im Jail laufen.
> So mache ich das grundsätzlich. Wenn sich jemand am sshd
> anmeldet, landet er automatisch im Jail. Da muss man
> nicht mit irgendwelchen Shell-Profiles herumtricksen, was
> sich unter Umständen aushebeln lässt (der Teufel steckt
> da im Detail), und die Benutzer können sich sogar ihre
> Shell aussuchen, wenn sie wollen.

Hier würde der User eher direkt vor dem Rechner sitzen.

> 4. Einschränkung von Binaries: Auch ganz einfach. Du
> installierst in dem Jail (bzw. Chroot) einfach nur die
> Binaries, die Du erlauben willst. Alles andere lässt
> Du weg. Was nicht vorhanden ist, kann nicht ausgeführt
> werden.

Mir ist nicht klar wie ich das mit einem extern laufenden X-Server
zusammenbringe.

> 5. Allerdings: Es wird schwierig, zu verhindern, dass
> der Benutzer einfach irgendwelche Executales auf den
> Rechner kopiert, herunterlädt oder sonstwie installiert.
> Die Mount-Option noexec wird zwar gerne in diesem Kontext
> genannt, aber sie ist eigentlich nicht für solche Fälle
> gedacht und mit Vorsicht zu genießen.

Noch ein Problem mehr.

Erstmal danke für die AUfschlußreichen Hinweise. Zusammenfassend bin ich
an dem Punkt, wo ich dazu tendiere mir die ganze Arbeit zu sparen und
diese Anwendung auf ein extra dafür bereitgestelltes [Net|Note]book zu
verlagern. Damit ist wirklich Ruhe im Karton, denn alles
Schutzbedürftige existiert auf dem Rechner einfach nicht und ich kann
wie bei einem Embedded-System wirklich nur das Nötigste installieren.
Wenn's dann einer kaputtmacht wird sofort das Backup zurückgenudelt und
gut. Die Datenänderung nach einer Sitzung muß natürlich irgendwo extern
verhaftet werden.
Spart insgesamt viel Streß und Nerven und kostet nicht allzuviel.

Vielen Dank, auch allen anderen Ratgebern!

-- 
Marc Santhoff <M.Santhoff(at)web.de>
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Sat 13 Feb 2010 - 00:43:42 CET

search this site