Microsoft a publié une mise à jour de la distribution Azure Linux 3.0.20241101, poursuivant le développement de la branche stable 3.0 établie en août. La distribution se développe comme une plateforme de base universelle pour les environnements Linux, utilisés dans l'infrastructure cloud, les systèmes edge et divers services Microsoft. Les travaux du projet sont distribués sous la licence MIT. Les emballages de paquets sont formés pour les architectures aarch64 et x86_64. La taille de l'image d'installation est de 751 Mo.
Parmi les changements dans la nouvelle version :
- Pour les systèmes basés sur l'architecture ARM, le support de la spécification FF-A (Firmware Framework for Arm A-profile) a été ajouté.
- Un module de noyau intel_ifs (In-Field Scan) a été inclus, permettant d'exécuter des tests de diagnostic bas niveau sur les processeurs Intel, capables de détecter des problèmes non identifiés par les outils standards basés sur des codes de correction d'erreurs (ECC) ou des bits de parité.
- Des enregistrements SBAT ont été ajoutés au chargeur GRUB2 pour Fedora Linux.
- Lors de la compilation du noyau, la configuration CONFIG_X86_AMD_PLATFORM_DEVICE a été activée, ce qui permet aux dispositifs ACPI spécifiques aux puces AMD d'être traités comme des dispositifs de plateforme standard, tels que I2C, UART et GPIO.
- Le fonctionnement des commandes iptables a été assuré grâce à la transposition des règles en bytecode nftables (en plus d'iptables-legacy, le paquet iptables-nft est utilisé).
- Les versions des paquets ont été mises à jour, parmi lesquelles le noyau Linux 6.6.57, Go 1.23, OpenIPMI 2.0.36, libpcap 1.10.5, vim 9.1.0791, mysql 8.0.40, clamav 1.0.7, cloud-init 24.3.1, php 8.3.12, mdadm 4.3, libarchive 3.7.7.
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-distro WSLg, qui fournit les composants de la pile graphique pour 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'inclusion de paquets supplémentaires avec un compositeur. serveur 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
