Re: Jail Konzept

From: Gistolero <gistolero(at)GMX.de>
Date: Sat, 08 Feb 2003 17:09:18 +0100

[...]

>Also ich habe mir ein ~/bin/sysupdate script erstellt, dass nach einem
>make buildworld die benötigten Dateien in die Jails installiert. Dadurch
>sind die Jail-Binaries vom System unabhängig. Kann man sehen, wie man
>will, aber ich denke, die "Verschwendung" von 200K auf einer 40G Platte
>ist echt vernachlässigbar.

Dann hast Du weiterhin das Problem, dass Du bei jeder neuen Jail anfaengst,
die Lib Abhaengigkeiten zu verfolgen. Diese Arbeit kann je nachdem welchen
Dienst Du installierts recht umfangreich werden. Bei dem heimischen Rechner
hat man die Zeit und die Geduld fuer sowas. In einem produktiven Umfeld,
muss alles immer moeglichst von jetzt auf gleich laufen und ich habe die
Erfahrung gemacht, dass dann eben auf eine sichere Umgebung zugunsten der
schnellen Umsetzung verzichtet wird.

Alternativ kannst Du natuerlich ein komplettes System in jedes Jail
installieren. Aber ich frage mich wirklich, warum ich jedes Binary x-fach
auf einem System installieren muss, wenn es auch anders geht. Wenn ich die
entsprechenden Verzeichnisse aus dem System heraus in alle Jails mounte,
bin ich mir hundert prozentig sicher, dass ich ueberall die gleiche
Umgebung habe.

[...]

>>4.) Da FreeBSD alle Ports in /usr/local installiert, muss nur noch dieses
>>Verzeichnis mittels NFS read-write "drueber" gemountet werden:
>>mkdir -p /jail/nfs/test/usr/local
>>mount -t nfs 127.0.0.1:/jail/nfs/test/usr/local
>>/jail/jails/test/usr/local
>>Waehrend der Installation von Ports muss das Ports Verzeichnis natuerlich
>>auch RW gemountet werden. Anschliessend kann die Jail Umgebung gestartet
>>und die benoetigten Ports installiert werden.
>
>env WRKDIRPREFIX=/var/tmp make install clean
>sollte dem RW-Mount Bedürfnis Abhilfe schaffen können. Ich erlaube
>generell keine RW-Mounts über NFS für Jails.
>
>Im Zweifel kann entweder das DISTFILES-Verzeichnis noch umgesetzt werden
>oder aber auf dem Host ein 'make fetch-recursive' ausgeführt werden.

Natuerlich wird es im wirklichen Betrieb nicht RW gemountet. Dient nur zum
Installieren, dann fliegt RW wieder raus.

[...]

>>Nachteile dieses Verfahrens:
>>- Ein Angreifer, dem es gelingt in ein Jail einzudringen, hat alle
>>Binaries des Systems zur Verfuegung. Das schoene an Jails gegenueber dem
>>Chroot-Konzept ist aber ja gerade, dass alle gefaehrlichen Programme auch
>>fuer Root nicht nutzbar sind.
>
>Doch, aber root im Jail != root auf dem Host, weil 2 Umgebungen.

Wieso "Doch"? In einer Jail kannst Du nicht mal einen Ping ausfuehren.

>>- Da permanent NFS Zugriffe erfolgen, benoetigt man ein entsprechend
>>performantes System. Da es aber heutzutage sehr potente Rechner in jedem
>>Discounter zu Spottpreisen gibt, sollte das kein wirkliches Problem sein.
>
>Ich versteh' immernoch nicht, warum NFS? Ein 'mount -r /dev/bladde
>/var/jailx/' reicht doch, oder?

Bei Deinem Konzept schon. Mir geht es darum die bereits vorhandenen
Binaries des Systems innerhalb der Jails zu verwenden. Die /-Platte kann
man nicht an zwei verschiedenen Stellen mounten.

>Für's Update macht man dann ein 'mount -u -w /var/jailx', updated und dann
>wieder '-r'.
>
>>Vorteile des Verfahrens:
>>- Die Einrichtung von Jails beschraenkt sich auf das Anpassen eines
>>Skripts und die Installation der benoetigten Ports. Es muessen keine
>>Lib-Abhaengigkeiten etc. verfolgt werden.
>>- Updates werden wesentlich einfacher. Wenn man z.B. von einem veralteten
>>Release auf ein neues upgraden moechte, beendet man alle Jails und
>>startet anschliessend "make world". Damit hat man sowohl alle System-,
>>als auch alle Jail-Binaries aktualisiert. Anschliessend muss man nur noch
>>die Ports in den Jails updaten.
>Und hat eine Downtime von 30-60 min.

Wenn es wirklich wichtig ist eine Downtime von unter 5 Minuten zu erzielen,
beende ich ein Jail und erstellte mit rsync eine identische Umgebung. Das
geht super schnell, da bei dem vorgeschlagenen Konzept ja nur die wenigen
Dateien und Verzeichnisse der installierten Ports im jeweiligen Jail
vorhanden sind. Anschliessend Jail wieder hochfahren und sich jede Menge
Zeit mit dem Update der gespiegelten Umgebung lassen...

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Sat 08 Feb 2003 - 17:10:04 CET

search this site