Tous les projets
Étude de cas 03 / 08Universitaire / Personnel

Pipeline CI/CD défensif pour la sécurité des conteneurs Docker

Un pipeline intégrant la sécurité, avec une migration éliminant le recours à Docker-in-Docker en mode privilégié.

DevSecOps et automatisation
Contexte
Projet DevSecOps universitaire et personnel
Mon rôle
Conception et implémentation du pipeline; migration du processus de construction
État
Pipeline implémenté; approche historique de construction avec Kaniko
Livrable
Pipeline GitLab avec étapes de lint, d’analyse, de construction et de déploiement

Décision et éléments probants

Réduire les privilèges nécessaires à la construction

Docker-in-Docker en mode privilégié liait la construction à un démon Docker disposant de privilèges élevés. J’ai migré le projet vers Kaniko pour éliminer cette dépendance tout en conservant les constructions automatisées.

Le compromis architectural opposait la compatibilité des constructions à l’exécution privilégiée. Toute nouvelle implémentation devrait réévaluer l’état de maintenance de ses outils de construction.

01

Présentation

Conception et mise en œuvre d’un pipeline GitLab CI/CD comprenant des étapes automatisées de lint, d’analyse des vulnérabilités, de construction des conteneurs et de déploiement.

02

Objectif

Intégrer la sécurité à la livraison logicielle tout en traitant les privilèges élevés associés aux constructions Docker-in-Docker.

03

Ma contribution

  • Mise en œuvre d’étapes automatisées de lint, d’analyse des vulnérabilités, de construction des conteneurs et de déploiement.
  • Identification du risque de sécurité lié à Docker-in-Docker en mode privilégié.
  • Migration du processus de construction vers Kaniko, supprimant la dépendance au démon Docker tout en conservant des constructions automatisées fiables.
04

Approche technique

  • Organisation de la livraison en étapes explicites pour intégrer la validation et les contrôles de sécurité au processus de construction et de mise en production.
  • Passage d’une architecture de construction Docker-in-Docker privilégiée à une approche Kaniko sans démon.
05

Périmètre et considérations

La décision architecturale centrale conciliait fiabilité des constructions et réduction de l’exécution privilégiée. Kaniko désigne la technologie utilisée dans ce projet; cela ne signifie pas qu’il s’agit actuellement de l’outil à privilégier pour tout nouveau pipeline.

06

Résultat

Amélioration des pratiques de construction et de livraison sécurisées et de la cohérence du pipeline. Démontre des compétences en DevSecOps, sécurité des conteneurs, automatisation et prise de décisions architecturales concrètes.

07

Technologies

  • Docker
  • GitLab CI/CD
  • Kaniko
  • DevSecOps
  • Analyse des vulnérabilités
  • Automatisation
Étude de cas suivanteConception de processus ITSM et ServiceNow d’entrepriseVoir les huit projets