Raccourcis

La sécurité des pipelines CI/CD, qu'est-ce que c'est ?

Copier l'URL

La sécurité des pipelines CI/CD sert à protéger les pipelines de code au moyen de contrôles et de tests automatisés afin de prévenir les vulnérabilités lors de la distribution des logiciels. L'intégration de la sécurité à un pipeline permet de préserver le code des attaques, d'éviter des fuites de données, de respecter les politiques et d'assurer le contrôle de la qualité.

L'approche CI/CD (intégration, distribution et déploiement continus) renvoie à une série d'étapes, souvent associées à l'image d'un pipeline, qui doivent être réalisées afin de distribuer une nouvelle version d'un logiciel. Cette approche intègre l'automatisation et la surveillance continue au cycle de développement des applications, dans l'objectif de réduire le nombre d'erreurs humaines ainsi que d'accélérer le développement d'un code de qualité.

Généralement, les principales étapes des pipelines CI/CD ne comportent pas de mesures de sécurité, ce qui signifie qu'il faut mettre en place d'autres dispositifs de protection pour sécuriser le processus de développement.
Créer des pipelines CI/CD cloud-native

Sans mesures de sécurité adaptées, le caractère rapide du développement et du déploiement peut exposer les pipelines à certains risques :

  • Exposition de données sensibles à des sources extérieures
  • Utilisation de code ou de composants tiers non sécurisés
  • Accès non autorisé aux référentiels de code source ou aux outils de développement

L'identification et l'atténuation des vulnérabilités tout au long du cycle de développement garantissent que les modifications du code sont testées de manière approfondie et qu'elles respectent les normes de sécurité avant leur déploiement en production.

 

Le DevSecOps, abréviation de Development, Security and Operations (développement, sécurité et exploitation), est une approche de la culture, de l'automatisation et de la conception des plateformes qui intègre la sécurité en tant que responsabilité partagée tout au long du cycle de vie informatique. L'un des composants clés de cette approche est la mise en place de pipelines CI/CD sécurisés. 

L'importance des pipelines CI/CD pour le DevSecOps est capitale, car ceux-ci permettent d'automatiser et d'intégrer des contrôles de sécurité dès le début du processus de développement. Ils facilitent ainsi l'identification d'éventuelles vulnérabilités, avec à la clé une stratégie de sécurité plus proactive tout au long du cycle de vie des applications.

Principe fondamental des approches CI/CD et DevSecOps, la mise en œuvre des tests au début du cycle de vie des applications implique de réaliser des tâches et activités liées à la sécurité plus en amont dans le processus de développement. Cette mise en œuvre précoce de la sécurité passe par l'automatisation des processus de test qui recherchent les vulnérabilités, par l'examen des modifications de code dès leur validation ainsi que par l'instauration d'une culture globale axée sur une sensibilisation proactive à la sécurité au sein des équipes de développement et d'exploitation.

Créer une culture DevSecOps

Phase de planification : il est essentiel d'inclure des contrôles de sécurité à chaque phase du pipeline afin de s'assurer que le code est sécurisé et conforme aux normes de sécurité. La première étape consiste à élaborer une feuille de route produit, qui permettra d'identifier les risques liés à la sécurité. C'est ce que l'on appelle la modélisation des menaces. Lors de cette opération, les vulnérabilités potentielles sont identifiées et des contre-mesures sont mises en place pour atténuer les risques associés. 

Codage : dès que les équipes de développement commencent à écrire le code, il faut prendre des mesures pour s'assurer qu'il respecte des normes et des consignes de conception prédéfinies. Des outils d'analyse du code source détectent les éléments de code qui pourraient présenter des risques en matière de sécurité.

Création : lorsque les équipes de développement commencent à valider leur code source dans un référentiel partagé, des tests automatisés doivent être réalisés afin de vérifier que les versions sont conformes aux exigences. 

Tests : dès qu'une version est créée, il faut tester le logiciel pour déceler d'éventuels bogues. Si de nouvelles fonctions sont ajoutées, d'autres tests automatisés sont effectués.

Découvrir 5 solutions pour renforcer la sécurité

Avec la solution Red Hat® OpenShift®, les entreprises peuvent adopter l'approche CI/CD afin d'automatiser les étapes de création, de test et de déploiement d'applications sur les plateformes de cloud public et sur site.Les plateformes Red Hat OpenShift et Red Hat Ansible® Automation Platform, associées aux technologies de nos partenaires, offrent une base pour l'approche DevSecOps. Elles vous aident à résoudre les problèmes de sécurité touchant le cycle de vie de vos applications conteneurisées, notamment le développement, le déploiement et l'exécution.

Pour assurer la continuité de votre activité, il est essentiel de protéger la chaîne d'approvisionnement des logiciels contre d'éventuelles vulnérabilités. Cependant, la sécurité de cette chaîne dans le cadre d'applications cloud-native exige un travail de plusieurs mois qui mobilise d'importantes équipes d'ingénierie et de développement. La gamme Red Hat Trusted Software Supply Chain regroupe des services cloud qui permettent d'accélérer ce travail. Ces services aident les entreprises à ajouter des mesures de sécurité à leur cycle de développement logiciel pour intercepter les vulnérabilités critiques au point d'entrée. 

Plateforme novatrice de sécurisation native pour Kubernetes, Red Hat Advanced Cluster Security (ACS) for Kubernetes permet aux entreprises de créer, de déployer et d'exécuter des applications cloud-native de manière plus sécurisée. Cette solution contribue à protéger les charges de travail Kubernetes conteneurisées dans l'ensemble des principaux clouds et plateformes hybrides, notamment Red Hat OpenShift, Amazon Elastic Kubernetes Service (EKS), Microsoft Azure Kubernetes Service (AKS) et Google Kubernetes Engine (GKE).

Le service Red Hat Trusted Application Pipeline (en version préliminaire) propose des définitions de pipeline par défaut et des contrôles de sécurité automatisés afin de générer des images de version SLSA (Supply chain Levels for Software Artifacts) de niveau 3 à partir du code de l'application dans de nombreux langages de programmation. Le processus de création de version comprend la rédaction d'une nomenclature logicielle attestée et immuable qui génère automatiquement une chaîne fiable pour les composants Open Source et les dépendances transitives.

Keep reading

ARTICLE

Le DevSecOps, qu'est-ce que c'est ?

Si vous souhaitez tirer pleinement parti de l'agilité et de la réactivité d'une approche DevOps, vous devez également intégrer la sécurité informatique au cycle de vie complet de vos applications.

ARTICLE

Quelles sont les spécificités de la sécurité dans le cloud ?

Les préoccupations en matière de sécurité de haut niveau affectent les systèmes informatiques traditionnels et cloud. Découvrez quelles sont les différences.

ARTICLE

Le SOAR, qu'est-ce que c'est ?

Le SOAR fait référence à trois capacités logicielles clés qu'utilisent les équipes de sécurité : la gestion des cas et des workflows, l'automatisation des tâches et la centralisation de l'accès, de l'interrogation et du partage des renseignements sur les menaces.

En savoir plus sur la sécurité

Produits

Structure de sécurité qui gère les identités des utilisateurs et préserve la confidentialité des communications.

Solution de sécurisation des conteneurs native pour Kubernetes et adaptée aux entreprises, qui permet de créer, de déployer et d'exécuter des applications cloud-native de manière sécurisée.

Service d'analyses prédictives qui aide à identifier et à écarter les menaces qui compromettent la sécurité, les performances et la disponibilité de votre infrastructure Red Hat.

Console unique pour le contrôle des clusters et applications Kubernetes, avec des politiques de sécurité intégrées.

Ressources