Qu'est-ce que le DevSecOps ?
Do not index
Do not index
Primary Keyword
Lié à Analyse sémantique (Articles liés) 1
Lié à Analyse sémantique (Articles liés)
Statut rédaction
A optimiser SEO
Lié à Analyse sémantique (Articles liés) 2
DĂ©finition du DevSecOpsLa genĂšse du DevSecOpsQuâest ce que le DevSecOps : Une culture avant toutQuâest-ce que le DevSecOps : Une mĂ©thodologie Ă©prouvĂ©eQuâest-ce que le DevSecOps : Des outils et technologiesQuâest-ce que le DevSecOps : Conclusion
Définition du DevSecOps
DevSecOps est une culture qui hérite du DevOps qui consiste à introduire la sécurité plus tÎt dans le cycle de vie du développement logiciel.
DevSecOps élargit également la collaboration entre les équipes de développement et d'exploitation pour intégrer les équipes de sécurité dans le cycle de livraison des logiciels.
DevSecOps nécessite un changement de culture, de processus et d'outils au sein de ces équipes fonctionnelles principales et fait de la sécurité une responsabilité partagée.
Toutes les collaborateurs impliquées dans le développement et le maintient en condition opérationnelle ont un rÎle à jouer dans l'intégration de la sécurité dans la chaßne d'intégration continue et
de livraison continue (CI/CD) DevOps.
La genĂšse du DevSecOps
Dans le monde entier, lâintĂ©rĂȘt et lâadoption du DevSecOps se dĂ©veloppent rapidement. Mais quâest-ce que le DevSecOps ?
DĂ©velopper et mettre sur le marchĂ© un SaaS ou un logiciel peut ĂȘtre long et complexe.
Â
Les développeurs (Dev), les équipes opérationnelles (Ops) et les équipes sécurités (Sec) interagissent ensemble pour répondre à 3 enjeux précis :
- Time To Market (TTM) : Mettre en ligne de nouvelles fonctionnalitĂ©s toujours plus rapidement pour aligner les applications de lâentreprise aux attentes des clients.
- Stabiliser les applications : Garantir que les applications soient toujours disponibles et fonctionnelles pour les clients afin de limiter le risque de perdre du chiffre dâaffaire ou dâimpacter lâimage de marque nĂ©gativement
- Sécurité des données : Garantir un niveau de sécurité important en continu pour ne pas se faire hacker ses données.
Â
Dans les organisations traditionnelles, chaque acteur (Dev, Ops, Sec) est responsable de traiter un seul enjeu.
Le dĂ©veloppeur sâoccupe de dĂ©velopper de nouvelles fonctionnalitĂ©s, lâĂ©quipe opĂ©rationnelle stabilise les applications et lâĂ©quipe sĂ©curitĂ© sâoccupe de la sĂ©curitĂ©.
Â
Cette organisation est bien souvent inefficace et a un impact négatif sur la productivité des équipes :
Les développeurs :
- Pour livrer dans les temps, créent involontairement des bugs et engendrent de la dette technique.
- Parce quâils ne sont pas des experts en sĂ©curitĂ©, crĂ©ent des failles sur la production sans le savoir.
Â
Les équipes opérationnelles :
- Pour éviter de créer des instabilités sur la production pour les clients, elles ralentissent ou bloquent les développeurs dans la mise en ligne de nouvelles fonctionnalités.
- Ne maĂźtrisent toujours pas les technologies utilisĂ©es par les dĂ©veloppeurs, elles nâarrivent donc pas Ă gĂ©rer le support des applications.
Â
Les équipes sécurités :
- Pour éviter de créer des failles de sécurité sur la production pour les clients, elles ralentissent ou bloquent les développeurs dans la mise en ligne de nouvelles fonctionnalités.
- Elles crĂ©ent des recommandations de sĂ©curitĂ© qui ne sont jamais appliquĂ©es car les dĂ©veloppeurs ou Ops nâont pas le temps pour les traiter.
Â
Avoir un dĂ©veloppeur, une Ă©quipe Ops et une Ă©quipe sĂ©curitĂ© ne suffit pas Ă rĂ©pondre correctement Ă tous les enjeux de lâentreprise. Il est donc nĂ©cessaire de travailler profondĂ©ment la culture et lâorganisation.
La culture DevSecOps qui combine le développement (Dev), sécurité (Sec) et opération (Ops) résout ces enjeux en coordonnant les équipes, les processus et les technologies.
Quâest ce que le DevSecOps : Une culture avant tout
Plus quâune mĂ©thodologie de dĂ©veloppement de logiciels, le DevSecOps est une culture.
Afin d'intĂ©grer les bonnes pratiques de sĂ©curitĂ© et de dĂ©veloppement, le DevSecOps nĂ©cessite la mise en place dâune culture dâentreprise forte, dâune organisation de fer ainsi que des outils, sur toute la durĂ©e du projet.
Voici les notions que la culture DevSecOps apporte :
- « Security by design » : Pour garantir un niveau de sĂ©curitĂ© Ă©levĂ©, les experts sĂ©curitĂ©s doivent ĂȘtre acteurs. Ils sont intĂ©grĂ©s dans les Ă©quipes projets et doivent mettre en place des processus de sĂ©curitĂ© qui sont assimilĂ©s dans les processus de travail des dĂ©veloppeurs et des Ă©quipes opĂ©rationnelles.
- « You build It, You run It » : Pour responsabiliser les développeurs à la qualité du code et améliorer la qualité de service sur les projets, les développeurs doivent aider les équipes supports à traiter les incidents de production.
- « Everything as Code » : Pour amĂ©liorer lâauditabilitĂ©, la reproductibilitĂ©, la qualitĂ© du code et corriger plus rapidement les anomalies, tout ce qui est rĂ©alisĂ© doit ĂȘtre rĂ©alisĂ© as code (Infrastructure as code, Compliance as Code, Test as CodeâŠ)
- « Always improve » : Pour améliorer la stabilité et la sécurité dans le temps, les équipes doivent se former en continue et chaque incident doit donner lieu à un post-mortem.
Quâest-ce que le DevSecOps : Une mĂ©thodologie Ă©prouvĂ©e
La culture DevSecOps est centrĂ©e vers une mĂ©thodologie de planification, dâexĂ©cution et dâamĂ©lioration continue. Cette mĂ©thodologie est composĂ©e de 8 phases :

