De DevOps à DevSecOps
Commençons par l’expression DevOps. Celle-ci est née de deux notions : du Développement, « Dev », et de l’Exploitation Système, « Ops ».
Ainsi, DevOps représente les processus effectués de bout en bout. Le but de ce regroupement est d’effectuer un développement continu et de l’intégration grâce à l’évolution du nombre d’itérations. Cela permet de supprimer de possibles erreurs et d’amener plus rapidement à la réalisation du projet.
L’importance de réduire le Time to Market est une des raisons principales de cette démarche. Effectivement, en regroupant les équipes, on optimise le développement du projet.
Pour rendre cela possible, le DevOps s’appuie sur plusieurs pratiques. De la simplification à l’automatisation jusqu’au management. Cette dernière est utilisée pour simplifier le contact et les retours au sein de l’équipe.
Aujourd’hui, le DevOps s’est étendu. Dorénavant on parle d’équipes Scrum et de Management agile. Ce type de management donne plus d’importance à l’humain, plutôt qu’aux processus et outils utilisés. Mais ces derniers restent tout de même importants.
On peut dire qu’il est question de modifier la vision et la culture d’entreprise !
Qu’en est-il du DevSecOps ?
Suite au besoin de s’améliorer et de simplifier la prise de contact, on observe la naissance d’une prise de conscience : la nécessité d’une sécurité constante à tous les niveaux. C’est la naissance du DevSecOps !
Effectivement, comme le DevOps permet un développement bien plus rapide des projets, la mise en œuvre de la sécurité a elle aussi dû changer.
Auparavant, les projets se développaient sur plus ou moins quelques mois, donc la question ne se posait pas. Or, il est impossible aujourd’hui de développer un projet en intégrant la sécurité en fin de cycle. Cela est d’autant plus vrai actuellement. En effet, la sécurité est présente dans toutes les préoccupations et législations.
Pourquoi ce besoin ?
Le DevSecOps résulte du DevOps, de sa nature même. Il s’appuie sur des interactions répétitives et donc sur des informations « itératives ». C’est grâce à cela que le DevSecOps est désormais incontournable ! En effet, il est question de contrebalancer l’augmentation de possibles failles de sécurité dans les livraisons par l’augmentation des échanges.
Donc, le DevSecOps s’appuie également sur le principe itératif. C’est-à-dire sur des actions successives et répétitives de vérifications et de checking.
Pour toutes ces raisons, le DevSecOps se démarque des mesures externes de sécurité. Le pare-feu par exemple. Celui-ci est immédiatement incorporé depuis le code sur la totalité du projet. Cependant, cela n’indique pas pour autant que les mesures de blocages externe ne sont plus nécessaires.
Sécurité DevSecOps : les moyens disponibles
Auparavant, nous avons détaillé la notion de DevOps. Comment celle-ci intègre toutes les étapes de développement et comment l’aspect sécurité y est aussi lié.
Cependant, même si le DevSecOps s’intègre dans la totalité du processus CI/CD, il est dominant dans la partie « review ». C’est-à-dire au moment de l’échange entre le code et l’infrastructure, comme indiqué sur le schéma ci-dessus.
À cet égard, la démarche de sécurisation passe par plusieurs actions. Celles-ci peuvent se synthétiser par les données qui suivent :
- Automatisation de l’analyse de la sécurité,
- Automatisation des fixs de sécurité,
- Augmentation du nombre de tests de sécurité (au niveau des tests unitaires),
- Vérification des standards établis de l’application,
- Automatisation des pentests,
- Contrôle de la suppression des éléments du code,
- Virtual patching rapide (pour temporiser entre la publication et la mise en œuvre du patch final),
- Veille sécurité des technologies utilisées,
Pour finir, la mise en place d’un Security Champion. Son travail consiste à contrôler le développement mais aussi à accompagner le projet afin d’aider l’équipe DevOps en termes de sécurité. Donc il permet de monter l’équipe en compétence dans ce domaine.
Les bénéfices du DevSecOps ?
Comme indiqué précédemment, l’atout principal du DevSecOps est ses compétences humaines en plus de simplifications et automatisation. En effet le DevSecOps, ce n’est pas uniquement la mise en place de processus de simplification et d’automatisation. Cela représente aussi des experts sécurité. Ils rendent possible la monté en compétence de la totalité du Scrum. Cette montée rend en partie possible, le gain de temps lors de la progression du projet.
En partant de l’infrastructure en place, jusqu’aux Ops et aux Dev. Celui-ci peut proposer l’installation de solutions d’authentification centralisées, par Keycloak par exemple ou encore proposer la séparation des rôles. Cela est possible en infrastructure ou en applicatif.
Mais le meilleur bénéfice du DevSecOps est au niveau du Time to Market. Lorsque la sécurité est reléguée à la fin du processus de développement, les sociétés peuvent se voir confrontées au retour en développement. En effet il est possible que des failles de sécurité soit vu à la fin et nécessitent une révision poussée de la totalité du développement.
Le DevSecOps repose sur l’intégration de la sécurité, dès le début du projet (du développement) jusqu’à la mise en action. Cela évite aux équipes un long processus qui serait couteux en temps et en argent. Le DevSecOps optimise et fluidifie le travail des équipes.
Pour conclure, le DevSecOps rend possible la sécurité globale de la plateforme ; lors de sa mise en œuvre comme lors de sa progression.
Pour en savoir plus, n’hésitez pas à échanger sur le retour d’expérience de notre client sur l’accompagnement DevSecOps.