La société Microsoft a publié une mise à jour de la distribution CBL-Mariner 1.0.20210901 (Common Base Linux Mariner), qui 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. Le projet vise à unifier les solutions Linux utilisées par Microsoft et à simplifier la mise à jour des systèmes Linux pour divers usages. Les développements du projet sont distribués sous licence MIT.
Dans cette nouvelle version :
- Le processus de création de l'image ISO de base (700 Mo) a commencé. Dans cette première version, des images ISO prêtes à l'emploi n'étaient pas fournies, mais l'utilisateur pouvait créer lui-même l'image avec le contenu nécessaire (des instructions de construction ont été préparées pour Ubuntu 18.04).
- Le support de la mise à jour automatique des packages a été implémenté, avec l'inclusion de l'application Dnf-Automatic.
- Le noyau Linux a été mis à jour vers la version 5.10.60.1. Les versions des programmes ont été mises à jour, notamment openvswitch 2.15.1, golang 1.16.7, logrus 1.8.1, tcell 1.4.0, gonum 0.9.3, testify 1.7.0, crunchy 0.4.0, xz 0.5.10, swig 4.0.2, squashfs-tools 4.4, mysql 8.0.26.
- OpenSSL a été mis à jour pour permettre le retour du support TLS 1 et TLS 1.1.
- La vérification des codes sources des outils a été réalisée à l'aide de l'utilitaire sha256sum.
- De nouveaux packages ont été inclus : etcd-tools, cockpit, aide, fipscheck, tini.
- Les packages brp-strip-debug-symbols, brp-strip-unneeded et ca-legacy ont été supprimés. Les fichiers SPEC pour les packages Dotnet et aspnetcore ont été retirés, ceux-ci étant désormais compilés par l'équipe principale des développeurs .NET et placés dans un dépôt séparé.
- Des correctifs de vulnérabilités ont été transférés vers les versions des packages utilisés.
Rappelons que la distribution CBL-Mariner propose un ensemble de paquets de base standard, servant de fondation universelle pour créer des conteneurs, des environnements hôtes et des services s'exécutant dans des infrastructures cloud et sur des appareils edge. Des solutions plus complexes et spécialisées peuvent être mises en place en ajoutant des paquets supplémentaires sur CBL-Mariner, mais la base pour tous ces systèmes reste inchangée, ce qui simplifie la maintenance et la préparation des mises à jour. Par exemple, CBL-Mariner est utilisé comme base pour la mini-distribution WSLg, qui fournit des composants de la pile graphique pour exécuter des applications GUI Linux dans des environnements basés sur la sous-système WSL2 (Windows Subsystem for Linux). La fonctionnalité étendue dans WSLg est mise en œuvre par l'inclusion de paquets supplémentaires avec un composite. serveur Weston, XWayland, PulseAudio et FreeRDP.
Le système de construction CBL-Mariner 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, créé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 pris en charge : via la mise à jour de paquets individuels et via la reconstruction et la mise à jour de l'ensemble de l'image système. Un dépôt contenant environ 3000 paquets RPM déjà construits est disponible pour composer vos propres images à partir d'un fichier de configuration.
La distribution inclut uniquement les composants les plus nécessaires et est optimisée pour une consommation minimale de mémoire et d'espace disque, ainsi que pour une grande vitesse de démarrage. La distribution se distingue également par l'inclusion de divers mécanismes supplémentaires pour améliorer la sécurité. Le projet applique une approche de « sécurité maximale par défaut ». Il offre la possibilité de filtrer les appels système à l'aide du mécanisme seccomp, de chiffrer les partitions de disque et de vérifier les paquets par signature numérique.
Les modes de randomisation de l'espace d'adressage pris en charge par le noyau Linux sont activés, ainsi que des mécanismes de protection contre les attaques liées aux liens symboliques, mmap, /dev/mem et /dev/kmem. Pour les zones mémoire où sont placés les segments de données du noyau et des modules, un mode lecture seule est établi et l'exécution de code est interdite. Il est également possible d'interdire le chargement des modules du noyau après l'initialisation du système. L'outil iptables est utilisé pour le filtrage des paquets réseau. Par défaut, les modes de protection contre le débordement de pile, les débordements de tampon et les problèmes de formatage de chaînes sont activés lors de la compilation (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro).
Le gestionnaire de services systemd est utilisé pour la gestion des services et du chargement. Pour la gestion des paquets, les gestionnaires de paquets RPM et DNF (variante tdnf de vmWare) sont fournis. Le serveur SSH n'est pas activé par défaut. Un installateur est fourni pour l'installation de la distribution, qui peut fonctionner en modes texte ou graphique. L'installateur offre la possibilité d'installer avec un ensemble complet ou de base de paquets, avec une interface pour choisir la partition de disque, le nom d'hôte et créer des utilisateurs.
Source : opennet.ru
