Début juillet 2021, Microsoft a publié la première version stable de sa propre distribution Linux : CBL-Mariner 1.0, où CBL signifie Common Base Linux. CBL-Mariner est un produit des ingénieurs Linux de Microsoft et est utilisé comme distribution interne par leurs équipes d'ingénieurs pour le cloud, la périphérie et d'autres besoins au sein de l'entreprise. Il ne s'agit pas d'une distribution à usage général comme Ubuntu ou Fedora, bien qu'elle soit open source. CBL-Mariner est déjà utilisée par des systèmes tels que Windows Subsystem for Linux (WSL), Azure Sphere OS, SONiC, et d'autres efforts basés sur Linux chez le géant de Redmond.
« Oui, vous avez bien lu le titre. L'enfer est en train de geler parce que chez Microsoft nous avons notre propre distribution Linux appelée Mariner ou plus exactement CBL-Mariner où CBL signifie Common Base Linux », a écrit Juan Manuel Rey, ingénieur au sein de la division Azure de Microsoft, dans un billet de blog présentant la nouvelle distribution Linux de l'entreprise.
Il a précisé en préambule que « cette distribution interne n'est pas une distribution à usage général comme Ubuntu ou Fedora, bien qu’elle ait des airs de Fedora ou Photon OS ». Elle a été créée par le System Linux Group de Microsoft qui a mis en place le noyau Linux utilisé par Windows Subsystem pour Linux version 2 (WSL2). Mariner dispose de son propre repository sur le dépôt Microsoft de GitHub. Il avertit néanmoins « qu'aucune image et ISO ne sont fournies », mais il est possible de compiler sa propre version sur une base Ubuntu 18.04 (en respectant des prérequis).
Dans le détail, Juan Manuel Rey souligne que pour l’installation de paquets, CBL-Mariner s’appuie sur RPM. Concernant leur actualisation, la distribution combine à la fois dnf et Tiny DNF (tdnf) un gestionnaire de paquet lié à Photon OS de VMware. Un autre moyen de le faire est de passer par l’outil RPM Ostree issu du projet Atomic de Red Hat facilitant la création de conteneurs LXC.
Enfin, il évoque la partie sécurité en insistant sur le fait que CBL-Mariner respecte le principe de sécurité par défaut. Plusieurs fonctionnalités ont été intégrées dans la distribution : noyau renforcé, mises à jour signées, ASLR (address space layout randomization) et aussi un compilateur renforcé et des logs robustes.
Plus tôt ce mois-ci, Microsoft a publié la version 2.0 de CBL-Mariner : réservée à Microsoft, elle n'est toujours pas publiée pour une utilisation générale. CBL-Mariner 2.0 utilise le dernier noyau Microsoft Linux System Group 5.15, inclut des mises à niveau majeures de version de package et a amélioré la prise en charge de SELinux et les packages propriétaires requis pour prendre en charge le matériel Nvidia et CUDA.
Une seconde distribution Linux interne pour Microsoft
Après Mariner, la firme de Redmond disposerait aussi d’une version baptisée Delridge (ou CBL-D). Cette déclinaison a été découverte par hasard dans un billet de blog de Hayden Barnes, responsable de l’ingénierie chez SuSE. Barnes a noté que Microsoft a publié CBL-Delridge en 2020, la même année qu'il a également publié CBL-Mariner. La principale différence entre les deux : Delridge est un dérivé personnalisé de Debian, tandis que Mariner est une distribution personnalisée de style Linux From Scratch.
Microsoft s’en sert pour faire tourner son Azure Cloud Shell, qui fournit un ensemble d’outils de gestion cloud au sein d’un conteneur. Azure Cloud Shell fournit un ensemble d'outils de gestion du cloud regroupés dans un conteneur. Dans une note sur le référentiel GitHub pour le Cloud Shell, les responsables ont noté que « la principale différence entre Debian et CBL-D est que Microsoft compile tous les packages inclus dans le référentiel CBL-D en interne. Cela permet de se prémunir contre les attaques de la chaîne d'approvisionnement ».
CBL-Mariner et CBL-Delridge ne sont que deux des livrables liés à Linux développés par Microsoft et proposés par Linux Systems Group. D'autres incluent le sous-système Windows pour Linux version 2 (WSL2), qui fait partie de Windows 10 et Windows 11 ; un noyau Linux optimisé pour Azure conçu pour des performances optimales en tant qu'invités Hyper-V ; et Integrity Policy Enforcement (IPE), un module de sécurité Linux (LSM) proposé par l'équipe Entreprise et sécurité.
Microsoft a d'autres projets liés à Linux qu'il a développés en interne, notamment Azure Sphere, son microcontrôleur basé sur Linux plus un service IoT sécurisé, et SONic, un système d'exploitation open source pour les commutateurs réseau, publié dans le cadre de son Open Compute Travail de projet (OCP).
C'est durant l’édition 2018 de la conférence RSA, que Microsoft a annoncé la disponibilité de la préversion de Microsoft Azure Sphere, sa solution pour créer des microcontrôleurs connectés à Internet hautement sécurisés (MCU). Azure Sphere comprend trois composants qui fonctionnent ensemble pour protéger et alimenter les périphériques de pointe :
- les microcontrôleurs certifiés Azure Sphère (MCU) : une nouvelle classe de microcontrôleurs croisés qui combine à la fois des systèmes temps réel et des processeurs d'applications avec la technologie intégrée de sécurité Microsoft ;
- Azure Sphere OS : avec ce système d'exploitation, Microsoft espère offrir une sécurité et une agilité inégalées. Contrairement aux RTOS communs aux MCU aujourd'hui, le système d’exploitation IdO de défense en profondeur offre plusieurs niveaux (couches) de sécurité. Il combine des innovations de sécurité lancées sous Windows, un moniteur de sécurité et un noyau Linux personnalisé pour créer un environnement logiciel hautement sécurisé et une plateforme fiable pour de nouvelles expériences IdO ;
- le service de sécurité Azure Sphere : un service cloud clef en main qui protège chaque périphérique Azure Sphere, il établit des communications de confiance device-to-device et device-to-cloud via une authentification par certificat, détecte les menaces de sécurité émergentes dans l'ensemble de l'écosystème Azure Sphere grâce à des rapports de défaillance en ligne et renouvelle sa base de données grâce à des mises à jour logicielles.
Dans le détail, Azure Sphere OS dispose de cinq couches de sécurité :
- couche 0 : elle concerne le matériel ;
- couche 1 : un moniteur de sécurité qui protège l'intégrité et l'accès aux ressources critiques ;
- couche 2 : un noyau Linux personnalisé ;
- couche 3 : des services de connectivité sur la puce qui sécurisent votre connexion au cloud et fournissent un accès au service de sécurité Azure Sphere ;
- couche 4 : des conteneurs d'application sécurisés qui vont compartimenter le code pour l'agilité, la robustesse et la sécurité.
Microsoft a présenté SONic (Software for Open Networking in the Cloud) comme étant « la dernière pièce du puzzle dans la fourniture d’une plateforme de commutation complètement open source qui peut partager la même pile logicielle sur des matériels provenant de plusieurs fournisseurs de commutateurs réseau ». Il s'agit d'une pile logicielle complètement open source pour exécuter des dispositifs de réseau tels que les commutateurs (switches) avec de riches fonctionnalités. Construit en collaboration avec des fournisseurs de premier plan de l’industrie de la mise en réseau tels que Broadcom, Arista, Dell et Mellanox, SONic peut fonctionner sur différentes plateformes de commutation via la spécification SAI.
Lors de sa présentation en 2016, SONic n'était déjà plus un prototype, puisqu'il était déjà déployé dans le cloud de Microsoft. La version que Microsoft a rendu open source apportait des améliorations à celle utilisée en production en interne par la société. Si la pile logicielle open source a été testée à ce moment sur Debian, Microsoft a expliqué qu’elle pouvait théoriquement prendre en charge toutes les autres distributions Linux. SONic est basé sur une architecture modulaire avec une pile légère construite pour les besoins de mise en réseau des centres de données. Microsoft explique également que sa collection de composants logiciels de réseau peut être facilement étendue à d’autres composants logiciels open source ou propriétaires de fournisseurs tiers.
Source : billet Barnes
Voir aussi :
Microsoft lance la version Linux open source de l'utilitaire de surveillance système Sysmon pour détecter des signes d'activité suspecte qui peuvent ensuite être enregistrés
Microsoft présente Azure Sphere, sa solution pour sécuriser l'IdO, qui comporte un système d'exploitation basé sur un noyau Linux personnalisé
Microsoft publie sa propre distribution Linux sous le nom de code CBL-Mariner, où CBL signifie Common Base Linux
Microsoft lance SONiC, une pile logicielle open source ciblant Linux et qui permet d'exécuter des dispositifs réseau
Windows 11 : Microsoft propose le sous-système Windows pour Linux en tant qu'application dans le Microsoft Store, pour apporter des mises à jour indépendamment du système d'exploitation