Les systèmes d’exploitation du futur sont-ils immuables ?

Les systèmes d’exploitation du futur sont-ils immuables ?

Les développeurs parlent souvent d’« immuabilité ». En dehors du monde technique, ce terme a généralement une connotation négative : immuable, inflexible et bien ancré. Cependant, dans le domaine technique, ces caractéristiques deviennent un avantage et signifient qu’un système est fiable et reproductible.

Comme de nombreux concepts et tendances technologiques, ce n’est pas une nouveauté. Système d’exploitation NixOS (nous en parlerons plus tard) existe depuis plus de vingt ans, et Chrome OS est probablement le système d’exploitation immuable (OS) le plus largement utilisé. Cependant, l’adoption généralisée de conteneurs avec Docker il y a un peu plus de 10 ans, ce concept a attiré l’attention du plus grand nombre.

En règle générale, vous définissez un conteneur dans un fichier texte et un environnement d’exécution de conteneur transforme cette définition en services d’exécution. Cela signifie qu’il est relativement facile d’arrêter, de recréer et de redémarrer le conteneur en fonction de cette définition. Peu importe le nombre de fois que vous le recréez et le redémarrez, vous pouvez être sûr qu’il restera le même : immuable.

Les équipes de développement utilisent désormais largement des conteneurs, gérés et orchestrés par des outils tels que KubernetesLes conteneurs reprennent en partie le concept d’immuabilité.

Le

Les dernières rumeurs de la scène technologique européenne, une histoire de notre vieux fondateur Boris et quelques œuvres d’IA douteuses. C’est gratuit, chaque semaine, dans votre boîte de réception. Inscrivez-vous maintenant !

Il existe toujours un système d’exploitation et de nombreux autres niveaux de logiciels qui l’entourent. Tout doit être immuable pour avoir un système d’exploitation entièrement fiable, reproductible et digne de confiance.

Cela peut paraître extrême pour ceux d’entre nous qui utilisent régulièrement Windows, macOS ou la plupart des distributions Linux. Mais des périphériques et serveurs périphériques aux machines de bureau que vous et moi utilisons quotidiennement, les systèmes d’exploitation immuables entrent désormais dans une réalité pratique.

Pourquoi cela se produit-il maintenant ? Comme me l’explique Gabriel Aguiar Noury, chef de produit Ubuntu Core chez Canonical, c’est à cause de la multiplication des réglementations en matière de cybersécurité émanant des gouvernements du monde entier.« Ces réglementations indiquent généralement aux fabricants et aux développeurs d’appareils que les choses vont changer. Nous devons être plus en conformité », explique Noury. « Nous devons nous assurer que chaque élément de nos produits dispose d’un plan de sécurité, qui comprend la maintenance de la sécurité. »

L’UE a introduit réglementation de la cybersécurité en 2019, et Noury ​​ajoute que le délai de mise en conformité de la loi suscite beaucoup d’intérêt. « Le règlement européen sur la cybersécurité gagne du terrain et, en 2027, nous devrons commencer à nous y conformer. Nous sommes donc actuellement dans une période où nous devons rendre les appareils que nous lançons conformes à ce règlement. Et l’idée d’immuabilité joue un rôle dans ce contexte. »

Nix et NixOS

Nix est le plus ancien système d’exploitation immuable encore actif. Les gens utilisent souvent « Nix » et « NixOS » de manière interchangeable, mais ils sont différents. Nix est un gestionnaire de paquets utilisé pour créer et installer de petites dépendances, telles qu’OpenSSL, vers des dépendances plus importantes, telles que Firefox ou une chaîne d’outils de langage de programmation.

Lire aussi  YouTube Music ajoute des « Détails de la chanson » pour une visibilité supplémentaire

Comme le dit Valentin Gagarin, membre de l’équipe de maintenance de Nix : «Nix représente beaucoup de choses pour beaucoup de gens. Mais au fond, Nix est étonnamment simple.

Presque tous les paquets que vous installez ne sont pas isolés et utilisent leur propre arborescence complexe de dépendances. Pour gérer cela et rester immuable, lorsque vous créez et installez un paquet avec Nix, il conserve un hachage cryptographique de tout ce qui a été utilisé pour installer cette dépendance au moment de l’installation.

Si vous réinstallez la dépendance plus tard, Nix crée un nouveau hachage, ce qui signifie que vous pouvez revenir à la version fonctionnelle en cas de problèmes. « Nix relie les relations entre les fichiers d’un système de fichiers qui font partie d’un binaire d’application et les enregistre de manière immuable », explique Gagarin. « Chaque fois que vous souhaitez transférer ces fichiers ailleurs, il suffit de tirer sur une extrémité pour obtenir l’ensemble plutôt que de le détruire. »

