Le 10 décembre 2019, l’équipe Net4All a eu le plaisir d’organiser à Genève (Impact Hub) un Meetup sur la thématique suivante : Kubernetes est-il soluble dans la sécurité ?

Les retours sur expérience de nos experts ont rencontré un franc succès. Notre objectif ? Mieux comprendre les enjeux de sécurité liés à la technologie la plus en vue du moment !

Enchanté des retours très positifs et constructifs, Net4All a décidé de partager le contenu de l’atelier.

Retrouvez notre présentation en cliquant sur l’image ci-dessous : 


 

Docker, le plus populaire mécanisme de conteneurisation s’est imposé en quelques années comme une solution idéale pour tester toute sorte d’application. Aujourd’hui, cette technologie est largement utilisée par des entreprises de toute taille. Il était néanmoins exclu d’utiliser docker pour publier sur un environnement de production. Dès lors, plusieurs solutions d’orchestration ont vu le jour, telles que Swarm ou MEOS,  celle qui s’est imposée comme le standard facto concernant la gestion de conteneurs est : Kubernetes

Kubernetes : une technologie qui fait l’actualité

Afin de mieux comprendre pourquoi Kubernetes a conquis le marché, revenons à l’origine de sa création. Cet outil a vu le jour chez Google et est passé par plusieurs stades d’évolution : Borg, Omega puis enfin Kubernetes ! Très rapidement, une large communauté s’est intéressée à cette technologie : Red Hat, CISCO, IBM, Docker. Tous aujourd’hui maintiennent la plateforme en condition opérationnelle : orchestration du déploiement, configuration des conteneurs et du réseau.

Pourquoi Kubernetes ?

Kubernetes permet aujourd’hui de transformer des outils de conteneurisation en instrument de déploiement à large échelle. « L’avantage principal est que cela permet d’intégrer des processus de déploiement en termes d’intégration continue/développement afin de pouvoir faire évoluer votre applicatif en passant à travers les étapes de développement, staging et production de manière maîtrisée. » * Kévin CHOLLET

Comment cette orchestration est-elle rendue possible ? Le socle responsable de cette orchestration est composé de plusieurs logiciels qui forment, ce que l’on appelle : le Kubernetes master. A savoir que chaque master est composé de :

  • Système de stockage clé / valeur (etcd)
  • Serveur d’API qui obtiendra les instructions données au Cluster
  • Controller Manager, qui garde les ressources dans l’état désiré
  • Ordonnanceur (scheduler), qui lancera les conteneurs sur les environnements matériels ou virtuels qui conviendra le mieux à leurs besoins. *

Kubernetes et sécurité : un duo possible ?

L’apparition de nouvelles technologies telles que Kubernetes, transforme profondément les méthodes de développement et surtout de déploiement. Un nouveau profil de compétence est créé : DevOps / DevSecOps. Le métier de développeur et sysadmin n’a jamais été aussi lié, ce qui oblige vos collaborateurs à redoubler de vigilance sur certains sujets tels que :

  • Les valeurs configurées par défaut : elles ne sont pas sécurisées, il faut donc restreindre au maximum l’accès donné au conteneurs.
  • La communication réseau : il faut restreindre la communication réseau entre les différentes parties de l’application par le biais des network policies afin d’assurer une meilleure sécurité. Par exemple une application qui est un site vitrine et une autre un ERP ne doivent pas pouvoir communiquer librement.
  • Images utilisées dans le Cluster : Faire attention à leur provenance, car toutes les images ne sont pas vérifiées et il pourrait y avoir des programmes malveillants ou des programmes non mis à jour qui comportent des failles.
  • Veillez également à sécuriser le point d’entrée de l’API via un pare-feu ou d’un VPN.

Il est aussi important de prévoir la mise à jour du Cluster, tout en suivant les objectifs de disponibilité car il est tout à fait possible qu’une partie du cluster soit indisponible pendant le processus de mise à jour. C’est pourquoi il est préférable d’avoir un cluster secondaire afin de pouvoir assurer le service pendant les phases de mise à jour (si vous objectifs de disponibilité sont à 100%).

Enfin, c’est une mauvaise idée reçue que de penser que le système fonctionne de lui-même et qu’il est infaillible. Il est donc essentiel de respecter les bonnes pratiques de sécurité énoncées ci-dessus, ainsi que tout autre bonne pratique d’utilisation. Kubernetes ne protège pas un code qui possède des failles de sécurité.

Nos participants ont retenu :

« C’est l’une des premières fois que l’on assiste à une conférence qui aborde l’angle sécurité de Kubernetes. »

« Très intéressant, la démo était de très bonne qualité. »

« Très bon niveau d’échange, Meetup très agréable ! »


Sources :

*https://www.net4all.ch/blog/tout-savoir-sur-kubernetes/

*https://www.nbs-system.com/blog/kubernetes-pourquoi-faire/


 

Vous avez des questions ou besoins concernant Kubernetes ? Nos experts techniques sont à disposition pour échanger sur votre projet. Contactez-nous !

Eliza Jeker
Eliza Jeker
Chargée de Marketing et Communication