Microsoft a publié des travaux liés à la distribution Azure Linux 4, qui a été complètement retravaillée par rapport à la branche 3.0 et est passée d'une base de paquets propriétaire à l'utilisation de paquets de la distribution Fedora 43. Alors qu'Azure Linux était précédemment positionné comme une plateforme pour des environnements Linux utilisés dans l'infrastructure cloud, les systèmes edge et divers services Microsoft, il est maintenant présenté comme un système d'exploitation sécurisé et fiable à usage général, optimisé pour le cloud Azure, pouvant être utilisé dans des machines virtuelles, des conteneurs, dans l'environnement WSL (Windows Subsystem for Linux) et en tant que système d'exploitation principal sur des ordinateurs.
La branche Azure Linux 4 est marquée comme étant en cours de développement. Pour les déploiements de production, il est recommandé d'utiliser la branche Azure Linux 3. Les versions prêtes ne sont pas encore proposées, mais une instruction de construction est disponible. Les modifications spécifiques à la distribution sont fournies sous licence MIT.
Dans la création de la distribution, au lieu de créer un fork de Fedora, Azure Linux 4 utilise une approche déclarative, permettant de reconstruire les paquets RPM avec les modifications et configurations nécessaires à partir des dépôts officiels de Fedora, en utilisant des fichiers de configuration au format TOML. Des fonctionnalités supplémentaires sont définies sous forme de superpositions, permettant de générer des fichiers spec spécifiques à Azure Linux à partir des paquets SRPM d'origine de Fedora Linux. Les superpositions définissent les modifications apportées aux paquets Fedora, telles que des constructions additionnelles dans les fichiers spec, des patches et des paramètres de compilation.
L'unité de paquet dans Azure Linux 4 est appelée "composants" (paquet source), qui sont en grande partie importés de Fedora via dist-git et peuvent former un ou plusieurs paquets RPM. Tous les composants sont compilés à partir du code source, les paquets binaires de Fedora ne sont pas transférés. Pour la génération des paquets RPM résultants basés sur les superpositions, un outil appelé azldev, écrit en Go et distribué sous licence MIT, est utilisé.
Parmi les caractéristiques d'Azure Linux 4, on note la livraison d'un noyau Linux avec des optimisations supplémentaires, la protection contre les attaques par dépendance (supply chain), un cycle de support et de publication des mises à jour prévisible, des capacités intégrées pour l'intégration avec le cloud Azure, ainsi que des modifications visant à renforcer la sécurité. Le système de construction d'Azure Linux permet de générer à la fois des environnements d'installation avec des paquets RPM et des images système monolithiques, formées à l'aide de l'outil rpm-ostree et mises à jour de manière atomique sans décomposer en paquets séparés. Deux modèles de livraison des mises à jour sont pris en charge : par la mise à jour de paquets individuels et par la reconstruction et la mise à jour de l'ensemble de l'image système.
Parmi les mesures de sécurité mises en œuvre dans Azure Linux :
- 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.
- 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).
- Fourniture des paquets minimaux nécessaires, sans activation de services superflus.
Source : opennet.ru
