SCOP d'ingénieurs experts du logiciel libre depuis 2004
+33 1 70 61 60 16

Comment créer un cercle vertueux avec Docker ?

Comment sécuriser vos images Docker en mettant en place des boucles de rétroaction vertueuses.
Illustration : Comment créer un cercle vertueux avec Docker ?

Notre prochain webinar

On vous a déjà beaucoup parlé de Docker dans nos articles : l’outil est pratique pour créer des environnements d’exécution isolés, facilement reproductibles et partageables. Mais quand il s’agit de passer Docker en production, c’est une autre histoire : le réseau, les volumes et autres briques viennent complexifier les opérations, lire notre article à ce sujet.

Nous ne répéterons pas ici nos mises en garde sur les bonnes pratiques. Dans cet article nous allons vous montrer comment créer des boucles de rétroactions vertueuses avec Docker une fois votre application en production, en nous concentrant sur les questions de sécurité de vos images.

Builder, déployer, et … basta ?

Au départ, le développeur construit l’image Docker de son application en utilisant une image de base qui lui permet de bénéficier d’un environnement d’exécution, puis utilise une registry Docker pour l’instancier sur un serveur. Il met en place des procédés d’automatisation (avec Gitlab par exemple), et il peut se dire qu’il a pu “faire le job”, mais pour autant peut-on se réjouir d’avoir “figé” une application dans un conteneur ?

workflow-sans.png

En effet, dans le cas d’un simple déploiement de conteneurs, rien ne nous assure que l’application bénéficie des dernières mises à jour de sécurité. Au fur et à mesure des builds et des déploiements, la mise à jour du code de l’application est une chose nécessaire mais non suffisante : on ne sait pas dans quelle mesure l’OS embarqué dans le conteneur bénéficie des dernières mises à jour.

Sécurité déléguée

L’utilisation de Docker en production revient à déléguer une partie du travail d’administration système au développeur, qui se retrouve avec la responsabilité de maintenir ses images à jour. Cette tâche nécessite de se tenir informé des vulnérabilités récentes et de les corriger le plus rapidement possible.

Chez Bearstech, nous avons une longue expérience dans ce domaine, pour en savoir plus vous pouvez lire notre article sur les bonnes pratiques pour la sécurité de vos systèmes.

Nous appliquons les mêmes principes à notre politique de sécurité Docker en maintenant des images de base pour les environnements d’exploitation des langages courants (PHP, Python, Ruby, NodeJS …).

L’utilisation de ces images par le développeur pour construire celle de son application lui permettra de s’assurer qu’à chaque “rebuild” de l’image, l’OS utilisé pour créer l’instance est non seulement à jour, mais réglé pour que l’application tourne dans un environnement optimisé pour la production.

Infrastructure cloud - Profitez d'un support dédié

Sécurité, performance, sérénité : confiez vos serveurs à des spécialistes.

Trouvez votre partenaire

Vers un cercle vertueux

Si l'on veut prendre en compte les éléments qui précèdent dans le cadre de l’exploitation de conteneurs en production, notre schéma de départ va prendre une autre allure :

workflow-avec.png

Nous allons utiliser notre système de monitoring pour surveiller la fraîcheur de l’image Docker de l’application et la comparer avec celle de l’image de l’environnement d’exécution utilisée pour le build : ces informations sont ensuite remontées dans le dashboard mis à la disposition de nos clients, et le développeur peut d’un coup d’oeil savoir si son application doit être redéployée pour bénéficier des dernières mises à jour de sécurité.

Des outils standards et une méthodologie d’experts

Bearstech a mis au point une méthodologie de surveillance et de remontée d’informations depuis les infrastructures que nous infogérons et qui s’adapte aux conteneurs.

Ces outils ne vous enferment pas dans une boîte noire, ils reposent tous sur des briques standard et libres, et nous nous appuyons sur notre expertise pour vous fournir la méthodologie qui vous permettra de construire un workflow devops qui garantira la sécurité de vos images en production :

  • Gitlab : son gestionnaire de dépôts, ses runners et sa registry consituent le coeur de l’usine logicielle. Bearstech propose un service d’infogérance Gitlab en SaaS adapté à votre situation.
  • Des images de base consolidées et maintenues : elles sont régulièrement mises à jours et disponibles sur notre hub Docker.
  • Le service de déploiement : une fois buildées, les images sont instanciées sur une infrastructure qui est infogérée par Bearstech et qui remonte les métriques nécessaires.
  • Un dashboard de pilotage : L’espace client fourni par Bearstech présente une vue d’ensemble de l’état des conteneurs, ainsi que des graphes sur l’état (CPU, Load, Memory, Réseau, I/O) des serveurs infogérés. Vous pourrez alors vérifier l’état de vos images et déterminer à quel moment les reconstruire pour bénéficier des dernières mises à jour de sécurité.

Tous les développeurs n’ont pas la chance d’avoir un administrateur système disponible en permanence, et notre rôle est d’accompagner, conseiller et fiabiliser les environnements d’exploitation, alors n’hésitez pas à vous documenter sur notre workflow DevOps et à nous contacter pour fiabiliser vos projets.


Emmanuel Mazurier

Inscrivez-vous à notre newsletter

Mieux comprendre le monde du DevOps et de l'administration système.

Abonnez-vous à notre newsletter

Hébergement & Infogérance

  • ✓ Service Astreinte 24h/7j/365
  • ✓ Supervision, monitoring & Alertes
  • ✓ Mises à jour en continu
  • ✓ Certificat SSL letsencrypt
  • ✓ Hébergement dédié sécurisé en France
  • ✓ Backup vers datacenter distant
Découvrir notre offre

Expertise Technologique

Notre équipe possède une vaste expertise technologique.