Pipeline DevSecOps

La popularité de l’approche DevSecOps est en hausse, et ce pour de bonnes raisons. L’adoption de DevSecOps peut aider votre équipe à réduire les risques, à simplifier le respect de la conformité et à intégrer la sécurité dans vos pipelines d’intégration continue et de livraison continue (CI/CD). Cependant, il n’est pas toujours facile de savoir par où commencer. Il peut être difficile de comprendre à quoi ressemble un DevSecOps pipeline Tidans la pratique ou quels sont les meilleurs outils pour votre équipe.

Dans cet article, nous abordons le sujet des pipelines DevSecOps afin de vous aider à vous familiariser avec la sécurité et la conformité CI/CD.

Qu’est-ce qu’un pipeline DevSecOps ?

Tout comme la culture DevSecOps intègre la sécurité dans la pensée DevOps traditionnelle, les pipelines DevSecOps intègrent la sécurité dans les pipelines CI/CD DevOps traditionnels. Alors que la sécurité n’intervient que tardivement dans le cycle de développement traditionnel, il s’agit d’un processus continu dans un pipeline DevSecOps

User-added image
Les pipelines DevSecOps intègrent la sécurité tout au long des étapes du cycle de vie du développement logiciel (SDLC)

 

Dans son keynote swampUP The Divine and Felonious Nature of Cyber Security, John Willis rappelle plusieurs bonnes pratiques DevSecOps importantes à garder à l’esprit lorsque vous construisez vos pipelines

  • Traitez les problèmes de sécurité de la même manière que les problèmes de logiciels.
  • Adopter une approche « security as code » (sécurité en tant que code) pour permettre l’automatisation de la sécurité.
  • Intégrez les contrôles de sécurité et la détection des vulnérabilités dans les pipelines CI/CD.
  • Automatisez les tests de sécurité dans le cadre du processus de build.
  • Contrôlez la sécurité des déploiements de production de manière proactive.

Logiciels open source et pipelines DevSecOps

D’une certaine manière, la montée en puissance du DevSecOps est une progression logique du DevOps. Tout comme le fait de partager la responsabilité des opérations contribue à améliorer la fiabilité des applications, le fait de partager la responsabilité de la sécurité permet d’améliorer la position globale en matière de sécurité. Cependant, il existe des raisons plus nuancées qui expliquent l’importance accrue de DevSecOps, et la prévalence des logiciels open source (open source software (OSS)) est en tête de liste.

Aujourd’hui, les composants open source représentent environ 80 à 90 % des applications modernes. En effet, l’utilisation de logiciels open source présente des avantages considérables. Par exemple, les composants OSS sont souvent plus sûrs, plus robustes et plus fiables que les solutions commerciales. En outre, l’utilisation d’une bibliothèque ou d’une application OSS existante est beaucoup plus efficace que la programmation de la même fonctionnalité à partir de zéro.

Cependant, si les logiciels open source présentent de nombreux avantages, ils posent également des problèmes de sécurité et de conformité. Un seul composant non corrigé et vulnérable à une exploitation d’une faille de sécurité CVE (Common Vulnerabilities and Exposures, ou Vulnérabilités et expositions communes) publiée fait de votre application une cible de choix pour les pirates informatiques. De même, un simple problème de licence peut entraîner des problèmes de conformité dont la résolution coûte du temps et de l’argent.

Comment les outils SCA permettent la sécurité et la conformité dans les pipelines DevSecOps ?

À ce stade, le problème est clair : comment déterminer si les composants OSS que vous utilisez présentent des failles de sécurité connues ou s’ils utilisent des licences susceptibles de poser des problèmes de conformité ?

S’assurer manuellement que les correctifs des logiciels OSS tiers sont à jour et qu’il n’existe pas de problème de licence est lent, inefficace et propice aux erreurs. Cela est particulièrement le cas lorsque vous devez gérer plusieurs pipelines avec une grande variété de paquets OSS et de dépendances. Les vérifications manuelles n’étant ni évolutives, ni fiables, ni efficaces, les équipes de développement utilisent des outils d’analyse de composition logicielle (SCA) pour analyser le code, les conteneurs, les registres et les artefacts logiciels afin de détecter les failles de sécurité et les problèmes de conformité aux licences. Dans de nombreux cas, les outils SCA avancés permettent une détection continue des problèmes de sécurité ou de conformité, des alertes personnalisées, la création de politiques, des suggestions pour remédier aux problèmes et le déclenchement d’actions automatiques lorsque des problèmes sont détectés.

Comment garantir la conformité dans les pipelines DevSecOps ?

Comme vous pouvez le constater, les outils SCA sont un moyen utile d’atténuer les risques liés à l’utilisation de divers logiciels open source tiers. Cependant, comment trouver l’outil SCA adéquat pour assurer la sécurité et la conformité dans votre SDLC ? Il n’existe pas de réponse unique, mais vous devez rechercher des outils qui s’intègrent nativement à votre infrastructure existante, qui fonctionnent à travers diverses plateformes cloud et sur site, qui fournissent des analyses et des rapports approfondis et qui prennent en charge tous les types de paquets utilisés dans vos pipelines.

JFrog Xray – une solution de pipeline DevSecOps – est un exemple de solution SCA qui remplit toutes ces conditions et bien plus encore. Par exemple, JFrog Xray :

  • Fait partie de la JFrog DevOps Platform qui offre une automatisation DevOps universelle, hybride et de bout en bout.
  • Prend en charge l’analyse de tous les principaux types de paquets et peut les décompresser intelligemment (par exemple, si Xray trouve une application Java, il analysera tous les fichiers .jar utilisés).
  •  Crée des graphiques de composants de votre infrastructure qui vous permettent de visualiser les relations entre les composants logiciels de votre organisation.
  • Vous permet de créer des politiques et des rapports granulaires en matière de sécurité et de conformité.
  • Offre une visibilité unique sur toutes les informations relatives à la sécurité et à la conformité de vos artefacts.
  • Exploite les renseignements sur les vulnérabilités et la conformité provenant de sources publiques et privées et de l’expertise de l’équipe de recherche en sécurité de JFrog pour améliorer les métadonnées et remédier aux vulnérabilités.
  • Prend en charge une grande variété d’options d’intégration (par exemple, plug-ins pour les environnements de développement (IDE) et les outils de CI les plus courants, API RESTful et interface de ligne de commande robuste).
  • Assure une surveillance continue, même après le déploiement en production.
  • Est la seule solution d’analyse de sécurité qui s’intègre nativement à JFrog Artifactory.
User-added image
JFrog Xray facilite la création et l’application de politiques de sécurité

Dernières réflexions : se lancer dans le DevSecOps

Maintenant que vous comprenez les bases des pipelines DevSecOps, vous pouvez commencer à sécuriser vos pipelines CI/CD plus efficacement. Via l’approche « Shift Left Security » (déplacement vers la gauche) et l’intégration de la sécurité tout au long de votre cycle de développement, vous augmenterez la qualité et la sécurité des produits que vous livrez tout en réduisant le risque que des problèmes de conformité ou de licence aient un impact sur vos projets.