CI/CD·

Sécuriser vos déploiements avec l'intégration et le déploiement continu

Découvrez comment sécuriser vos déploiements avec CI/CD pour des livraisons fiables.
Sécuriser vos déploiements avec l'intégration et le déploiement continu

Introduction

La sécurité des déploiements CI/CD n'est pas un sujet théorique pour moi. Chez KNDS dans le secteur défense, chez Bloomflow avec la certification ISO 27001, chez Okeiro en e-Santé HDS, et chez Coopengo avec la certification HDS — la sécurité du pipeline est une obligation réglementaire. Voici les pratiques concrètes que j'applique.

Tests automatisés et scans de sécurité intégrés

La première ligne de défense, ce sont les tests automatisés couplés aux scans de sécurité. Chez KNDS, le pipeline incluait Trivy pour scanner les images Docker a chaque build — si une CVE critique était détectée, le déploiement était bloqué automatiquement. Chez Bloomflow, on avait ajouté du secret scanning pour détecter les clés API ou mots de passe accidentellement commités. Sur WizOps.fr, le pipeline GitHub Actions exécute lint, typecheck et 51 tests Vitest avant tout déploiement. Le backend Django intègre Sentry pour le tracking d'erreurs en production. Le principe est simple : ne jamais déployer du code non testé, et ne jamais déployer des images avec des vulnérabilités connues.

Gestion des configurations et des secrets

Chez KNDS, les secrets Kubernetes étaient gérés via OKMS (OVH Key Management Service) avec injection dynamique dans les pods. Chez Bloomflow, HashiCorp Vault centralisait tous les secrets avec rotation automatique et audit trail. Sur WizOps.fr, les External Secrets avec Vault backend injectent les credentials dans le cluster Scaleway Kubernetes. Chez F2R2, les configurations Terraform sont versionnées dans Git avec les variables sensibles chiffrées. Le principe fondamental : aucun secret en clair dans le code, aucun secret en clair dans les logs, aucun secret en clair dans les variables d'environnement non protégées. Ansible Vault et les GitHub Secrets complètent le dispositif selon les contextes.

Surveillance continue et détection d'anomalies

La sécurité ne s'arrete pas au déploiement. Chez Metronome, Prometheus et Grafana surveillaient en temps réel les métriques des pods Kubernetes sur OVH Cloud — un pic anormal de CPU ou de connexions réseau déclenchait une alerte. Chez F2R2, GuardDuty et WAF protégeaient l'infrastructure AWS contre les intrusions et les attaques web. Chez SFR Business Team, c'était déja Prometheus et Grafana pour surveiller Docker Swarm. Sur WizOps.fr, Sentry capture chaque erreur backend en temps réel et envoie des alertes. L'observabilité est indissociable de la sécurité : il faut voir pour protéger.

Kubernetes et Docker sécurisés en production

Chez KNDS, la sécurité Kubernetes était multicouche : NetworkPolicies pour isoler les namespaces, RBAC granulaire pour chaque équipe, profils seccomp pour restreindre les appels système, PodSecurityPolicies pour interdire les containers root. Chez Okeiro en e-Santé, le Workload Identity sur GKE garantissait que chaque pod n'accédait qu'aux ressources GCP strictement nécessaires. Chez Bloomflow, la conformité SecNumCloud Outscale imposait du chiffrement at-rest et in-transit sur tous les volumes et les communications. Sur WizOps.fr, le chart Helm utilise Ingress NGINX avec cert-manager pour le TLS automatique. Chaque couche de sécurité réduit la surface d'attaque.

GitOps et ArgoCD : traçabilité complète

L'approche GitOps avec ArgoCD transforme Git en source de vérité pour l'infrastructure. Chez Bloomflow, chaque modification de configuration Kubernetes passait par une PR reviewée, et ArgoCD appliquait les changements automatiquement. L'audit trail est natif : qui a changé quoi, quand, et pourquoi — tout est dans l'historique Git. Chez KNDS, cette traçabilité était exigée pour les audits de sécurité. Chez Padam Mobility, le meme pattern garantissait que l'état du cluster correspondait toujours au repo Git. Pour la conformité ISO 27001, la traçabilité GitOps est un argument décisif lors des audits.

Conclusion

Sécuriser les déploiements CI/CD, c'est appliquer des couches de défense a chaque étape : tests et scans avant le déploiement, gestion rigoureuse des secrets, surveillance continue, sécurité Kubernetes native, et traçabilité GitOps. Ces pratiques, je les ai forgées dans des contextes exigeants (défense, santé, fintech) et je les applique systématiquement chez chaque client WizOps, quelle que soit la taille du projet.



RDV