Die Firma Microsoft hat das erste stabile Update des neuen Zweigs der Azure Linux 3.0-Distribution veröffentlicht, die zuvor unter dem Namen CBL-Mariner verbreitet wurde. Die Distribution entwickelt sich zu einer universellen Basisplattform fĂŒr Linux-Umgebungen, die in Cloud-Infrastruktur, Edge-Systemen und verschiedenen Microsoft-Diensten verwendet werden. Das Projekt zielt darauf ab, die in Microsoft verwendeten Linux-Lösungen zu vereinheitlichen und die Wartung von Linux-Systemen unterschiedlicher Art auf dem neuesten Stand zu halten. Die Ergebnisse des Projekts werden unter der MIT-Lizenz verbreitet. Die Paketversionen werden fĂŒr die Architekturen aarch64 und x86_64 erstellt. Die GröĂe des Installationsimages betrĂ€gt 740 MB.
Zu den Neuerungen in der neuen Version gehören:
- Der Linux-Kernel wurde auf Version 6.6 aktualisiert (zuvor wurde der Kernel 5.15 verwendet). Es wurde UnterstĂŒtzung fĂŒr das Live-Patching des laufenden Kernels hinzugefĂŒgt, das es ermöglicht, Schwachstellen im Kernel ohne Neustart zu beheben.
- Neue Versionen von Paketen wurden angeboten, darunter systemd 255, glibc 2.38, GCC 13.2, clang 18.1, OpenSSL 3.3, rpm 4.18.2, ruby 3.3.0, BIND 9.20, containerd 1.7.13, kunc 1.1.12, ostree 2024.5, rust 1.75, Perl 5.38, Python 3.12.3, QEMU 8.2.0.
- Das System fĂŒr den erzwungenen Zugriffskontrolle SELinux wurde standardmĂ€Ăig in den Modus âenforcingâ gesetzt.
- StandardmĂ€Ăig wird die vereinheitlichte Hierarchie der cgroups v2 aktiviert. Der Hauptunterschied zwischen cgroups v2 und v1 besteht darin, dass eine gemeinsame Hierarchie der cgroups fĂŒr alle Ressourcenarten anstelle separater Hierarchien zur Verteilung von CPU-Ressourcen, zur Regulierung des Speicherverbrauchs und zum Ein-/Ausgabe-Management verwendet wird.
- Werkzeuge zur Migration von anderen Distributionen (OSsku In-Place Migration) auf Knoten in der Microsoft Azure-Cloud wurden hinzugefĂŒgt, sodass beispielsweise eine installierte Ubuntu-Distribution durch Azure Linux ersetzt werden kann.
- Die UnterstĂŒtzung fĂŒr neue NVIDIA-GPUs wie die NVIDIA A100 und H100 wurde hinzugefĂŒgt, zudem wurde der NVIDIA GPU Operator bereitgestellt, um die Verwaltung der NVIDIA-Treiber auf Knoten mit Azure Linux zu automatisieren.
Die Distribution Azure Linux bietet ein kleines, standardisiertes Set an Basis-Paketen, die als universelle Grundlage fĂŒr die Erstellung von Container-Inhalten, Host-Umgebungen und Diensten dienen, die in Cloud-Infrastrukturen und auf Edge-GerĂ€ten betrieben werden. Komplexere und spezialisierte Lösungen können durch das HinzufĂŒgen zusĂ€tzlicher Pakete auf Azure Linux erstellt werden, aber die Grundlage fĂŒr alle derartigen Systeme bleibt unverĂ€ndert, was die Wartung und Vorbereitung von Updates vereinfacht.
Zum Beispiel wird Azure Linux als Grundlage fĂŒr die Mini-Distribution WSLg verwendet, in der Komponenten des grafischen Stacks bereitgestellt werden, um die AusfĂŒhrung von GUI-Anwendungen unter Linux in Umgebungen zu ermöglichen, die auf der WSL2-Subsystem (Windows Subsystem for Linux) basieren. Erweiterte FunktionalitĂ€t in WSLg wird durch die Einbeziehung zusĂ€tzlicher Pakete mit einem Composite- Server Weston, XWayland, PulseAudio und FreeRDP.
Zur Verwaltung von Diensten und dem Bootprozess wird der Systemmanager systemd verwendet. FĂŒr die Paketverwaltung stehen die Paketmanager RPM und DNF zur VerfĂŒgung. Der SSH-Server ist standardmĂ€Ăig nicht aktiviert. Ein Installer fĂŒr die Distribution ist verfĂŒgbar, der sowohl im Text- als auch im Grafikmodus ausgefĂŒhrt werden kann. Im Installer gibt es die Möglichkeit, entweder mit einem vollstĂ€ndigen oder einem Basis-Paketset zu installieren, es wird ein Interface zur Auswahl der Partition, zur Festlegung des Hostnamens und zur Erstellung von Benutzern angeboten.
Das Azure Linux-Baussystem ermöglicht die Erstellung von einzelnen RPM-Paketen auf Basis von SPEC-Dateien und Quelltexten sowie von monolithischen Systemimages, die mit Hilfe des Tools rpm-ostree erstellt und atomar ohne Aufspaltung in separate Pakete aktualisiert werden. Entsprechend werden zwei Modelle fĂŒr die Bereitstellung von Updates unterstĂŒtzt: durch die Aktualisierung einzelner Pakete und durch das Neubauen und die Aktualisierung des gesamten Systemimages. Ein Repository mit etwa 3000 bereits erstellten RPM-Paketen steht zur VerfĂŒgung, das zur Erstellung eigener Images basierend auf der Konfigurationsdatei verwendet werden kann.
Die Basisplattform umfasst nur die notwendigsten Komponenten und ist fĂŒr minimalen Speicher- und Festplattenspeicherverbrauch sowie hohe Bootgeschwindigkeit optimiert. Im Projekt wird der Ansatz âmaximale Sicherheit als Standardâ verfolgt, was die Aktivierung verschiedener zusĂ€tzlicher Mechanismen zum Schutz beinhaltet:
- Filtern von Systemaufrufen mittels des seccomp-Mechanismus.
- VerschlĂŒsselung von Festplattenteilungen.
- Verifizierung von Paketen durch digitale Signaturen.
- Adressraum-Randomisierung.
- Schutz vor Angriffen, die mit symbolischen Links, mmap, /dev/mem und /dev/kmem verbunden sind.
- Nur-Lese-Modus und Verbot der AusfĂŒhrung von Code in Speicherbereichen, die Datensegmente des Kernels und der Module beherbergen.
- Option zum Verbot des Ladens von Kernelmodulen nach der Systeminitialisierung.
- Verwendung von iptables zur Filterung von Netzwerkpaketen.
- Aktivierung von Schutzmodi gegen PufferĂŒberlĂ€ufe, Stack-ĂberlĂ€ufe und Formatierungsprobleme (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro) wĂ€hrend der Erstellung.
Quelle: opennet.ru
