Linux Container (LXC) bietet eine Betriebssystem-Virtualisierung, die es ermöglicht, mehrere isolierte Linux-Systeme (Container) auf einem einzigen Host zu betreiben.
Obwohl LXC viele Vorteile bietet, zum Beispiel bei der Bereitstellung, dem Management und der Skalierung von Anwendungen, gibt es auch einige Sicherheitsbedenken, die berücksichtigt werden sollten:
1. Isolierung: Trotz der Nutzung von Kernel-Namespaces und Control Groups (cgroups) ist die Isolation zwischen den Containern und vom Hostsystem nicht so stark wie bei hardwaregestützten Virtualisierungslösungen (z.B. KVM, Xen).
2. Kernel-Schwachstellen: Da alle Container den gleichen Kernel verwenden, kann eine Kernel-Schwachstelle, die in einem Container ausgenutzt wird, alle anderen Container auf demselben Host betreffen.
3. Ressourcenbegrenzungen: Wenn Ressourcenbegrenzungen nicht korrekt konfiguriert sind, könnte ein Container mehr als seinen gerechten Anteil an Systemressourcen verbrauchen und damit die Leistung anderer Container beeinträchtigen.
4. Rechteerweiterung: Ein Benutzer mit root-Zugriff in einem Container könnte potenziell root-Zugriff auf den Host erlangen, wenn die Container-Konfiguration nicht korrekt ist.
5. Verwendung von veralteter oder ungepatchter Software: Container tendieren dazu, Software und Bibliotheken zu bundeln, die benötigt werden, um eine Anwendung zu betreiben. Wenn diese Komponenten veraltet oder ungepatcht sind, können sie Sicherheitsrisiken darstellen.
6. Netzwerk: In der standardmäßigen Netzwerkkonfiguration können Container untereinander kommunizieren, was ein Risiko darstellen kann, wenn ein Container kompromittiert ist.
Es besteht die Möglichkeit, diese Risiken zu minimieren, indem man Sicherheitseinstellungen wie Seccomp, AppArmor oder SELinux verwendet, Container mit unprivilegierten Benutzern ausführt, Images von vertrauenswürdigen Quellen verwendet und regelmäßige Updates durchführt.