La société Microsoft a publié une mise à jour mensuelle du système d'exploitation Azure Linux 3.0.20260506. Ce système est en cours de développement en tant que plateforme de base universelle pour les environnements Linux utilisés dans l'infrastructure cloud, les systèmes edge et divers services Microsoft. Les développements internes du projet sont distribués sous la licence MIT. Les ensembles de paquets sont formés pour les architectures aarch64 et x86_64. La taille de l'image d'installation est de 770 Mo.
Parmi les changements dans la nouvelle version :
- Des paquets ignition et rust-afterburn ont été ajoutés au dépôt (SPECS et SPECS-EXTENDED).
- Le paquet avec l'analyseur réseau Wireshark a été recompilé avec le support du langage Lua.
- Lors de la compilation du paquet avec le noyau pour l'architecture arm64, l'option CONFIG_IKCONFIG_PROC a été incluse, ce qui permet d'accéder à la configuration de compilation du noyau actuel via le fichier /proc/config.gz.
- Le support de la migration live dans QEMU a été amélioré.
- Un paramètre extraMacrosFiles a été ajouté au fichier PackageBuild.yml pour passer des fichiers supplémentaires avec des macros lors de la compilation du paquet.
- Plusieurs dizaines de vulnérabilités dans divers paquets ont été corrigées.
- Les versions du noyau Linux 6.6.137.1, clamav 1.5.2, cloud-hypervisor 51.1.56, containerd2 2.1.6, cups 2.4.18, erlang 26.2.5.20, golang 1.26.2-1, libpng 1.6.57, mysql 8.0.46 ont été mises à jour.
La distribution Azure Linux fournit un petit ensemble standard de paquets de base, servant de fondation universelle pour créer des conteneurs, des environnements hôtes et des services exécutés dans des infrastructures cloud et sur des appareils edge. Des solutions plus complexes et spécialisées peuvent être créées en ajoutant des paquets supplémentaires au-dessus d'Azure Linux, mais la base de tous ces systèmes reste inchangée, ce qui simplifie la maintenance et la préparation des mises à jour.
Azure Linux est utilisé comme base pour le mini-système d'exploitation WSLg, qui fournit des composants de la pile graphique permettant d'exécuter des applications GUI Linux dans des environnements basés sur le sous-système WSL2 (Windows Subsystem for Linux). Une fonctionnalité étendue dans WSLg est réalisée par l'ajout de paquets supplémentaires avec le serveur de composition Weston, XWayland, PulseAudio et FreeRDP.
Pour la gestion des services et du chargement, le gestionnaire de système systemd est utilisé. Les gestionnaires de paquets RPM et DNF sont fournis pour la gestion des paquets. Le serveur SSH n'est pas activé par défaut. Un installateur est disponible pour installer la distribution, et peut fonctionner en modes texte ou graphique. L'installateur offre la possibilité d'une installation avec un ensemble complet ou de base de paquets, et propose une interface pour choisir la partition disque, le nom d'hôte et créer des utilisateurs.
Le système de construction Azure Linux permet de générer à la fois des paquets RPM individuels à partir de fichiers SPEC et de textes sources, ainsi que des images système monolithiques, formées à l'aide de l'outil rpm-ostree et mises à jour de manière atomique sans décomposition en paquets individuels. Par conséquent, deux modèles de livraison des mises à jour sont supportés : par la mise à jour de paquets individuels et par la reconstruction et la mise à jour de l'ensemble de l'image système. Un dépôt est disponible, incluant environ 3000 RPM déjà construits, qui peut être utilisé pour composer vos propres images sur la base d'un fichier de configuration.
La plateforme de base inclut uniquement les composants les plus nécessaires et est optimisée pour une consommation minimale de mémoire et d'espace disque, tout en assurant une grande rapidité de chargement. Le projet adopte une approche de « sécurité maximale par défaut », impliquant l'activation de divers mécanismes supplémentaires pour améliorer la protection :
- Filtrage des appels système via le mécanisme seccomp.
- Chiffrement des partitions de disque.
- Vérification des paquets par signature électronique.
- Randomisation de l'espace d'adresses.
- Protection contre les attaques liées aux liens symboliques, mmap, /dev/mem et /dev/kmem.
- Mode lecture seule et interdiction de l'exécution de code dans les zones mémoire où se trouvent les segments de données du noyau et des modules.
- Option pour interdire le chargement des modules du noyau après l'initialisation du système.
- Utilisation d'iptables pour filtrer les paquets réseau.
- Activation lors de la compilation des modes de protection contre les débordements de pile, les débordements de tampon et les problèmes de formatage de chaînes (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro).
Source : opennet.ru
