Re: Frage zu UPDATING portupgrade (20070301)

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Tue, 13 Mar 2007 19:08:14 +0100 (CET)

Dieter Deinert wrote:
> Ps. Jail ist für mich Neuland. Gibt es eine einfache Quelle als
> Anleitung in "germisch"

Es gibt die jail(8) Manpage, wo eigentlich schon eine ganze
Menge drinsteht. Ein Handbook-Kapitel gibt es zu dem Thema
auch, AFAIK.

Prinzipiell ist ein jail sowas ähnliches wie ein chroot,
nur mit einer noch stärkeren Abschottung zur Aussenwelt.

Du legst irgendwo in einem Unterverzeichnis ein komplettes
FreeBSD-Basis-System an (OK, komplett muss es nicht sein,
aber alles enthalten, was man braucht), z.B. unter
/usr/meinjail. Dann mountest Du unter /usr/meinjail/dev
noch devfs, und dann kannst Du mit folgendem Kommando
eine Shell in dem jail starten:

jail /usr/meinjail mein.hostname meine.ip /bin/sh

Für »mein.hostname« kannst Du einen beliebigen Hostname und
für »meine.ip« eine beliebige IP-Adresse nehmen. Falls in
dem Jail Netzwerkzugriff funktionieren soll, sollten der
Name und die IP natürlich tatsächlich existieren.

Für die Shell in dem dem Jail (und alle ihre Children) gilt
dann:

 - /usr/meinjail ist die Wurzel des Dateisystems (wie bei
   chroot). Dateien, die sich außerhalb befinden, können
   nicht zugegriffen werden, es sei denn, sie werden in
   das Jail hineingemountet oder gelinkt (nur Hardlinks;
   Symlinks können aus einem Jail nicht herausführen).

 - Alle Netzwerk-Sockets werden zwangsweise auf die IP-
   Adresse des Jails gebunden. Raw-IP-Sockets dürfen
   per default nicht geöffnet werden, was dazu führt,
   dass ping und traceroute in einem Jail nicht funktio-
   nieren.

 - Man kann nur solche Prozesse sehen, die sich im selben
   Jail befinden.

 - Auch für viele andere Resourcen gelten entsprechende
   Einschränkungen.

 - Es gibt eine Reihe von sysctls, mit denen man diverse
   Dinge in Jails erlauben oder verbieten kann (siehe
   Details in der Manpage).

Erwähnen sollte man noch das Kommando jls(8), das alle
momentan existierenden Jails auflistet, und jexec(8),
mit dem man in ein existierendes Jail einen weiteren
Prozess »hineinpflanzen« kann.

Ausserdem habe ich ein Skript geschrieben, das recht
schön alle Jail-Prozesse auflistet:
http://www.secnetix.de/~olli/scripts/jps

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
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Tue 13 Mar 2007 - 19:09:29 CET

search this site