Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Les conteneurs ont-ils encore un avenir devant eux ? Non, selon Ian Eyberg
Qui déclare que les conteneurs ont toujours eu une très mauvaise réputation en matière de sécurité

Le , par Bill Fassinou

514PARTAGES

4  0 
La notion des conteneurs est apparue il y a juste quelques années. Ils servent en général à tester des applications en développement. Le but est d’avoir un environnement isolé pour réaliser tous les contrôles nécessaires avant le déploiement. Cela facilite la reconnaissance des failles de sécurité, des dysfonctionnements et d’éventuels problèmes de stabilité. Toutefois, certaines personnes pensent que les conteneurs ne sont pas l’avenir. Ils sont convaincus que la technologie disparaîtra pour des raisons de performance et certains problèmes de sécurité.

Les conteneurs ne sont pas vraiment une nouvelle technologie. On dit qu’ils ont été élaborés à partir de projets open sources tels que Docker, rkt de CoreOS, etc. Leur adoption a été très rapide à leur apparition. Mais désormais, le taux d’adoption semble stagner. Certains estiment que plusieurs entreprises et développeurs les ayant adoptés commencent à prendre du recul et à chercher d’autres alternatives. C’est le cas de Ian Eyberg, PDG de NanoVMs, une startup proposant des outils pour exécuter vos applications en tant que machines virtuelles isolées sécurisées.

Le principal enjeu ici serait la sécurité. Selon Eyberg, « la sécurité est le couloir de la mort des conteneurs ». Il a déclaré que les conteneurs et la plateforme Kubernetes ont toujours eu une très mauvaise réputation en matière de sécurité, et la situation ne cesse d'empirer. Ce dernier étant une cible inavouée pour les attaquants. En effet, le fait de renoncer à des systèmes d’exploitation séparés est un avantage quant à la performance de la virtualisation par conteneur. Toutefois, en optant pour cela, l’on s’expose à un risque d’insécurité très élevé.

Dans le cas d’une virtualisation matérielle, les failles de sécurité dans le système s’appuient en général sur une seule machine virtuelle, elles ont un effet sur tous les conteneurs logiciels lors de la virtualisation au niveau du système d’exploitation. « Nous nous attendions depuis des années à ce que la sécurité entraîne la disparition de l'écosystème des conteneurs. Il est juste brisé par défaut et ne peut être réparé avec aucun assortiment d'outils ou de changements architecturaux », a-t-il déclaré. Il justifie ces propos à l’aide d’une vidéo montrant l’attaque d’un cluster Kubernetes (k8s).


Selon ces dires, Kubernetes et sécurité ne peuvent pas faire partie de la même phrase. « Le problème ici est que les conteneurs et, par extension, l'architecture k8s sont cassés par défaut. Malgré ce que tout vendeur prétend, il n’existe aucun moyen pour sécuriser un cluster de Kubernetes. Il n'y a jamais eu de sécurité dans sa conception au départ. C'était un château de cartes, avec une fondation de sable, colporté par des aboyeurs de carnaval », a-t-il déclaré. Il souligne que tout le monde commence à comprendre désormais l'escroquerie marketing derrière Kubernetes.

Dans son argumentation, il a déclaré que la majorité des gens qui utilisent des conteneurs et des k8s sont très réticents à l'idée que quoi que ce soit d'autre fasse partie du paradigme de l'infrastructure. Le problème est que ces personnes ont passé au moins 5 ans ou plus à construire leur marque personnelle autour de la mythologie des k8s, en disant à tout le monde et à leur mère que c'est la fin de tout, l'alpha et l'oméga, et que c'est la meilleure chose depuis le pain tranché. Ils sont juste incapables de changer les choses désormais.

Par ailleurs, Eyberg a également ajouté que Google et AWS savent et reconnaissent tous deux que les conteneurs et les Kubernetes sont cassés et ne sont pas l'avenir. Ne pouvant eux aussi changer le cours des choses, ils s’efforcent de les améliorer par le biais du marketing. Sur la base de ces explications, il est arrivé à la conclusion selon laquelle les conteneurs ne sont pas l’avenir. Par exemple, Google lui-même n’utilise pas Kubernetes. Eyberg recommande d'abandonner complètement les conteneurs et Kubernetes. Il propose une autre alternative, les microVMs.

Un microVM est une unité de mesure qui résume la consommation de ressources de cloud computing. Contrairement à la conteneurisation, en particulier Docker, qui utilise un seul noyau Linux partagé avec des cgroupes, des espaces de noms, etc., les microVMs utilisent un noyau Linux séparé virtualisé au-dessus de la machine virtuelle basée sur le noyau. Les avantages du microVM sont une surcharge de mémoire moindre, un noyau optimisé très minimal et une sécurité. La partie la plus intéressante est qu'elle est écrite en Rust, qu'elle possède un impressionnant SDK Go et que de nombreux outils sont déjà développés pour elle.

Beaucoup sont d’accord avec Eyberg en affirmant que si l'on utilise le terme conteneur pour désigner spécifiquement l'isolation des applications au niveau du système d'exploitation, la probabilité que les conteneurs soient remplacés par des machines virtuelles légères est très forte. L'essor des conteneurs a consisté à empaqueter des logiciels avec toutes leurs dépendances dans un paquet autonome qui est (à des degrés divers) isolé de l'hôte sous-jacent. En ce sens, les machines virtuelles légères sont une évolution du modèle de conteneur que nous utilisons déjà.

Source : Ian Eyberg

