Vue d’ensemble de l’architecture Azure Linux

Azure Linux est une distribution Linux Microsoft gérée basée sur l’écosystème Fedora et optimisée pour Azure. Cet article explique comment Azure Linux est structuré, ce qu’il inclut par défaut et où il dessine intentionnellement des limites.

Note

Azure Linux 4.0 est désormais disponible dans preview et est strictement limité aux fins d’évaluation et de test. Il n’est pas approprié pour une utilisation en production.

Comment Azure Linux se rapporte à Fedora

Azure Linux dérive de Fedora et utilise le même écosystème d’empaquetage basé sur RPM. Vous bénéficiez de la familiarité de dnf5, des outils de build Fedora (mock, fedpkg, koji, kiwi) et de chaînes d’outils de compilation modernes, le tout suivi à partir de Fedora en amont. Outre cette base, Microsoft ajoute un renforcement spécifique à Azure, un noyau personnalisé et un cycle de vie managé adapté aux charges de travail cloud.

Le noyau est livré dans sa version 6.18 LTS, enrichie de pilotes invités Hyper-V, d’optimisations de performances propres à Azure et d’un renforcement de la sécurité validé sur l’ensemble des références de VM Azure.

Architecture en couches

Azure Linux utilise un modèle en couches. Chaque couche s’appuie sur celle-ci, du matériel et du microprogramme à la base jusqu’à vos charges de travail en haut.

Screenshot d’un diagramme montrant l’architecture en couches Linux Azure.

Couche noyau

Le noyau Linux Azure personnalisé comprend les pilotes invités Hyper-V, des correctifs de renforcement de la sécurité et des optimisations de performances adaptées à l’infrastructure Azure. Vous pouvez choisir entre les noyaux LTS (Long-Term Support) pour plus de stabilité ou les noyaux HWE (Hardware Enablement) pour la prise en charge des nouveaux matériels et des GPU. Pour plus d’informations, consultez la cadence de publication et le cycle de vie .

Couche système d’exploitation principale

Cette couche fournit le système de fichiers racine minimal : systemd pour la gestion des services, glibc en tant que runtime C et OpenSSL pour le chiffrement. Il s’agit de composants de niveau 1, ce qui signifie qu’ils sont verrouillés par version pendant toute la durée de vie d’une version majeure et ne reçoivent que les rétroports de sécurité. Cela permet de maintenir la stabilité et le comportement de l’interface binaire d’application (ABI) prévisibles.

Couche des packages de l’espace utilisateur

Les runtimes de langage (Python, Go, Rust, Node.js), les outils de conteneur et les dépendances d’application vivent ici. Les packages de niveau 1 sont verrouillés pour la stabilité. Les packages de niveau 2 sont mis à jour à une cadence prévisible. Pour plus d’informations, consultez Cadence de publication et cycle de vie.

Couche de charge de travail

Vos services et applications Azure s’exécutent ici. Azure Linux présente la même base de système d'exploitation, l'ensemble de packages et le même comportement que vous exécutez sur AKS, Azure machines virtuelles ou des images conteneur.

Étendue de la plateforme

Azure Linux est conçu pour Azure charges de travail cloud. Bien qu’Azure Linux soit en open source, les engagements de Microsoft en matière de support et de cycle de vie s’appliquent uniquement aux scénarios Azure.

Le tableau suivant décrit ce qui est et n'est pas pris en charge sur Azure Linux :

Domaine Pris en charge Non pris en charge
Architectures x86-64 (v2 au minimum), ARMv8 (64 bits) Architectures 32 bits
Environnements machines virtuelles Azure, AKS, images de conteneur Images ISO, locales, multiclouds, IoT, appareils de périphérie
Interface utilisateur Console basée sur du texte, SSH Environnements de bureau graphiques, programme d’installation de l’interface graphique utilisateur
Virtualisation Machines virtuelles invitées KVM, Hyper-V Xen
Matériel périphérique stockage Azure attaché, mise en réseau, GPU Bluetooth, Wi-Fi, imprimantes, audio/vidéo, robotique
Plateforme approuvée TPM 2.0 TPM 1.x
Prise en charge linguistique Prise en charge globale des paramètres régionaux disponible Tous les modules linguistiques ne sont pas inclus dans l’image de base

Chaque image Linux Azure inclut waagent et cloud-init. Ces composants sont requis pour l’intégration Azure et doivent toujours être présents.

Structure du référentiel

Azure Linux fournit des packages dans plusieurs référentiels distincts. Savoir de quel dépôt provient un paquet vous aide à mieux comprendre la prise en charge, ce qui est disponible par défaut et ce que vous devez activer explicitement. Pour plus d’informations sur la gestion des packages quotidiennes, consultez Gestion des packages.

