Microsoft hat Entwicklungen veröffentlicht, die mit dem Azure Linux 4-Distributionsmodell zusammenhängen, das im Vergleich zu Version 3.0 grundlegend überarbeitet wurde und von einer eigenen Paketbasis auf die Nutzung von Paketen aus der Distribution Fedora 43 umgestellt wurde. Während Azure Linux zuvor als Plattform für Linux-Umgebungen in Cloud-Infrastrukturen, Edge-Systemen und verschiedenen Microsoft-Diensten positioniert war, wird Azure Linux jetzt als sichere und zuverlässige allgemeine Betriebssystemlösung vorgestellt, die für die Azure-Cloud optimiert ist. Sie kann in virtuellen Maschinen, Containern, der WSL (Windows Subsystem Linux) Umgebung und als Hauptbetriebssystem auf Computern verwendet werden.
Die Azure Linux 4-Version wird als in der Entwicklung befindlich gekennzeichnet. Für produktive Einsätze wird empfohlen, die Azure Linux 3-Version zu verwenden. Fertigstellungen werden derzeit nicht bereitgestellt, es gibt jedoch eine Anleitung zur Erstellung. Distribution spezifische Änderungen werden unter der MIT-Lizenz bereitgestellt.
Bei der Erstellung des Distributionspakets wurde anstelle eines Forks von Fedora in Azure Linux 4 ein deklarativer Ansatz verwendet, der das Neubauen von RPM-Paketen mit den erforderlichen Änderungen und Konfigurationen aus den Standard-Repositorys von Fedora unter Verwendung von TOML-Configurationsdateien ermöglicht. Zusätzliche Funktionalitäten werden in Form von Overlays definiert, die es ermöglichen, spezifische Azure Linux spec-Dateien für Pakete auf der Grundlage der Standard-SRPM-Pakete aus Fedora Linux zu generieren. Overlays definieren die Änderungen, die über die Fedora-Pakete gelegt werden, wie z.B. zusätzliche Konstrukte in den spec-Dateien, Patches und Build-Parameter.
Die Einheit in Azure Linux 4 sind "Komponenten" (das ursprüngliche Paket), die größtenteils über dist-git aus Fedora importiert werden und ein oder mehrere RPM-Pakete bilden können. Alle Komponenten werden aus dem Quellcode gebaut, binäre Pakete aus Fedora werden nicht übertragen. Zum Generieren der resultierenden RPM-Pakete basierend auf Overlays wird das azldev-Toolkit verwendet, das in Go geschrieben ist und unter der MIT-Lizenz bereitgestellt wird.
Zu den Besonderheiten von Azure Linux 4 gehört die Bereitstellung eines Linux-Kernels mit zusätzlichen Optimierungen, Schutz vor Angriffen über Abhängigkeiten (Supply Chain), ein vorhersehbarer Support-Zyklus und Update-Veröffentlichungen, integrierte Funktionen zur Integration mit der Azure-Cloud sowie Änderungen zur Verbesserung der Sicherheit. Das Build-System von Azure Linux ermöglicht die Erstellung sowohl von Installationsumgebungen mit RPM-Paketen als auch von monolithischen Systembildern, die mithilfe des rpm-ostree-Tools formatiert und atomar aktualisiert werden können, ohne dass sie in separate Pakete aufgeteilt werden müssen. Es werden zwei Aktualisierungsmodelle unterstützt: über die Aktualisierung einzelner Pakete und durch den Neubau und das Update des gesamten Systembilds.
Zu den in Azure Linux implementierten Sicherheitsmaßnahmen gehören:
- 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.
- Aktivierung von Schutzmodi gegen Stacküberläufe, Pufferüberläufe und Formatierungsprobleme (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro) beim Kompilieren.
- Bereitstellung von minimal erforderlichen Paketen ohne Aktivierung überflüssiger Dienste.
Quelle: opennet.ru
