Containervirtualisierung in Linux: So funktioniert lxc

Auf den ersten Blick scheint es, dass man mit der Anleitung auf der vorherigen Seite einen Container erzeugt hat, aus dem auch der Nutzer root nicht ausbrechen kann. Die recht einfache Konfigurationsdatei kann jedoch nur als Ausgangspunkt verwendet werden, um einen funktionierenden Container zu erzeugen.

Je nachdem welche Sicherheitsanforderungen bestehen, muss der Zugang zu physischen Devices, etwa /dev/sda oder /dev/kmem, verboten werden. Ansonsten kann der Superuser des Containers auf die gesamte Festplatte oder den physischen Hauptspeicher zugreifen.

Generell ist es sinnvoll, den Zugriff auf alle Devices zu verbieten und nur diejenigen zu erlauben, auf die der Container unbedingt zugreifen muss. Das lässt sich erreichen, indem man beispielsweise folgende Zeilen in die Config-Datei hinzufügt, die sich nach dem Erstellen des Containers mit lxc-create in /var/lib/lxc/<containername> befindet.

lxc.cgroup.devices.deny = a
# /dev/null and zero
lxc.cgroup.devices.allow = c 1:3 rwm
lxc.cgroup.devices.allow = c 1:5 rwm
# consoles
lxc.cgroup.devices.allow = c 5:1 rwm
lxc.cgroup.devices.allow = c 5:0 rwm
lxc.cgroup.devices.allow = c 4:0 rwm
lxc.cgroup.devices.allow = c 4:1 rwm
# /dev/{,u}random
lxc.cgroup.devices.allow = c 1:9 rwm
lxc.cgroup.devices.allow = c 1:8 rwm

Ferner sollte man dem Container alle Capabilities entziehen, die er nicht benötigt. Dazu gehören typischerweise das Laden von Kernelmodulen, die Erstellung eigener Devices (mknod) und das Ändern der MAC-Adresse des zugewiesenen Adapters. Das erreicht man durch Hinzufügen folgender Zeilen:

lxc.cap.drop = sys_module
lxc.cap.drop = mknod
lxc.cap.drop = mac_override

Diese Beispiele sind keine Anleitung für die sichere Konfiguration eines Containers. Dazu muss immer abgewogen werden, wer sich im Container als root anmelden darf und welche Aufgaben der Container übernehmen soll. Wer Containervirtualisierung mittels lxc im Produktivbetrieb einsetzen möchte, kommt nicht umhin, die Dokumentation auf sourceforge.net komplett zu durchzuarbeiten.

Themenseiten: Linux, Open Source, Plattform, Server, Servers, Software, Storage, Storage & Server, Virtualisation, Virtualisierung

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Containervirtualisierung in Linux: So funktioniert lxc

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *