1. Sujets
  2. Sécurité
  3. Le DevSecOps, qu'est-ce que c'est ?

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

CopiedFailedCopier l'URL

Le modèle DevSecOps est l'abréviation de Development, Security and Operations (développement, sécurité et exploitation). Cette approche de la culture, de l'automatisation et de la conception des plateformes intègre la sécurité comme une responsabilité partagée tout au long du cycle de vie informatique.

Le DevOps ne s'adresse pas uniquement aux équipes de développement et d'exploitation. Pour tirer pleinement parti de l'agilité et de la réactivité d'une approche DevOps, il est nécessaire d'intégrer la sécurité informatique au cycle de vie complet des applications.

En effet, par le passé, les processus liés à la sécurité étaient isolés et confiés à une équipe spécifique, à l'étape finale du développement. Cette méthode ne posait pas forcément de problèmes quand les cycles de développement duraient des mois, voire des années, mais cette époque est révolue. Si une approche DevOps efficace garantit des cycles de développement rapides et fréquents (parfois quelques semaines ou jours), des pratiques de sécurité dépassées peuvent réduire à néant les bénéfices des projets DevOps les plus efficaces.

 

Illustration representing a linear progression from Development to Security and then to Operations

À présent, dans le cadre de travail collaboratif du modèle DevOps, la sécurité est une responsabilité partagée, intégrée de bout en bout. Cette notion est si importante qu'elle a donné naissance à l'expression « DevSecOps », qui souligne la nécessité d'intégrer la sécurité aux projets DevOps.

 

Illustration representing collaboration between Development, Security, and Operations roles

L'approche DevSecOps implique de réfléchir à la sécurité des applications et de l'infrastructure dès le départ, et d'automatiser certaines passerelles de sécurité afin d'éviter tout ralentissement du workflow DevOps. Pour atteindre ces objectifs, il faut commencer par sélectionner les outils capables d'assurer l'intégration continue de la sécurité, par exemple avec un environnement de développement intégré commun qui offre des fonctions de sécurité. L'utilisation de nouveaux outils ne suffit toutefois pas à améliorer l'efficacité de la sécurité DevOps. Il faut également intégrer plus en amont le travail des équipes de sécurité.

Ces pratiques qui visent à accorder la priorité à la sécurité dès les premières phases de planification et de développement jusqu'à l'exécution sont communément appelées shift left et shift right. La mise en œuvre de pratiques DevSecOps automatisées dans le cadre d'une approche shift left permet aux équipes de développement de mettre en place facilement des mesures de sécurité, pour réduire le risque d'erreurs des utilisateurs lors des étapes d'assemblage et de déploiement ainsi que pour protéger les charges de travail pendant l'exécution. L'approche shift right consiste à continuer les processus de test, d'assurance qualité et d'évaluation des performances dans l'environnement de post-production.

Découvrir pourquoi Red Hat est un partenaire de choix pour le DevSecOps

Ingénierie de plateforme et DevOps

« DevOps » ou « DevSecOps », quel que soit le nom donné à cette approche, il a toujours été préférable de faire de la sécurité une partie intégrante du cycle de vie des applications. Le DevSecOps implique une intégration totale de la sécurité. Il ne suffit pas de l'ajouter après le développement pour protéger les applications et données. En reléguant la sécurité à la fin du pipeline de développement, les entreprises qui adoptent le DevOps sont susceptibles de retrouver les longs cycles de développement qu'elles tentaient d'éviter en premier lieu.

Le DevSecOps met notamment l'accent sur la nécessité d'impliquer les équipes chargées de la sécurité et les partenaires dès le début des projets DevOps, afin d'y intégrer la sécurité des informations et d'en planifier l'automatisation. Cette approche souligne également la nécessité d'encourager le codage axé sur la sécurité. Pour ce faire, les équipes de sécurité doivent partager la visibilité dont elles bénéficient, ainsi que leurs observations et leurs informations sur les menaces identifiées telles que les menaces internes ou la présence potentielle de logiciels malveillants. L'approche DevSecOps se concentre également sur l'identification des risques liés à la chaîne d'approvisionnement des logiciels, en renforçant la sécurité des composants et des dépendances des logiciels Open Source très tôt dans le cycle de développement logiciel. Pour assurer une adoption efficace du modèle DevSecOps, il est aussi possible de former les équipes de développement à la sécurité, car celle-ci n'a jamais fait partie des préoccupations principales dans le développement traditionnel d'applications.

À quoi la sécurité intégrée ressemble-t-elle concrètement ? Pour commencer, une stratégie DevSecOps efficace consiste à déterminer la tolérance en matière de risques et de réaliser une analyse bénéfice-risque. Quel est le niveau de contrôle de sécurité nécessaire dans une application donnée ? Quelle est l'importance du délai de mise sur le marché pour différentes applications ? L'automatisation des tâches répétitives est essentielle pour le DevSecOps, car les contrôles de sécurité manuels dans le pipeline peuvent devenir chronophages.

