Container: Dynamische Vorlagen für FreeBSD-Jails mit Bastille
Mit Bastille lassen sich FreeBSD-Jails automatisch erzeugen, bereitstellen und verwalten. Version 0.8 bringt viele Verbesserungen für die Vorlagen.
- Michael Plura
Bastille ist in Version 0.8 erschienen. Das Tool automatisiert und verwaltet Jails unter FreeBSD, also Betriebssystem- und Anwendungscontainer. Eine mit Bastille bereitgestellte Instanz einer FreeBSD-Jail mit dem vollen Befehlsumfang des Basissystems benötigt nur rund 10 bis 12 MByte Platz auf dem Datenträger.
Verbesserte und dynamische Templates
Der Versionssprung bringt einige Neuerungen und Verbesserungen mit sich. Die Bastille-Vorlagen (templates) laufen nun vollständig nativ. Jedes Jail beziehungsweise jeder Container basiert automatisch auf einer selbsterklärenden Vorlage: base, empty, thick, thin und vnet. Neu ist auch, dass sich die Vorlagen dynamisch beispielsweise über $JAIL_NAME
oder $JAIL_IP
individuell parametrisieren lassen.
Beim Update von Version 0.7 auf 0.8 ist zu beachten, dass sich die Syntax in den Konfigurationsdateien leicht geändert hat und Nutzer ihre vorhandene Vorlagen per bastille template --convert ...
anpassen müssen. Die Vorlagen oder Templates lassen sich ebenfalls individuell erstellen oder vom öffentlich GitLab-Verzeichnis herunterladen.
FreeBSD 13 mit an Bord
Neben dem aktuellen und älteren FreeBSD-Versionen kann Bastille 0.8 auch das in Entwicklung befindliche FreeBSD 13-CURRENT bereitstellen. Wie üblich ist dabei zu beachten, dass die FreeBSD-Version des Hosts nicht älter sein darf als die des Jails. Auf 64-Bit-Hosts lassen sich 32-Bit-Jails erzeugen und starten, der umgekehrte Weg ist nicht möglich.
Mit bastille config <jail> get|set <Schlüsselwort> <Wert>
können Nutzer ab Version 0.8 einzelne Werte in der Konfigurationdatei (/usr/local/bastille/jails/<jail>/jail.conf) über Skripte auslesen oder setzen. Ein ALL
als Jail-Name wendet die Aktion auf alle Jails an.
Entwickelt wurde die Software von Christer Edwards, der zuvor am mittlerweile von VMware übernommenen SaltStack beteiligt war und es als Maintainer betreut hat. Aus dem ebenfalls von ihm mitentworfenen HubbleStack, an das sich SaltStack SecOps anlehnt, übernahm er Teile der Sicherheitsmechanismen für Bastille. Bastille steht unter der freien BSD-3-Clause-Lizenz, hat keine Abhängigkeiten (25 KByte Download via pkg install bastille
) und ist für alle unterstützten Plattformen von amd64, i386, sparc64, powerpc64 bis hin zu aarch64 (Raspberry Pi 3/4) erhältlich.
Siehe dazu auch:
- Konfigurationsmanagement: Open-Source-Tools fürs Konfigurationsmanagement; iX 1/2021, S. 96.
(fo)