Vous avez certainement entendu parler du DevOps, mais quid du DevSecOps ? Le concept de DevSecOps consiste à faire de la sécurité logicielle une partie intégrante du processus global de déploiement applicatif.
Pour saisir l'importance de cette approche, il faut d'abord se pencher sur les anciens concepts de sécurité logicielle. Traditionnellement, tout ce qui concernait la sécurité des applications était traité séparément des autres processus de développement. Les développeurs écrivaient du code, tandis que les équipes IT le déployaient sans trop penser à sa sécurité. Ce n'était qu'une fois le logiciel en production que les ingénieurs sécurité recherchaient des vulnérabilités dans le code ou les environnements d'hébergement.
Or, cette approche de la sécurité logicielle s'avérait particulièrement inefficace, surtout dans les environnements cloud où les déploiements sont fréquents. En cas de problème de sécurité, il fallait souvent retirer dans l'urgence le code concerné, réduisant à néant tous les efforts de développement préalables. En outre, il n'était pas rare que ces problèmes ne soient détectés qu'une fois l'application en production, au risque d'exposer les entreprises concernées aux menaces de sécurité.
Pour éliminer ces problèmes, le DevSecOps s'inscrit dans une stratégie de sécurité « shift left » qui consiste à intégrer la sécurité à tous les stades du processus de déploiement logiciel. Ainsi, les développeurs écrivent du code sans jamais perdre de vue l'aspect sécurité, tandis que les applications sont testées avant leur déploiement pour détecter d'éventuels problèmes dans ce domaine. Quant aux équipes IT, elles disposent de tous les moyens nécessaires pour résoudre ces problèmes rapidement en cas de détection post-déploiement.
Le DevSecOps, une émanation directe du DevOps
Le DevSecOps n'est pas une alternative au DevOps. Il élargit simplement le principe clé du modèle DevOps – l'idée selon laquelle les développeurs et les équipes IT doivent collaborer étroitement au lieu de travailler en vase clos – aux équipes de sécurité. Une stratégie DevSecOps réussie consiste donc à adopter le DevOps et à intégrer la sécurité à tous les stades du pipeline de développement CI/CD.
DevSecOps : une culture plus qu'un outil
De nombreux outils et processus peuvent aider une entreprise à adopter le DevSecOps. Toutefois, ce concept n'en désigne aucun en particulier. Il s'apparente en fait à une culture.
Le DevSecOps revient à instaurer une nouvelle philosophie dans l'organisation. Les développeurs, les équipes IT, les professionnels de la sécurité et tous les autres acteurs impliqués dans le déploiement logiciel doivent élever la sécurité des applications au rang de priorité. Avant toute décision liée à une application, l'ensemble de votre équipe doit envisager les répercussions sur sa sécurité. Si c'est le cas, vous aurez négocié avec succès le virage du DevSecOps.
Implémentation du DevSecOps
Le meilleur moyens - ou la meilleure combinaison de moyens - de mettre en œuvre une stratégie DevSecOps dépendront de vos besoins. De manière générale, vous avez le choix entre plusieurs pistes pour l'implémentation d'une culture DevSecOps dans votre entreprise.
Sensibilisation : veillez à ce que tous les acteurs impliqués dans le déploiement applicatif comprennent les menaces de sécurité actuelles et l'importance de leur neutralisation.
Communication : mettez en place des canaux de communication efficaces entre tous vos collaborateurs pour leur permettre de partager rapidement toute information utile sur d'éventuels problèmes de sécurité.
Playbooks de sécurité : développez des « playbooks » qui indiquent aux différents collaborateurs la réponse à apporter à un type d'incident de sécurité donné.
Audits et conformité : faites des audits de sécurité et des contrôles de conformité une partie intégrante du processus de déploiement logiciel.
Adoption des bons outils : privilégiez des outils de sécurité cloud basés sur des API qui vous permettront d'automatiser l'application de vos politiques de sécurité et de conformité dans le cloud.
Faites des développeurs des alliés de votre sécurité
Lors de l'implémentation d'une stratégie DevSecOps, ce sont généralement les équipes de développeurs qui sont les plus réticentes. Reste donc à savoir comment convaincre les réfractaires de l'importance de la sécurité, intégrer cette nouvelle composante à leurs domaines de responsabilité, puis les former en conséquence.
Pour impulser votre transformation DevSecOps, il vous faut les bons outils. Grâce à des outils qui exploitent les API de fournisseurs cloud pour automatiser vos politiques de sécurité, les développeurs peuvent se former petit à petit et éviter de graves erreurs. Vous pouvez utiliser des outils cloud-native pour automatiser les politiques dans AWS. Toutefois, en cas de déploiement multicloud, de cadre règlementaire strict ou d'environnement AWS couvrant de multiples comptes, vous aurez certainement besoin d'un outil tiers pour agir efficacement et centraliser la gestion de vos politiques. Pour savoir comment sélectionner un outil adapté, lisez cet article de blog.
Pour découvrir comment DHI Group est parvenu à instaurer une culture DevSecOps, lisez son témoignage dans un article intitulé « Mariage du DevOps et du SecOps autour du DevSecOps ».