Die Community der Linux-Container hat die Veröffentlichung des Tools zur Organisation von isolierten LXC-Containern 7.0 bekannt gegeben, das ein Runtime bereitstellt, das sowohl für die Ausführung von Containern mit vollständiger Systemumgebung, die Virtuellen Maschinen ähnlich sind, als auch für die Ausführung unprivilegierter Container von Einzelanwendungen (OCI) geeignet ist. LXC gehört zu den Low-Level-Tools, die auf der Ebene einzelner Container arbeiten. Für die zentrale Verwaltung von in einem Cluster mehrerer Server bereitgestellten Containern werden die Systeme Incus und LXD auf Basis von LXC entwickelt. Der Branch LXC 7.0 gehört zu den Releases mit langfristiger Unterstützung, deren Updates über einen Zeitraum von 5 Jahren bereitgestellt werden (bis 2031). Der LXC-Code ist in C geschrieben und wird unter der GPLv2-Lizenz vertrieben.
Die LXC-Komponente umfasst die Bibliothek liblxc, eine Sammlung von Dienstprogrammen (lxc-create, lxc-start, lxc-stop, lxc-ls usw.), Vorlagen für den Aufbau von Containern und eine Reihe von Bindings für verschiedene Programmiersprachen. Die Isolierung erfolgt durch die integrierten Mechanismen des Linux-Kernels. Für die Isolierung von Prozessen, Netzwerkstacks, IPC, UTS, Benutzer-IDs und Mount-Punkten wird der Mechanismus der Namespaces verwendet. Zur Ressourcenkontrolle kommen cgroups zum Einsatz. Zur Herabsetzung von Berechtigungen und zur Zugangsbeschränkung wurden Kernelfunktionen wie Apparmor- und SELinux-Profile, Seccomp-Richtlinien, Chroots (pivot_root) und capabilities genutzt.
Hauptänderungen:
- Die Isolierung des Überwachungsprozesses wurde durch den Landlock-Mechanismus implementiert, der unprivilegierten Programmen ermöglicht, unnötige Privilegien, die für den Betrieb nicht erforderlich sind, abzubauen und damit ihren weiteren Zugang zum System zu beschränken, um die Sicherheit zu erhöhen. Landlock wird verwendet, um die API-Überwachungs-handler auf die Möglichkeit zu beschränken, nur mit dem Container zu arbeiten, und den Zugriff auf Dateien außerhalb dessen zu verbieten. Der Schutz wird beim Erstellen des landlock-monitors angewendet.
- Die Konfiguration der Handler (Hooks) und der Container (Runtime) wurde getrennt. Neue Einstellungen lxc.environment.hooks und lxc.environment.runtime wurden hinzugefügt, mit denen Umgebungsvariablen selektiv nur für Container gesetzt werden können, ohne sie an die Hooks-Handler weiterzugeben, und umgekehrt.
- Die Unterstützung für cgroup v1 sowie für Linux-Kernel, die PIDFD und die neue API zur Verwaltung von Montagepunkten nicht unterstützen, wurde eingestellt.
- Eine Sicherheitsanfälligkeit (CVE-2026-39402), die eine Umgehung der Authentifizierung und das Löschen von OVS-Ports (OpenVswitch) durch Manipulation des Befehls 'lxc-user-nic delete' ermöglicht, wurde behoben. Diese Sicherheitsanfälligkeit erlaubt es einem unprivilegierten Benutzer, Netzwerkschnittstellen für Container, die von anderen Benutzern gestartet wurden, zu deaktivieren.
Außerdem hat Canonical eine neue Version des Containerverwaltungssystems LXD 6.8 veröffentlicht. LXD bietet Werkzeuge zur zentralen Verwaltung von Containern und virtuellen Maschinen, die sowohl auf einem einzelnen Host als auch in einem Cluster aus mehreren Hosts bereitgestellt werden. Server. Das Projekt wurde als Hintergrundprozess umgesetzt, der Anfragen über das Netzwerk über die REST API entgegennimmt und verschiedene Backend-Speicher unterstützt (Verzeichnisbaum, ZFS, Btrfs, LVM), mit Snapshots zur Erfassung des Zustands, Live-Migration von laufenden Containern von einer Maschine auf eine andere und Mitteln zur Speicherung von Container-Images. Zur Ausführung von Containern wird das LXC-Toolset verwendet.
Zu den Änderungen in LXD 6.8:
- Es wurde eine Funktion zur Verlinkung von Clustern (Cluster links) hinzugefügt, die eine geschützte und authentifizierte Interaktion zwischen verschiedenen LXD-Clustern ermöglicht. TLS-Zertifikate Zur Verwaltung der Verlinkung wurde der Befehl „lxc cluster link“ hinzugefügt und ein entsprechender Abschnitt im Web-Interface realisiert.

- Eine neue Rolle für Cluster-Knoten – „control-plane“ – wurde hinzugefügt, mit der Knoten hervorgehoben werden können, die am Konsens von Raft beteiligt sind und als Backup- oder Master-Knoten für die Datenbank fungieren können.
- Replikatoren wurden implementiert, die die API von Cluster links für die Replikation von Inhalten der Knoten in andere LXD-Cluster nutzen, um Ausfallsicherheit zu gewährleisten.
- Die Unterstützung für das heiße Anschließen von GPU CDI (Container Device Interface) zu laufenden Containern wurde hinzugefügt.
- Im Ceph-Speicher-Treiber wurde die Unterstützung für das Protokoll msgr2 (Ceph messenger v2) hinzugefügt.
- Im Web-Interface wurden Werkzeuge zur Verwaltung der Rollen von Cluster-Knoten hinzugefügt, der Konfiguration-Editor im YAML-Format wurde modernisiert, das integrierte Terminal-Emulator-Design wurde im Stil von Ubuntu verbessert, und die Auswahl der Speichermodule wurde optimiert.



Quelle: opennet.ru




