Zum Inhalt springen
Home » Proxmox LXC: Privileged vs Unprivileged – Die unterschiede

Proxmox LXC: Privileged vs Unprivileged – Die unterschiede

Der Hypervisor Proxmox bietet neben der Klassischen VM Virtualisierung auch die sogenannten LXC Container an. LXC sind ähnlich wie Docker Container. Anstatt ein komplettes Betriebssystem zu Virtualisieren teilen sich LXC Container den Kernel mit dem Hypervisor. Das bringt vor aber auch Nachteile.

Es gibt zwei Haupttypen von LXC-Containern: privilegierte und unprivilegierte Container. Der Hauptunterschied zwischen diesen beiden Typen liegt in den Berechtigungen und der Sicherheit.

Die wesentlichen Unterschiede:

Privilegierte Container

  1. Benutzerrechte:
    • Privilegierte Container laufen unter dem Root-Benutzer des Hostsystems. Das bedeutet, dass der Root-Benutzer innerhalb des Containers auch Root-Rechte auf dem Host hat.
  2. Sicherheit:
    • Aufgrund der Tatsache, dass Root-Rechte des Containers auf das Host-System ausgedehnt werden können, stellen privilegierte Container ein höheres Sicherheitsrisiko dar. Ein Sicherheitsproblem im Container könnte potenziell das gesamte Host-System gefährden.
  3. Verwendung:
    • Werden häufig in sicherheitsunempfindlichen Umgebungen oder in Szenarien verwendet, in denen maximale Leistung und Kompatibilität erforderlich sind.
  4. Kompatibilität:
    • Privilegierte Container haben in der Regel weniger Kompatibilitätsprobleme, insbesondere mit älterer Software oder Software, die spezielle Systemrechte benötigt.

Unprivilegierte Container

  1. Benutzerrechte:
    • Unprivilegierte Container laufen unter einem normalen, nicht-privilegierten Benutzerkonto des Hostsystems. Innerhalb des Containers sieht es so aus, als hätte man Root-Rechte, aber diese Rechte sind auf den Container beschränkt und haben keine Auswirkungen auf das Host-System.
  2. Sicherheit:
    • Diese Container bieten eine höhere Sicherheit, da sie durch verschiedene Kernel-Features wie User Namespaces geschützt sind. Ein Exploit innerhalb des Containers kann nicht ohne weiteres Root-Rechte auf dem Host-System erlangen.
  3. Verwendung:
    • Sie sind ideal für Mehrbenutzerumgebungen und sicherheitsbewusste Szenarien, wo die Isolierung zwischen dem Container und dem Host von höchster Wichtigkeit ist.
  4. Kompatibilität:
    • Unprivilegierte Container können gelegentlich Kompatibilitätsprobleme mit Software haben, die spezielle Systemrechte benötigt. Diese Probleme können jedoch oft mit zusätzlichen Konfigurationen und Anpassungen gelöst werden.

Zusammenfassung

  • Privilegierte Container: Höhere Rechte, höhere Kompatibilität, aber auch höheres Sicherheitsrisiko.
  • Unprivilegierte Container: Eingeschränkte Rechte, höhere Sicherheit, potenziell mehr Kompatibilitätsprobleme.

Die Wahl zwischen privilegierten und unprivilegierten Containern hängt von den spezifischen Anforderungen der Umgebung und den Sicherheitsanforderungen ab. In sicherheitskritischen Umgebungen sind unprivilegierte Container oft die bessere Wahl, während in weniger sicherheitskritischen Szenarien oder für spezielle Anwendungsfälle privilegierte Container Vorteile bieten können.

So können z.B: NFS und CIFS Mounts innerhalb des Containers nur gemountet werden, wenn der Container Privilegiert ist.

Soll ich Privilegierte oder Unprivilegierte LXC Container verwenden?

Privilegierte Container sind ein bedeutend höheres Sicherheitsrisiko. Schafft es ein Angreifer in den LXC Containers ist es mit den root rechten recht einfach auch den Proxmox Host anzugreifen. Deswegen empfiehlt es sich generell nur Unprivilegierte LXC Container einzusetzen, das ist auch der Standard bei Proxmox.

In Ausnahmefällen kann es allerdings sinnvoll sein.

Mastodon