Übersicht über die Azure Linux-Architektur

Azure Linux ist eine Microsoft verwaltete Linux-Distribution, die auf dem Fedora-Ökosystem basiert und für Azure optimiert ist. In diesem Artikel wird erläutert, wie Azure Linux strukturiert ist, was standardmäßig enthalten ist und wo sie absichtlich Grenzen zeichnet.

Note

Azure Linux 4.0 befindet sich jetzt in preview und ist streng auf Auswertungs- und Testzwecke beschränkt. Es ist nicht für den Produktionseinsatz geeignet.

Wie sich Azure Linux auf Fedora bezieht

Azure Linux wird von Fedora abgeleitet und verwendet dasselbe RPM-basierte Verpackungsökosystem. Sie profitieren von der gewohnten dnf5, den Fedora-Build-Tools (mock, fedpkg, koji, kiwi) und modernen Compiler-Toolchains – alle aus dem Fedora-Upstream nachverfolgt. Auf dieser Grundlage fügt Microsoft Azure-spezifische Härtungsmaßnahmen, einen benutzerdefinierten Kernel und einen verwalteten Lebenszyklus hinzu, der auf Cloud-Workloads zugeschnitten ist.

Der Kernel wird als Version 6.18 LTS ausgeliefert, erweitert mit Hyper-V Gasttreibern, Azure spezifischen Leistungsoptimierung und Sicherheitshärtung, die über Azure VM-SKUs hinweg überprüft wird.

Mehrschichtige Architektur

Azure Linux verwendet ein mehrschichtiges Modell. Jede Ebene baut auf der darunter liegenden Ebene auf, von Hardware und Firmware auf der Basis bis zu Ihren Workloads oben.

Screenshot eines Diagramms, das die geschichtete Architektur von Azure Linux zeigt.

Kernelebene

Der benutzerdefinierte Azure Linux-Kernel umfasst Hyper-V Gasttreiber, Sicherheitshärtungspatches und Leistungsoptimierungen, die für Azure Infrastruktur optimiert sind. Sie können zwischen Long-Term Support kernels (LTS) für Stabilität oder Hardware Enablement (HWE)-Kernel für neue Hardware- und GPU-Unterstützung wählen. Weitere Informationen finden Sie unter Veröffentlichungshäufigkeit und Lebenszyklus.

Kernbetriebssystemebene

Diese Ebene stellt das minimale Stammdateisystem bereit: systemd für die Dienstverwaltung, glibc als C-Laufzeit und OpenSSL für Kryptografie. Dies sind Komponenten der Stufe 1, d. h., sie sind für die Lebensdauer einer Hauptversion gesperrt und erhalten nur Sicherheitsbackports. Dadurch bleibt die Binäre Schnittstelle (Application Binary Interface, ABI) stabil und das Verhalten vorhersehbar.

Paketschicht im Benutzerbereich

Sprachlaufzeiten (Python, Go, Rust, Node.js), Containertools und Anwendungsabhängigkeiten leben hier. Pakete der Ebene 1 sind für Stabilität gesperrt. Pakete der Ebene 2 werden in einem vorhersehbaren Rhythmus aktualisiert. Weitere Informationen finden Sie unter Veröffentlichungsrhythmus und Lebenszyklus.

Auslastungsebene

Ihre Azure Dienste und Anwendungen werden hier ausgeführt. Azure Linux stellt dieselbe Betriebssystem-Foundation, paketsatz und verhalten dar, unabhängig davon, ob Sie auf AKS, Azure VMs oder Containerimages ausgeführt werden.

Plattformbereich

Azure Linux wurde für Azure Cloudworkloads entwickelt. Obwohl Azure Linux Open Source ist, gelten Microsoft Support- und Lebenszyklusverpflichtungen nur für Azure Szenarien.

In der folgenden Tabelle wird beschrieben, was unter Azure Linux nicht unterstützt wird:

Area Unterstützt Nicht unterstützt
Architekturen x86-64 (mindestens v2), ARMv8 (64-Bit) 32-Bit-Architekturen
Umgebungen Azure VMs, AKS, Containerimages ISO-Images, lokal, Multicloud, IoT, Edge-Geräte
Benutzeroberfläche Textbasierte Konsole, SSH Grafische Desktopumgebungen, GUI-Installationsprogramm
Virtualisierung KVM-Gäste, Hyper-V Xen
Peripheriegeräte An Azure angebundener Speicher, Netzwerk, GPUs Bluetooth, WLAN, Drucker, Audio/Video, Robotik
Vertrauenswürdige Plattform TPM 2.0 TPM 1.x
Sprachunterstützung Globale Gebietsschemaunterstützung verfügbar Nicht alle Sprachpakete sind im Basisimage enthalten

Jedes Azure Linux-Image enthält waagent und cloud-init. Diese Komponenten sind für Azure Integration erforderlich und müssen immer vorhanden sein.

Repositorystruktur

Azure Linux liefert Pakete in mehreren separaten Repositorys. Wenn Sie wissen, aus welchem Repository ein Paket stammt, können Sie besser einschätzen, wie es um die Supportfähigkeit steht, was standardmäßig verfügbar ist und wofür Sie sich ausdrücklich entscheiden müssen. Informationen zur täglichen Paketverwaltung finden Sie unter "Paketverwaltung".

