Re: User einsperren ohne jail

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Fri, 12 Feb 2010 15:10:16 +0100 (CET)

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.

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.

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.

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.

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.

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart
FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd
"[...]  one observation we can make here is that Python makes
an excellent pseudocoding language, with the wonderful attribute
that it can actually be executed."  --  Bruce Eckel
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 12 Feb 2010 - 15:10:38 CET

search this site