NixOS va plus loin. Vous pouvez définir l’intégralité du système d’exploitation à partir des paquets du gestionnaire de paquets Nix et de la configuration de ces paquets. La configuration dépend des paquets que vous installez, mais peut inclure des périphériques de démarrage, des messages de connexion, des comptes d’utilisateur, etc. De plus, Nix exécute chaque processus qui crée ces fichiers dans un sandbox isolé, ce qui renforce encore la sécurité.

Pour quiconque a déjà utilisé la gestion des appareils mobiles (MDM) ou quelque chose de similaire pour déployer des images système cohérentes sur une flotte de machines, cela peut ne pas sembler si révolutionnaire, mais NixOS ne nécessite pas l’envoi de fichiers image volumineux de plusieurs gigaoctets sur les réseaux, c’est juste un fichier texte créé lors du déploiement.

Encore une fois, comme le gestionnaire de paquets, vous pouvez revenir en arrière en cas de problème. NixOS vous permet de basculer entre différentes configurations de système d’exploitation dans le seul temps nécessaire à la création de ce système. Il en va de même si un processus d’installation est interrompu. Au redémarrage, il restaure le système au dernier état correct et vous pouvez réessayer.

Nix a développé ces idées depuis longtemps, malgré leur application apparemment moderne. Il existe depuis plus de 20 ans et est plus ancien que Docker et Git.

Comme l’ajoute Gagarine, ce n’était même pas la première fois.Nix n’était pas non plus la première tentative de changer le packaging de Linux. Nix avait des précurseurs, qui faisaient essentiellement la même chose mais étaient plus compliqués et moins accessibles au grand public Linux. Et je pense que ce qui a rendu Nix différent, c’est sa simplicité conceptuelle. Et il existe toujours, contrairement à beaucoup d’autres. »

Communauté et entreprise

La communauté Nix est open source et financée par des dons, avec environ 800 contributeurs mensuels actifs. Mais la tendance moderne à l’immuabilité et la façon dont Nix s’y intègre n’ont pas échappé aux entreprises, même si Gagarin admet qu’il n’est pas complètement sûr des origines de cet intérêt croissant.

Trois des produits commerciaux les plus intéressants basés sur NixOS sont Systèmes déterminés, Floxet Boîte de développement. Tous en sont aux premiers stades, mais eux et des outils comme eux reconnaissent que peut-être le monde « plus simple » du développement utilisant des environnements d’exécution de conteneurs tels que Docker n’était pas aussi simple que promis et proposent une alternative.

Lire aussi  SoSafe révolutionne la formation en cybersécurité avec une approche personnalisée et novatrice

Noyau d’Ubuntu

Quand beaucoup pensent à Linux, ils pensent à Ubuntu depuis CanoniqueIl est difficile d’obtenir des chiffres réalistes, car la plupart des sources font état d’une utilisation sur ordinateur de bureau, alors qu’en réalité, c’est dans ses centres de données et ses serveurs que Linux règne en maître.

L’offre immuable de Canonical, Noyau d’Ubuntune s’adresse pas aux utilisateurs de bureau mais aux appareils périphériques. Il s’agit des petits appareils informatiques que l’on trouve désormais partout, des voitures aux robots en passant par les villes intelligentes et l’industrie. Exécutant souvent seulement une poignée de services sur de petites cartes embarquées, les appareils périphériques sont généralement gérés à distance, à grande échelle et exécutent des fonctions cruciales où la sécurité et la fiabilité sont primordiales. Un cas d’utilisation parfait pour un système d’exploitation immuable.

Noury ​​explique les cas d’usage. «Pensez au système d’exploitation principal et aux éléments clés de votre appareil. Ils ne devraient pas changer pendant le fonctionnement normal et vous ne devriez pas avoir besoin de les maintenir.

Au lieu de cela, Ubuntu Core vous permet de vous concentrer sur les composants fonctionnels uniques de votre cas d’utilisation et d’être sûr qu’ils ne changeront pas sans votre contribution. « Lorsque vous déployez un kiosque numérique, un appareil domestique intelligent ou un robot fonctionnant sur une chaîne de fabrication, vous souhaitez vous concentrer sur la résolution de vos problèmes et être sûr que les composants sur lesquels vous comptez ne changeront pas tant que vous ne les aurez pas modifiés », ajoute Noury.

Canonical’s Format Snap et Snap Store sont similaires au gestionnaire de paquets Nix. L’installation d’une dépendance à partir du Snap Store contient toutes les dépendances au moment de l’installation, avec des protections supplémentaires qui protègent le système d’exploitation hôte de l’application « snappée ».