Coder, assembler et surveiller avec Red Hat® Trusted Software Supply Chain

Chaque entreprise doit répondre à quelques exigences clés : maintenir des cycles de développement courts et fréquents, intégrer des mesures de sécurité avec un minimum d'interruptions, suivre le rythme des technologies innovantes telles que les conteneurs et les microservices, et favoriser une collaboration étroite entre les équipes généralement isolées. Toutes ces initiatives commencent au niveau humain, avec les tenants et aboutissants de la collaboration au sein de l'entreprise. Pour faciliter l'évolution des comportements, le modèle DevSecOps introduit l'automatisation.

Illustrations representing that DevOps plus Automation equals Security

Pour savoir quels éléments automatiser et comment procéder, il existe différents guides. Il est important pour les entreprises de prendre du recul et d'envisager l'environnement de développement et d'exploitation dans son intégralité : ce processus peut s'appliquer aux référentiels de contrôle des sources, aux registres de conteneurs, au pipeline d'intégration et de déploiement continus (CI/CD), à la gestion des interfaces de programmation d'applications (API), à l'automatisation de l'orchestration et des lancements ainsi qu'à la gestion et la surveillance de l'exploitation.

Les nouvelles technologies d'automatisation ont permis aux entreprises d'adopter des pratiques de développement plus agiles et ont joué un rôle dans la mise en œuvre de nouvelles mesures de sécurité. L'automatisation n'est cependant pas le seul composant du paysage informatique qui a évolué ces dernières années : les technologies cloud-native telles que les conteneurs et les microservices font désormais partie intégrante de la plupart des initiatives DevOps, et la sécurité du modèle DevOps doit également s'adapter pour en tenir compte.

Découvrir 5 manières de mettre en œuvre le DevSecOps grâce à l'automatisation

Les conteneurs ont amélioré l'évolutivité et le dynamisme du développement et du déploiement, ce qui a transformé la manière dont la plupart des entreprises innovent. Pour cette raison, les pratiques de sécurité DevOps doivent s'adapter au nouveau paysage et se conformer aux instructions de sécurité propres aux conteneurs.

Les technologies cloud-native ne sont pas compatibles avec des politiques et des listes de contrôle de sécurité statiques. Il est nécessaire que la sécurité soit continue et intégrée à chaque étape du cycle de vie de l'application et de l'infrastructure.

Le DevSecOps incorpore la sécurité du début à la fin du processus de développement des applications. Cette intégration au pipeline implique un changement d'état d'esprit dans l'entreprise autant que de nouveaux outils. Les équipes DevOps doivent automatiser la sécurité pour protéger l'environnement global et les données, ainsi que le processus d'intégration et de distribution continues. Pour ce faire, elles devront probablement aussi sécuriser les microservices dans des conteneurs.

La solution Red Hat® Advanced Cluster Security for Kubernetes intègre la sécurité en amont et automatise les meilleures pratiques DevSecOps. Cette plateforme fonctionne avec tous les environnements Kubernetes et s'intègre aux processus DevOps et aux outils de sécurité pour permettre aux équipes de mettre en œuvre et mieux sécuriser la chaîne d'approvisionnement, l'infrastructure et les charges de travail.

Sécurité de l'environnement et des données

  • Standardisation et automatisation de l'environnement : chaque service doit disposer du privilège le plus bas possible pour limiter les connexions et accès non autorisés.
  • Centralisation des identités utilisateur et du contrôle des accès : des mécanismes stricts de contrôle des accès et d'authentification centralisée sont essentiels pour sécuriser les microservices, car l'authentification est initiée à plusieurs stades.
  • Isolation des conteneurs exécutant des microservices entre eux et vis-à-vis du réseau : ce processus inclut à la fois les données en transit et au repos, car elles représentent des cibles de haute valeur pour les pirates informatiques.
  • Chiffrement des données entre les applications et les services : l'utilisation d'une plateforme d'orchestration des conteneurs avec des fonctions intégrées de sécurité permet de réduire les risques d'accès non autorisés.
  • Mise en œuvre de passerelles d'API sécurisées : les API sécurisées augmentent la visibilité des autorisations et du routage. En réduisant les API exposées, les entreprises peuvent réduire les surfaces d'attaque.
     

