Microsoft hat ein Update für die Azure Linux-Distribution 3.0.20241101 veröffentlicht, das die im August etablierte stabile Version 3.0 weiterführt. Die Distribution entwickelt sich zu einer universellen Basisplattform für Linux-Umgebungen, die in Cloud-Infrastrukturen, Edge-Systemen und verschiedenen Microsoft-Diensten verwendet werden. Die Fortschritte des Projekts werden unter der MIT-Lizenz veröffentlicht. Paketbuilds werden für die Architekturen aarch64 und x86_64 erstellt. Die Größe des Installationsimages beträgt 751 MB.
Zu den Änderungen in der neuen Version gehören:
- Für Systeme auf ARM-Architektur wurde die Unterstützung der FF-A-Spezifikation (Firmware Framework for Arm A-profile) hinzugefügt.
- Das Kernel-Modul intel_ifs (In-Field Scan) wurde integriert, das es ermöglicht, auf Intel-Prozessoren niedrigstufige Diagnosetests für die CPU durchzuführen, die Probleme aufdecken können, die mit herkömmlichen Mitteln wie Fehlerkorrekturcodes (ECC) oder Paritätsbits nicht definiert werden.
- Im Bootloader GRUB2 wurden SBAT-Einträge für Fedora Linux hinzugefügt.
- Bei der Erstellung des Kernels wurde die Einstellung CONFIG_X86_AMD_PLATFORM_DEVICE aktiviert, bei der spezifische ACPI-Geräte für AMD-Chips als typische Plattformgeräte behandelt werden, wie I2C, UART und GPIO.
- Die Funktionsfähigkeit von iptables wird durch die Übersetzung von Regeln in den Bytecode von nftables sichergestellt (neben iptables-legacy wird auch das Paket iptables-nft verwendet).
- Die Versionen der Pakete wurden aktualisiert, darunter der Linux-Kernel 6.6.57, Go 1.23, OpenIPMI 2.0.36, libpcap 1.10.5, vim 9.1.0791, mysql 8.0.40, clamav 1.0.7, cloud-init 24.3.1, php 8.3.12, mdadm 4.3, libarchive 3.7.7.
Die Azure Linux-Distribution bietet eine kleine Auswahl an grundlegenden Paketen, die als universelle Grundlage für die Erstellung von Container-Images, Host-Umgebungen und Diensten dienen, die in Cloud-Infrastrukturen und auf Edge-Geräten laufen. Komplexere und spezialisierte Lösungen können durch das Hinzufügen weiterer Pakete zu Azure Linux erstellt werden, jedoch bleibt die Basis für alle derartigen Systeme unverändert, was die Wartung und Vorbereitung von Aktualisierungen erleichtert.
Azure Linux wird als Grundlage für die Mini-Distribution WSLg verwendet, die Komponenten des Grafik-Stacks für den Betrieb von GUI-Anwendungen auf Linux in WSL2-Umgebungen (Windows Subsystem for Linux) bereitstellt. Erweiterte Funktionen in WSLg werden durch das Hinzufügen zusätzlicher Pakete mit kompositorischem dem Server durch Weston, XWayland, PulseAudio und FreeRDP.
Für die Verwaltung von Diensten und Systemlast kommt der Systemmanager systemd zum Einsatz. Die Paketverwaltung erfolgt über die Paketmanager RPM und DNF. Der SSH-Server ist standardmäßig nicht aktiviert. Für die Installation der Distribution steht ein Installer zur Verfügung, der sowohl im Text- als auch im grafischen Modus arbeiten kann. Der Installer bietet die Möglichkeit, ein vollständiges oder grundlegendes Paketset zu installieren, sowie eine Benutzeroberfläche zur Auswahl der Festplattenpartition, der Hostnamen und zur Erstellung von Benutzern.
Das Build-System von Azure Linux ermöglicht die Generierung sowohl einzelner RPM-Pakete basierend auf SPEC-Dateien und Quelltexten als auch monolithischer Systemabbilder, die mithilfe des rpm-ostree-Werkzeugs erstellt werden und atomar aktualisiert werden, ohne sie in einzelne Pakete aufzuteilen. Dementsprechend werden zwei Modelle zur Bereitstellung von Updates unterstützt: über die Aktualisierung einzelner Pakete und über den Neuaufbau und die Aktualisierung des gesamten Systemabbilds. Ein Repository, das etwa 3000 bereits erstellte RPM-Pakete enthält, steht zur Verfügung und kann zur Erstellung eigener Abbilder auf Basis einer Konfigurationsdatei verwendet werden.
Die Basisplattform umfasst nur die notwendigsten Komponenten und ist für einen minimalen Speicher- und Festplattenspeicherbedarf sowie eine hohe Ladegeschwindigkeit optimiert. In diesem Projekt wird der Ansatz „maximale Sicherheit per Default“ verfolgt, der die Aktivierung verschiedener zusätzlicher Mechanismen zur Erhöhung des Schutzes beinhaltet:
- Filterung von Systemaufrufen durch den seccomp-Mechanismus.
- Verschlüsselung von Festplattenteilen.
- Verifizierung von Paketen anhand digitaler Signaturen.
- Adressraumrandomisierung.
- Schutz vor Angriffen, die mit symbolischen Links, mmap, /dev/mem und /dev/kmem verbunden sind.
- Nur-Lese-Modus und Verbot der Codeausführung in Bereichen des Speichers, in denen Datensegmente des Kernels und von Modulen platziert sind.
- Option zum Verbot des Ladens von Kernelmodulen nach der Systeminitialisierung.
- Verwendung von iptables zur Filterung von Netzwerkpaketen.
- Aktivierung von Schutzmodi gegen Stacküberläufe, Pufferüberläufe und Formatierungsprobleme (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro) beim Kompilieren.
Quelle: opennet.ru