Plan :
Cette phase, consiste Ă planifier les dĂ©veloppements via un ensemble de diffĂ©rents livrable comme les dossier dâanalyse de risques, la roadmap technique, le dossier dâarchitecture, le plan de monitoring ou mĂȘme les plans de formations.
Code :
AprÚs avoir planifié les travaux, vient la phase de développement.
Câest dans cette phase que tous les livrables de dĂ©veloppement sont rĂ©alisĂ©s. Cette phase comprends les dĂ©veloppements applicatifs, mais aussi le dĂ©veloppement as code de lâinfrastructure, des outils sĂ©curitĂ©, de monitoring et de supervision.
Afin de garantir une forte sĂ©curitĂ© et dâĂ©viter au maximum des failles de sĂ©curitĂ© comme par exemple les injection SQL ou XSS, les bonnes pratiques DevSecOps impose de rĂ©aliser dans cette phase une analyse statique du code (SAST) et des dĂ©pendances (SCA).
Lâanalyse SAST consiste Ă intĂ©grer dans ses processus de dĂ©veloppement des outils de relecture statique sur les IDE ou via des pre-commits.
Pour dĂ©tecter les failles de sĂ©curitĂ©, les donnĂ©es sensible et les mauvaises pratiques de dĂ©veloppement quâil ne faut pas pousser en production ou dans les outils de gestion de code. De la mĂȘme façon que lâanalyse SAST lâanalyse des dĂ©pendances (SCA) met en Ă©vidence les vulnĂ©rabilitĂ©s (CVE) des dĂ©pendances utilisĂ©s dans les livrables et permet aux dĂ©veloppeurs de les corriger avant de les pousser en production.
Build :
Câest dans cette phase que les dĂ©veloppements sont compilĂ©s. Câest en gĂ©nĂ©ral dans cette phase que lâon peut mettre en Ă©vidence les plus gros bugs techniques Ă corriger et aussi de prĂ©parer la mise en production du code.
Test :
La phase de test est lâune des plus importante de cette mĂ©thodologie DevSecOps. Cette phase va permettre de garantir un niveau de contrĂŽle, de qualitĂ©, de code et de sĂ©curitĂ© by design sur tous les livrables.
Plusieurs types de tests sont lancés sur les livrables :
- les tests de qualité
- les tests unitaires
- les tests dâintĂ©gration
- les tests de sécurité dynamique (DAST)
Tout comme le SAST, les analyses DAST permettent de dĂ©tecter diffĂ©rents problĂšmes de sĂ©curitĂ©. NĂ©anmoins, il nâest pas possible de rĂ©aliser lâanalyse DAST directement sur des livrables. Cette analyse sâeffectue sur les endpoints et web services des livrables dĂ©ployĂ©s sur les environnements de test dĂ©diĂ©. Afin dâaccĂ©lĂ©rer les dĂ©veloppements et dâaugmenter la stabilitĂ© de la production, il est commun de mettre en place des environnements de test Ă la demande pour rĂ©aliser des tests supplĂ©mentaires. Il est Ă noter que les bonnes pratiques DevSecOps prĂ©conise de rĂ©aliser TOUS les tests as code et de limiter au maximum les tests manuels.
Dans le DevSecOps cette phase est trĂšs souvent automatisĂ© dans un pipeline dâintĂ©gration continue (CI) via des outils de CI / CD comme Gitlab-CI.
Release :
AprĂšs avoir compilĂ© et testĂ© les dĂ©veloppements, vient la phase de release. Cette phase consiste Ă versionner, packager et stocker un ensemble de code sous forme dâartifact / binaire inaltĂ©rables qui seront utilisĂ©s lors de la mise en production.
Deploy :
Le code Ă©tant packagĂ© et testĂ©, il est maintenant prĂȘt pour partir en production. Câest dans la phase de dĂ©ploiement que les nouvelles fonctionnalitĂ©s sont mise en production.
Dans le DevSecOps cette phase est trÚs souvent automatisé dans un pipeline déploiement continue (CD) via des outils de CI / CD comme Github Action.
Monitor :
Une fois les dĂ©veloppements mis en production, vient la phase de monitoring. Cette phase consiste Ă analyser en continue les mĂ©triques et les logs des solutions dĂ©ployĂ©s. Elle permets donc de dĂ©tecter et bloquer les comportements qui pourrait mettre Ă mal lâapplication. De par des enjeux de disponibilitĂ© ou bien de sĂ©curitĂ© (SIEM, RASP).
Il existe un trĂšs grand nombre dâoutils DevSecOps permettant de monitorer les logs, les connexions et les usages des logiciels pour obtenir une visibilitĂ© Ă 360 des logiciels dĂ©ployĂ©s.
Operate :
Dans le cas oĂč un incident et/ou un problĂšme est dĂ©tectĂ© vient la phase de supervision. Une analyse est rĂ©alisĂ©e afin de dĂ©tecter les diffĂ©rentes root causes. Alors un rapport de problĂšme est Ă©mis, avec les diffĂ©rentes informations de lâincident et les Ă©lĂ©ments qui permettront de planifier un correctif sur la prochaine itĂ©ration de la mĂ©thodologie.
Câest dans cette phase que les rapports de disponibilitĂ© et de sĂ©curitĂ© sont Ă©mis.
Â
Pour plus dâinformations sur les diffĂ©rentes Ă©tapes de la mĂ©thodologie DevSecOps, je te conseille de consulter cette article : Les diffĂ©rentes Ă©tapes du DevSecOps
Quâest-ce que le DevSecOps : Des outils et technologies
Pour plus dâinformations sur les diffĂ©rents outils et technologies DevSecOps, je te conseille de consulter cette article : Les outils et technologies DevSecOps
Quâest-ce que le DevSecOps : Conclusion
Comme tu lâauras compris, le DevSecOps nâest pas quâun ensemble dâoutils, câest une culture avant tout. Elle mĂ©lange un ensemble de prĂ©ceptes et permet sont application via une mĂ©thodologie et un ensemble dâoutils.
Il est important de souligner que pour réussir à mettre en place le DevSecOps dans son entreprise, il faudra impliquer au maximum les équipes de développement, opérationnel et sécurité.
Â