Valeurs par défaut de mise en réseau

Azure Linux est fourni avec une pile de mise en réseau paramétrée pour les machines virtuelles Azure, les nœuds AKS et les charges de travail de conteneur. La plupart des charges de travail peuvent utiliser les valeurs par défaut sans modification.

Le tableau suivant récapitule les composants réseau par défaut dans Azure Linux et les alternatives disponibles si vous devez remplacer les valeurs par défaut pour un scénario spécifique :

Composant Par défaut Alternatif Remarques
Gestionnaire de réseau systemd-networkd + cloud-init NetworkManager (disponible, et non par défaut) systemd-networkd est la valeur par défaut pour les scénarios de machine virtuelle et de conteneur Azure.
Pare-feu pare-feu N/A Activé par défaut avec une stratégie de refus du trafic entrant et d’autorisation du trafic sortant.
Back-end de pare-feu nftables iptables (ancienne version, disponible) nftables est le remplacement moderne des iptables. La prise en charge de l’ancienne version d’iptables est disponible, mais n’est pas utilisée par défaut.
IPv6 Activé et renforcé N/A Renforcement strict des paramètres sysctl appliqué à IPv4 et IPv6.

Valeurs par défaut du stockage

Les valeurs par défaut du stockage d’Azure Linux sont optimisées pour les disques attachés à Azure et l’hyperviseur Hyper-V sous-jacent à chaque machine virtuelle Azure. Le système de fichiers, le chargeur de démarrage et la source d’horloge sont choisis pour des performances prévisibles et une compatibilité avec Azure fonctionnalités de plateforme telles que les captures instantanées et les disques managés.

Le tableau suivant récapitule les paramètres de stockage par défaut dans Azure Linux et les alternatives disponibles si vous devez remplacer les valeurs par défaut pour un scénario spécifique :

Setting Par défaut Autres solutions
Système de fichiers ext4 xfs, btrfs
Démarrage Chargeur de démarrage GRUB2 N/A
Horloge Source d’horloge PTP Hyper‑V N/A
NVMe Délai d’expiration paramétré pour le stockage attaché Azure N/A

l’architecture de sécurité ;

Azure Linux est renforcé à chaque couche, du noyau au niveau de la chaîne d’approvisionnement. Les sections suivantes décrivent les contrôles de sécurité activés par défaut. Pour plus d’informations, consultez Sécurité et conformité .

Contrôle d’accès obligatoire

Le contrôle d’accès obligatoire (MAC) restreint les processus aux seuls accès dont ils ont réellement besoin, même lorsqu’ils s’exécutent avec les privilèges root.

La préversion d’Azure Linux 4.0 active SELinux en mode appliqué comme framework MAC.

Démarrage sécurisé

Le démarrage sécurisé garantit que seuls les chargeurs de démarrage et les noyaux signés s’exécutent. Le verrouillage du noyau protège le noyau en cours d’exécution et désactive le chargement des modules de noyau non approuvés lors de l’exécution.

Note

Azure Linux 4.0 est désormais disponible dans preview et ses composants ne sont pas encore signés pour le démarrage sécurisé.

Renforcement du noyau et du système

Le noyau et l’espace utilisateur sont créés avec des atténuations qui rendent les exploits plus difficiles à écrire et plus faciles à contenir s’ils réussissent.

Le tableau suivant récapitule les fonctionnalités de renforcement du noyau et du système dans Azure Linux :

Capacité Description
ASLR Randomisation forte de l’agencement de l’espace d’adressage activée.
Protection de la pile Protections de pile au niveau du compilateur appliquées à tous les packages.
Restrictions des appels système Profils seccomp par défaut et filtrage syscall.
Image de base minimale Surface d’attaque réduite par le biais d’un ensemble minimal de packages.

Cryptography

Azure Linux centralise la stratégie de chiffrement afin que les algorithmes et les tailles de clé restent cohérents entre OpenSSL, GnuTLS, NSS et OpenSSH.

Le tableau suivant récapitule les paramètres de chiffrement dans Azure Linux :

Setting Valeur
FIPS La certification FIPS 140-3 est obligatoire.
Stratégies de chiffrement Stratégies de chiffrement Fedora adoptées pour la sélection cohérente de l’algorithme.
Post‑quantique ML‑KEM prévu, en phase avec la feuille de route de Fedora et de RHEL.

Journalisation et audit

Le tableau suivant récapitule les paramètres de journalisation et d’audit dans Azure Linux :

Setting Valeur
Démon d’audit auditd activé.
Stockage des journaux Stockage journal persistant.