Et vous ?

Êtes-vous du même avis que Ian Eyberg ? Pourquoi ?
Les conteneurs ont-ils encore de l'avenir selon vous ?

Voir aussi

Kubernetes 1.16 apporte la disponibilité générale des définitions de ressources personnalisées, ainsi que des améliorations côté Windows

Kubernetes 1.14 apporte une extension de l'écosystème qui passe de Linux-only à la prise en charge des conteneurs Windows

Google cède le contrôle opérationnel de Kubernetes à la communauté qui devra désormais supporter les coûts d'infrastructure cloud du projet

Les développeurs exercent une influence considérable à l'ère de Kubernetes et du cloud, selon une nouvelle étude d'IDC

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de atha2
Membre éprouvé https://www.developpez.com
Le 24/03/2020 à 16:58
Donc le CEO d'une entreprise vendant une solution de microVM nous dit que les containers sont à oublier ? Rien que ça met la puce à l'oreille.

Et quels sont ses arguments ? une vidéo où une attaque est montrée (qui exploite des failles de kubernetes mais apparemment pas des failles de docker). Et une phrase bateau, en parlant des containers, "Il n'y a jamais eu de sécurité dans sa conception au départ".
Comme on dit des affirmations extraordinaire demandent des preuves extraordinaires. Elles existent peut-être mais elle sont loin d'être présentées ici.

Et puis dire que les containers ne sont pas sécurisés revient à la même chose que dire que l'encapsulation en java peut-être violé par la reflexion. C'est peut-être vrai mais ce n'est pas le but premier de la containérisation. La sécurité doit être gérée en amont.

@redcuve : en quoi l'implémentation pue du c** ? Sortir une phrase en l'air comme ça c'est facile mais ça n'apporte rien au débat...
Sur l'implémentation windows, chaque container a son propre kernel ? Auquel cas ils n'ont rien compris à l'intérêt de docker. Si c'est un kernel (autre que le kernel windows principal) pour tout les containers, en quoi c'est plus sécurisé que ce qui se fait sous linux ?
Merci de détailler.
5  0 
Avatar de redcurve
Membre éclairé https://www.developpez.com
Le 24/03/2020 à 14:00
L'implémentation des conteneurs dans Linux pue du c**, en fait le plus drôle est que c'est que l'implémentation faites par Microsoft est plus sécurisé en utilisant un noyau séparé. De même wsl utilise une microvm, pareil pour Windows 10X qui a carrément tout Win32 dans une microvm.

Sur Windows l'implémentation des conteneurs est comme suite

[CONTAINERS]
------------------------ <- security boundary
[MICROVM - KERNEL]
------------------------ <- security boundary
[HOST - KERNEL]

La microvm permet de patcher tout les containers en même temps, empêche la perte de contrôle sur ce qu'ils font, et isole ces derniers du système hôte.
3  1 
Avatar de Aeson
Nouveau Candidat au Club https://www.developpez.com
Le 24/03/2020 à 16:18
Désolé mais le but des containers n'a jamais ete d'avoir une isolation process aussi forte que entre 2 VM. Ce n'est d'ailleur non plus le cas entre 2 AppPool IIS. L' avantage des containers est de pouvoir isolé au niveau reseaux et dependence applicatives. Ce qui est impossible avec IIS ou autre. Avec Istio et Callico on isole de L3 a L7 au niveau de tout le cluster. C'est le service mesh qui vient secuiser de maniere automatique et par default un cluster Kubernetes.

Si vous voulez isoler 2 app au niveau process vous utilisez 2 VM. Que ce soit sous IIS ou sous Docker. Rien ne change de ce coté. Ca n'as JAMAIS ete le but des containers de faire ca. Vous mettriez 1 website par serveur/IIS car les mettres sur le meme serveur serait un risque de securité ? non... alors pourquoi ca deviendrai tout a coup un requirement pour Docker ??

Et le systeme de Windows me fait bien rigoler. La stack reseaux de Windows n'est simplement pas faite pour les containers. Ca fait 5 ans que c'est un preview mdr ... Il suffit de voir les limitations reseaux de WSL.
4  2 
Avatar de Mrsky
Membre expérimenté https://www.developpez.com
Le 24/03/2020 à 16:34
Ce type prêche surtout pour sa paroisse, c'est possible que les containers soient utilisés à mauvais escient dans certain cas, mais clairement ce n'est pas impossible à sécuriser. Il prend des exemples et extrapole, il se trouve que j’étais à la conférence de Kris Nova quand elle hack dans un cluster k8s, elle précise que c'est une installation par defaut sur AWS en utilisant KOPS. Clairement si vous mettez ça en production et que vous vous faites pirater vous avez mérité votre sort. Elle donne d'ailleurs des tips pour y remédier, dont l'utilisation de Falco qu'elle était là pour présenter.
3  1 
Avatar de Aeson
Nouveau Candidat au Club https://www.developpez.com
Le 24/03/2020 à 17:06
Citation Envoyé par atha2 Voir le message
en quoi c'est plus sécurisé que ce que qui se fait sous linux ?
Merci de détailler.
Sous Windows il y a 2 modes. Le mode normal ou le kernel est partagé entre les containers et le mode ou le container est executé dans un nouveau kernel (une nouvelle vm donc). Ce qui pose des probleme au niveau resaux et qui n'est pas compatible avec Kubernetes. Personne n'utilise ca.

D'aileur utiliser des container Windows et donc y faire tourner IIS n'a aucun sens.
2  1