Les conteneurs Docker, qu’est-ce que c’est ?

jeudi 3 août 2017 par Shira Caldie

Les conteneurs Docker, qu’est-ce que c’est ?

Le logiciel Docker permet créer, déployer et exécuter des conteneurs de manière efficace. Un conteneur enveloppe l’application d’un logiciel dans une boîte invisible avec tout ce dont il a besoin pour s’exécuter. Cela comprend le système d'exploitation, le code de l'application, le runtime, les outils système et les librairies. Les conteneurs Docker sont construits à partir des images Docker. Ils sont légers, portables et permettent aux développeurs de créer, déployer et exécuter efficacement des applications distribuées. En outre, ils permettent à une application d’être empaquetée et déplacée facilement, augmentant ainsi la simplicité d'une infrastructure.

Docker offre également des temps de démarrage réduits, ce qui améliore l'utilisation des ressources. Cependant, au fur et à mesure que les conteneurs continuent d'évoluer, les problèmes de sécurité augmentent également.

Le défi de la sécurité

Les conteneurs sont moins isolés les uns des autres que les machines virtuelles. Le travail d'un conteneur consiste à empaqueter et à distribuer des applications, mais tous ceux disponibles sur le Web, ainsi que toutes les librairies et les composants qu’ils contiennent, ne sont pas forcément dignes de confiance. Une étude récente montre que 67 % des entreprises prévoient de commencer à utiliser des conteneurs d’ici 2 ans mais 60 % disent qu'ils sont préoccupés par les problèmes de sécurité.

Selon Adrian Mouat (Container Solutions), il y a cinq choses à retenir lors d’un examen de sécurité d’un conteneur Docker :

  1. Faille dans le noyau : Contrairement à une machine virtuelle, le noyau est partagé entre tous les conteneurs et le système hôte. Si un conteneur provoque une panique du noyau, il emportera  tout le système hôte,
  2. Attaques par  déni de service : Les conteneurs partagent des ressources du noyau, donc si un conteneur peut monopoliser l'accès à certaines ressources, il peut affamer d'autres conteneurs sur l'hôte. Il en résulte un déni de service (DoS). Les utilisateurs ne peuvent accéder à une partie ou à la totalité du système,
  3. Evasion de conteneurs : Soyez conscient d’éventuelles attaques par élévation de privilèges, où un utilisateur accède à des privilèges élevés grâce à un bug dans le code de l'application qui doit être exécuté avec des privilèges supplémentaires. Bien que peu probable, des évasions sont possibles et devraient être prises en compte lors de l'élaboration d'un plan de continuité,
  4. Images empoisonnées : Si un attaquant réussit à vous tromper lors de l'exécution d’une image, le système hôte et les données sont en danger. En outre, assurez-vous que les images en cours d'exécution sont à jour,
  5. Secrets compromettants : Lorsqu'un conteneur a accès à une base de données ou à un service, cela devrait nécessiter l’utilisation d’un « secret », comme une clé API ou un nom d'utilisateur / mot de passe. Un attaquant qui accède au secret aura également accès au service.

Alors que les conteneurs Docker peuvent être efficaces et offrir une certaine souplesse, il est essentiel de prendre en compte ces différents points avant de passer à la mise en œuvre.

Que signifient les conteneurs pour les IT et les développeurs

Dave Bartoletti, analyste chez Forrester, pense que seulement 10% des entreprises utilisent actuellement des conteneurs en production, mais près d’un tiers sont en phase de test. Docker a généré 762 millions de dollars de revenus en 2016. Les conteneurs transformeront le monde de l'informatique car ils utilisent des systèmes d'exploitation partagés. Cette technologie permettrait à un data center ou à un fournisseur Cloud d’économiser des dizaines de millions de dollars par an, mais tout dépends bien sûr des risques qu’ils seraient prêt à prendre.

Cependant, quelques préoccupations existent concernant l'assurance qu’auront les développeurs d'innover librement en utilisant des conteneurs. Les développeurs doivent pouvoir choisir les outils et les frameworks qu'ils souhaitent utiliser sans avoir à demander systématiquement la permission. L'utilisation d'un conteneur pourrait en effet étouffer la créativité d'un développeur…

Le choix incombe à alors à l’entreprise d’invertir ou non dans les conteneurs. Avec les avantages et les inconvénients qui se contrebalancent, tout peut se résumer au goût du risque.

Picture Copyright / CC0 License

Technicien Ontrack

Vous avez perdu des données ? Demandez une évaluation gratuite de votre support de stockage :
0 800 10 12 13 Evaluation gratuite