Pour tout utilisateur de macOS, cela peut ressembler beaucoup à une installation depuis l’App Store, mais comme les utilisateurs de Linux sont plus habitués à créer des logiciels au fur et à mesure de leur installation, il s’agit d’une approche plus nouvelle et qui divise la communauté Linux.

Ubuntu Core fonctionne différemment de NixOS. Au lieu de configurer avec un fichier texte, vous utilisez une série de modèles pour définir les composants principaux d’un système d’exploitation, tels que l’architecture, la base du système d’exploitation, les snaps et les versions de snaps à installer, ainsi que les niveaux de sécurité à utiliser.

Une fois cela fait, vous pouvez déployer, créer et installer une image sur plusieurs machines. Si vous utilisez Canonical Multipasse outil, vous pouvez également créer, tester et créer des images localement dans une machine virtuelle avant de les déployer et parcourir les images prédéfinies sur lesquelles baser les vôtres.

Bien qu’Ubuntu Desktop reste non immuable, il dispose également du magasin Snap pour un certain degré d’immuabilité, et ce message d’un ingénieur Canonical détails comment cela pourrait travail.

Lire aussi  Une comète de glace peut détruire une éclipse totale de Soleil avec son explosion

Fedora Silverblue et Vanilla OS

De l’un des autres grands noms des distributions Linux, Feutrel’offrande immuable de, Bleu argentécombine des éléments de NixOS et d’Ubuntu Core. Pour les applications graphiques plus volumineuses, Silverblue utilise Flatpackqui fonctionne de manière similaire au Snap Store (et à l’App Store), en distribuant des applications sous forme d’un ensemble autonome.

Utilisation des outils de développement Boîte à outilsqui utilise à son tour des conteneurs pour permettre aux développeurs d’avoir une série de dépendances fonctionnelles par projet sans effet sur le système d’exploitation de base. Cependant, il n’y a pas de fichier de configuration reliant tout comme avec NixOS et Ubuntu Core.

Système d’exploitation vanille est similaire. L’ensemble du système d’exploitation n’est pas immuable, mais des parties clés le sont. Il a sa propre approche du gestionnaire de paquets sous la forme de Environqui installe les packages dans un conteneur, isolant tout du système d’exploitation hôte et, encore une fois, facilitant le basculement entre les versions.

Outre les installations individuelles, vous pouvez également définir des environnements de développement basés sur d’autres distributions Linux avec Apx, ce qui positionne Vanilla OS comme une sorte de hub Linux. Il gère également les mises à jour du système différemment, en créant des partitions temporaires (là encore, basées sur des images de conteneur) pour la mise à jour vers laquelle il ne bascule qu’après un redémarrage réussi (les versions récentes de macOS font quelque chose de similaire).

Enfin, si vous souhaitez être extrêmement prudent et immuable, vous pouvez rendre l’ensemble du système de fichiers en lecture seule, ce qui signifie que tout doit s’exécuter dans des conteneurs.

Fedora Silverblue et Vanilla OS ne vont pas aux extrêmes immuables de NixOS, mais ils rendent les parties les plus importantes et les plus vulnérables immuables.

À qui faire confiance

La confiance est un aspect central de cette discussion. L’argument de vente des systèmes d’exploitation immuables est qu’ils sont fiables et sécurisés. Mais pourquoi devriez-vous leur faire confiance ?

Comme le dit Noury, « l’immuabilité ne signifie pas nécessairement la sécurité ». À la base, les mesures préventives permettent de tester et de revenir en arrière en cas de problème, et généralement, les services s’exécutent dans des sandbox isolés (qu’il s’agisse de conteneurs ou d’autre chose), ce qui signifie que tout service malveillant peut avoir un impact minimal sur tout autre chose.

Pour les offres commerciales telles qu’Ubuntu Core ou NixOS, les mainteneurs surveillent généralement les bases de données Common Vulnerabilities and Exposures (CVE) pour s’assurer que les versions sont exemptes de vulnérabilités. Cependant, ces sources sont loin d’être parfaites et ne mettent pas en évidence les bugs, les développeurs doivent donc toujours effectuer leurs propres tests, ce qui, heureusement, est facilité par les systèmes d’exploitation immuables.

Un avenir immuable

Je ne suis pas sûr que les systèmes d’exploitation totalement immuables représentent l’avenir des systèmes d’exploitation, mais certains de leurs concepts et principes le sont assurément. Ils constituent un exemple classique de la façon dont il peut parfois falloir 20 ans ou plus pour qu’un concept technique trouve son heure de gloire.

2024-09-09 10:00:58
1725882071


#Les #systèmes #dexploitation #futur #sontils #immuables

Facebook
Twitter
LinkedIn
Pinterest

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.