Standardwerte für Netzwerke

Azure Linux wird mit einem Netzwerkstapel ausgeliefert, der für Azure VMs, AKS-Knoten und Containerworkloads optimiert ist. Die meisten Workloads können die Standardwerte ohne Änderungen verwenden.

In der folgenden Tabelle sind die Standardnetzwerkkomponenten in Azure Linux und die Alternativen zusammengefasst, die verfügbar sind, wenn Sie die Standardwerte für ein bestimmtes Szenario außer Kraft setzen müssen:

Bestandteil Vorgabe Alternative Hinweise
Netzwerk-Manager systemd‑networkd + cloud‑init NetworkManager (verfügbar, nicht standard) systemd-networkd ist die Standardeinstellung für Azure VM- und Containerszenarien.
Firewall firewalld N/A Standardmäßig aktiviert mit einer Richtlinie, die eingehenden Datenverkehr blockiert und ausgehenden erlaubt.
Firewall-Backend nftables iptables (veraltet, verfügbar) nftables ist der moderne Ersatz für iptables. Die iptables-Legacy-Unterstützung ist verfügbar, aber nicht standardmäßig aktiviert.
IPv6 Aktiviert und gehärtet N/A Die strenge Sysctl-Härtung wurde sowohl für IPv4 als auch für IPv6 angewendet.

Standardeinstellungen für Speicher

Azure Linux-Speicherstandardwerte sind für Azure angefügte Datenträger und den Hyper-V Hypervisor unter jedem Azure virtuellen Computer abgestimmt. Das Dateisystem, der Bootloader und die Taktquelle werden im Hinblick auf vorhersagbare Leistung und Kompatibilität mit Azure-Plattformfunktionen wie Momentaufnahmen und verwalteten Datenträgern ausgewählt.

In der folgenden Tabelle sind die Standardspeichereinstellungen in Azure Linux und die Alternativen zusammengefasst, die verfügbar sind, wenn Sie die Standardwerte für ein bestimmtes Szenario außer Kraft setzen müssen:

Setting Vorgabe Alternativen
Filesystem ext4 xfs, btrfs
Boot GRUB2-Bootloader N/A
Uhr Hyper-V PTP-Uhrquelle N/A
NVMe Timeout für an Azure angeschlossenen Speicher angepasst N/A

Sicherheitsarchitektur

Azure Linux wird auf jeder Ebene gehärtet, vom Kernel bis hin zur Lieferkette. In den folgenden Abschnitten werden die standardmäßig aktivierten Sicherheitssteuerelemente beschrieben. Weitere Informationen finden Sie unter Sicherheit und Compliance .

Obligatorische Zugriffssteuerung

Die obligatorische Zugriffssteuerung (MAC) beschränkt Prozesse auf die Zugriffe, die sie tatsächlich benötigen, auch wenn sie als Root ausgeführt werden.

Azure Linux 4.0-Vorschauversion aktiviert SELinux im Erzwingungsmodus als das MAC-Framework.

Sicherer Start

Sicherer Start stellt sicher, dass nur signierte Bootloader und Kernel ausgeführt werden. Die Kernelsperre schützt den ausgeführten Kernel und deaktiviert das Laden nicht vertrauenswürdiger Kernelmodule zur Laufzeit.

Note

Azure Linux 4.0 befindet sich jetzt in preview und seine Komponenten sind noch nicht für den sicheren Start signiert.

Kernel- und Systemhärtung

Der Kernel und der Userspace werden mit Entschärfungen erstellt, mit denen Exploits schwieriger zu schreiben und leichter zu enthalten sind, wenn sie erfolgreich sind.

In der folgenden Tabelle sind die Kernel- und Systemhärtungsfunktionen in Azure Linux zusammengefasst:

Fähigkeit Description
ASLR Starke Adressraumlayout-Randomisierung aktiviert.
Stapelschutz Stapelschutz auf Compilerebene, der auf alle Pakete angewendet wird.
Syscall-Einschränkungen Standardmäßige Seccomp-Profile und Syscall-Filterung.
Minimales Basisbild Reduzierte Angriffsfläche durch minimalen Paketsatz.

Kryptografie

Azure Linux zentralisiert kryptografische Richtlinien, sodass Algorithmen und Schlüsselgrößen in OpenSSL, GnuTLS, NSS und OpenSSH konsistent bleiben.

In der folgenden Tabelle sind die Kryptografieeinstellungen in Azure Linux zusammengefasst:

Setting Wert
FIPS DIE FIPS 140-3-Zertifizierung ist obligatorisch.
Kryptorichtlinien Fedora Krypto-Richtlinien, die für eine konsistente Algorithmusauswahl übernommen wurden.
Post-Quantum ML-KEM geplant, mit der Fedora- und RHEL-Roadmap abgestimmt.

Protokollierung und Überwachung

In der folgenden Tabelle sind die Protokollierungs- und Überwachungseinstellungen in Azure Linux zusammengefasst:

Setting Wert
Audit-Daemon auditd aktiviert.
Journalspeicher Permanenter journald-Speicher.