Diapo 1 :
Bonjour à tous,
Aujourd’hui, je vais vous présenter une approche pour améliorer la gestion de nos
processus de développement tout en garantissant leur sécurité à chaque étape. Nous
allons explorer DevOps, son évolution vers DevSecOps, et comment les outils
associés permettent d’automatiser l’intégration et le déploiement, en intégrant la
sécurité dès le début. Je partagerai également notre étude de benchmarking des
outils pour notre projet DevSecOps.
Diapo 2 :
Commençons par DevOps.
DevOps combine les équipes de développement et des opérations pour améliorer la
collaboration et automatiser les processus. L’objectif est de livrer plus
rapidement des logiciels fiables grâce à une boucle de rétroaction continue entre
chaque étape du cycle, créant ainsi une amélioration continue.
Diapo 3 :
DevOps évolue vers DevSecOps, où la sécurité est intégrée dès le début du
processus, et non en fin de cycle. Ce modèle permet d'identifier les risques tôt,
de renforcer la résilience des applications et de livrer des versions plus
sécurisées rapidement, grâce au "shift left", où la sécurité est intégrée dès les
premières étapes du développement.
diapo 4:
passons maintenant a l’étude de benchmarking des outils les plus necessaires de
DevSecOps.
Pour l’intégration continue, nous avons comparé Jenkins et GitLab CI.
GitLab CI est plus simple et rapide à utiliser, avec une intégration fluide dans
GitLab et une sécurité intégrée dans les pipelines. Jenkins, bien que très
flexible, est plus complexe à configurer et à maintenir, avec une dépendance
importante aux plugins
Concernant Tekton et Argo CD . Tekton est conçu pour gérer des pipelines CI/CD
complexes sur Kubernetes, ce qui le rend très flexible et adapté aux projets
nécessitant une personnalisation poussée. Il offre une excellente scalabilité. En
revanche, Argo CD est spécialisé dans le déploiement Kubernetes via GitOps, ce qui
le rend parfait pour automatiser les déploiements, mais il est moins adapté pour
gérer l'intégralité du pipeline CI/CD
OpenShift est une solution complète, clé en main, offrant une gestion de clusters
intégrée avec une sécurité renforcée et une interface graphique. Cela le rend très
accessible et pratique à utiliser, surtout pour les équipes qui cherchent une
plateforme prête à l'emploi. En revanche, Kubernetes est plus flexible et gratuit,
mais il nécessite des outils externes pour gérer les clusters et la sécurité, ce
qui le rend plus complexe à configurer et à maintenir.
diapo 5:
En plus de GitLab CI, Tekton, et OpenShift, il est essentiel d'intégrer des outils
qui renforceront la sécurité, l'efficacité et la qualité des pipelines DevSecOps
comme :
SonarQube :
Rôle pour Analyse statique du code pour détecter les vulnérabilités, les mauvaises
pratiques de codage et les risques de sécurité.
Snyk pour Scanner les dépendances et les images Docker pour identifier les
vulnérabilités connues.
Hadolint pour les fichiers Dockerfile afin de s'assurer que les images Docker
suivent les bonnes pratiques de sécurité.
Trivy qui est un Outil de scanner les vulnérabilités dans les images de conteneurs,
les fichiers systèmes et les dépendances.
OWASP ZAP qui est un Outil de test de sécurité dynamique des applications pour
identifier les vulnérabilités dans les applications web.
conclusion :
En conclusion, l’intégration de GitLab CI, Tekton, et OpenShift dans notre projet
DevSecOps va nous permettre de sécuriser efficacement notre cycle de développement
tout en garantissant des livraisons fréquentes et fiables. Ces outils, en
combinaison avec des solutions de sécurité, assurent une approche holistique et
sécurisée du développement logiciel.