Obwohl Linux als freie Software kostenlos verfügbar ist, setzen viele beim Unternehmenseinsatz auf Enterprise-Distributionen mit Support. Wo die Stärken der ... (mehr)

Jails, vereinfacht

Eine alternative und deutlich einfachere Möglichkeit Jails auf einem Host zu erstellen, geschieht mit der Skript-Sammlung »ezjail« . Sie befindet sich in den Ports in der Rubrik »sysutils« und lässt sich mit »portinstall« oder »pkg_add -r« schnell installieren. Die folgenden Schritte sind als Root-User auszuführen. Im ersten Schritt erstellt man eine Basis-Jail, die als Schablone für alle weiteren Jails dient. Dazu dient das Kommando

# ezjail-admin update -pP

Dieser Prozess dauert je nach Leistung des System etwa zwei bis fünf Stunden, da durch das Ausführen von »make world« alles neu kompiliert wird. Mit dem Parameter »-i« anstelle von »-pP« lässt sich diese Prozedur umgehen, da dann nur noch »make installworld« ausgeführt wird. Für die weiteren Schritte gilt wieder, dass der Unterschied zwischen internen und Routing-fähigen Jails nur in der Vergabe der IP-Adresse besteht.

Der folgende Schritt erzeugt eine Jail:

# ezjail-admin create <I>Jail-Name IP-Adresse<I>

Wie oben beschrieben, sind in »/etc/rc.conf« die entsprechenden Parameter für das Netzwerkinterface und die Jails einzutragen. Sie unterscheiden sich übrigens nicht. Zusätzlich ist diese Zeile einzutragen:

# Jails mit ezjail starten
ezjail_enable="YES"

Jetzt lassen sich die Jails mit »/usr/local/etc/rc.d/ezjail.sh start« starten. Alternativ bietet sich sich an: »ezjail-admin start« .

Der Aktualisierungsprozess gerät mithilfe von »ezjail« zum Kinderspiel. Ein einfacher Aufruf von »ezjail-admin update -i« genügt und die Jail wird auf den neuesten Stand gebracht. Die Anwendungen innerhalb der Jail müssen allerdings in einem weiteren Schritt aktualisiert werden. Wie der geübte Administrator schnell erkennt, bedeutet die Skript-Sammlung »ezjail« eine enorme Arbeitserleichterung. Man muss nicht mehr die einzelnen »make« -Befehle eingeben und ausführen lassen.

Viele Dienste, eine Jail

Wie bereits beschrieben, dient eine Jail unter anderem zur Absicherung des Hosts vor Hacking-Angriffen auf bestimmte Dienste. Bekannteste Beispiele sind der DNS-Dienst »bind« und der Webserver. Bei allen Diensten kommt es darauf an, dass sie immer nur an die IP-Adresse der Jail gebunden werden. Das nächste Beispiel installiert den DNS-Dienst »bind« in einer Jail. Für kleine Netzwerke muss man nicht unbedingt einen eigenen Rechner für »bind« vorsehen, da genügt eine Jail auf dem zentralen FreeBSD-Server vollkommen. Aber Primary- und Secondary-DNS sollte man niemals jeweils in einer Jail auf einem Hostsystem laufen lassen. Würde das Hostsystem ausfallen, wären weder der Primary- noch der Secondary-DNS erreichbar. In der Konfigurationsdatei von »bind« genügt folgender Eintrag:

listen-on port 53 {
  IP-Adresse der Jail;
};

Weiterhin muss die Datei »/etc/resolv.conf« auf jedem Rechner – einschließlich des Hostsystems! – im Netzwerk angepasst werden.

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2021