Das Unternehmen Microsoft hat seine Entwicklungen für die Azure Linux 4-Distrubution veröffentlicht, die im Vergleich zum Zweig 3.0 grundlegend überarbeitet wurde und von einer eigenen Paketbasis auf die Verwendung von Paketen aus der Distribution Fedora 43 umgestellt wurde. Während Azure Linux zuvor als Plattform für Linux-Umgebungen, die in Cloud-Infrastrukturen, Edge-Systemen und verschiedenen Microsoft-Diensten verwendet werden, positioniert wurde, wird Azure Linux jetzt als sicheres und zuverlässiges Betriebssystem für allgemeine Zwecke präsentiert, das für die Azure-Cloud optimiert ist und in virtuellen Maschinen, Containern, der WSL-Umgebung (Windows Subsystem for Linux) und als Haupt-OS auf Computern verwendet werden kann.
Der Azure Linux 4-Zweig ist als in der Entwicklung befindlich gekennzeichnet. Für produktive Implementierungen wird empfohlen, den Azure Linux 3-Zweig zu verwenden. Fertige Builds werden derzeit nicht bereitgestellt, aber es gibt eine Anleitung zum Erstellen. Distribution-spezifische Änderungen werden unter der MIT-Lizenz bereitgestellt.
Bei der Erstellung des Distribution wurde anstelle eines Forks von Fedora in Azure Linux 4 ein deklarativer Ansatz verwendet, der es ermöglicht, RPM-Pakete mit den erforderlichen Änderungen und Konfigurationen aus den standardmäßigen Fedora-Repositories neu zu erstellen, indem Konfigurationsdateien im TOML-Format verwendet werden. 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 an den Fedora-Paketen vorgenommen werden, wie zusätzliche Konstrukte in Spec-Dateien, Patches und Build-Parameter.
Die Paketeinheit in Azure Linux 4 sind „Komponenten“ (Source-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 erstellt, binaere Pakete von Fedora werden nicht übernommen. Zur Generierung der resultierenden RPM-Pakete auf der Grundlage der Overlays wird das Tool azldev verwendet, das in der Programmiersprache Go geschrieben ist und unter der MIT-Lizenz bereitgestellt wird.
Von den Besonderheiten von Azure Linux 4 ist die Bereitstellung eines Linux-Kernels mit zusätzlichen Optimierungen, Schutz vor Angriffe durch Abhängigkeiten (Supply Chain), vorhersehbare Unterstützungszyklen und Versionsupdates, integrierte Möglichkeiten zur Integration mit der Azure-Cloud sowie Änderungen zur Verbesserung der Sicherheit hervorzuheben. Das Build-System von Azure Linux ermöglicht es, sowohl Installationsumgebungen mit RPM-Paketen als auch monolithische System-Images zu generieren, die mithilfe von rpm-ostree erstellt und atomar aktualisiert werden, ohne in einzelne Pakete zerlegt zu werden. Es werden zwei Modelle zur Bereitstellung von Updates unterstützt: über die Aktualisierung einzelner Pakete und über das erneute Erstellen und Aktualisieren des gesamten System-Images.
Von den in Azure Linux umgesetzten Sicherheitsmaßnahmen:
- 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.
- Aktivierung von Schutzmodi gegen Pufferüberläufe, Stack-Überläufe und Formatierungsprobleme (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro) während der Erstellung.
- Bereitstellung der minimal erforderlichen Pakete, ohne unnötige Dienste zu aktivieren.
Quelle: opennet.ru