La solution Red Hat Enterprise Linux aide les entreprises à assurer la cohérence de la posture de sécurité entre les charges de travail hybrides, multicloud et conteneurisées. Elle fournit un système sécurisé et vérifiable qui protège les données dès leur démarrage, ainsi qu'un niveau de cryptographie élevé pour protéger les données en transit. Cette approche repose sur des fonctions telles que le démarrage sécurisé pour mesurer de manière cryptographique les modules chargeables et l'environnement de démarrage, ainsi que l'attestation à distance pour vérifier l'intégrité du système et détecter les compromissions. De plus, Red Hat Enterprise Linux offre un système de suivi des vulnérabilités et une nomenclature des logiciels qui garantissent la transparence, et des services de souscription qui assurent la continuité des mises à jour et des correctifs.

En savoir plus sur Red Hat Enterprise Linux et la sécurité → 

Sécurité du processus de CI/CD

  • Intégration d'outils d'analyse de sécurité pour les conteneurs : cette étape doit faire partie du processus d'ajout de conteneurs au registre.
  • Automatisation des tests de sécurité du processus de CI : ce processus inclut l'exécution d'outils d'analyse statique de la sécurité dans le cadre de la création de versions, ainsi que l'analyse de toutes les images de conteneurs préconçues pour identifier les vulnérabilités de sécurité connues à mesure qu'elles sont intégrées au pipeline de création de versions.
  • Ajout de tests automatisés pour les fonctionnalités de sécurité au processus de test d'acceptation : cette étape vise à automatiser les tests de validation de saisie ainsi que les fonctions de vérification, d'authentification et d'autorisation.
  • Automatisation des mises à jour de sécurité, notamment les correctifs pour les vulnérabilités connues : ce processus peut s'effectuer dans le cadre du pipeline DevOps. Il doit être en mesure d'éliminer le besoin pour les administrateurs de se connecter aux systèmes de production tout en créant un journal des changements documenté et traçable.
  • Automatisation des fonctionnalités de gestion des configurations du système et des services : ce processus garantit la conformité avec les politiques de sécurité et l'élimination des erreurs manuelles. Les audits et les mesures de correction devraient également être automatisés.

En savoir plus sur la sécurité CI/CD 

L'ingénierie de plateforme est une branche du développement logiciel dont le but est d'améliorer la productivité, la distribution de logiciels et la rapidité de mise sur le marché. Elle intervient à un autre moment que le DevOps et cible un ensemble différent de problèmes. L'objectif principal de l'ingénierie de plateforme consiste à identifier les difficultés que rencontrent les équipes de développement et à les éliminer grâce à des fonctionnalités, outils et services courants et réutilisables, à partir d'une plateforme de développement interne. L'ingénierie de plateforme peut soutenir les pratiques DevSecOps en créant des fonctionnalités pour la sécurité, la productivité et la standardisation. Cette approche facilite également l'adoption des pratiques DevSecOps et permet de sécuriser la chaîne d'approvisionnement des logiciels pour la distribution des applications. 

En savoir plus sur l'amélioration du DevSecOps grâce à l'ingénierie de plateformePage affichée en Anglais (Français non disponible)

Red Hat Enterprise Linux et sécurité 

Red Hat Enterprise Linux offre une base sécurisée qui aide à améliorer le niveau de sécurité et de conformité dès le départ. La solution offre les avantages suivants : 

  • Intégration de la sécurité dès le départ 
  • Utilisation d'images sécurisées au préalable et de l'immuabilité avec le mode image pour Red Hat Enterprise Linux 
  • Gain d'efficacité grâce à l'automatisation et à l'orchestration via les rôles système Red Hat 
  • Mise en place d'une chaîne d'approvisionnement des logiciels fiable et sécurisée 
  • Efficacité de la protection des environnements d'exécution avec SELinux et fapolicyd 

En savoir plus sur Red Hat Enterprise Linux et la sécurité

Ressource

État de l'ingénierie de plateforme à l'ère de l'IA

Cette présentation détaillée offre une analyse complète de l'enquête « État de l'ingénierie de plateforme à l'ère de l'IA », menée par Illuminas. Découvrez la présentation détaillée.

Red Hat Trusted Software Supply Chain

Découvrez comment Red Hat Trusted Software Supply Chain accompagne les équipes DevSecOps à chaque étape du cycle de développement logiciel.

En savoir plus

L'automatisation de la sécurité, qu'est-ce que c'est ?

L'automatisation de la sécurité consiste à utiliser des technologies pour réaliser des tâches avec une intervention humaine limitée, afin d'intégrer les processus, les applications et l'infrastructure en lien avec la sécurité.

Approches Shift Left et Shift Right

Les approches Shift Left et Shift Right consistent à mettre en œuvre des tests continus à chaque étape du cycle de développement logiciel.

La sécurité de l'edge computing, qu'est-ce que c'est ?

Le terme « sécurité de l'edge computing » désigne les outils et pratiques qui servent à protéger l'infrastructure et les charges de travail d'edge computing situées à distance où l'expertise sur site s'avère limitée.

Sécurité : ressources recommandées

Articles associés