DevOps, dont le principe est d’assurer la collaboration et la communication entre Développement et Opérations, est de plus en plus répandu, à juste titre. C’est un cadre qui permet de meilleures pratiques et de livrer plus vite et plus de valeur. D’où son succès. Toutefois tout n’est pas rose et au fil des ans des lacunes sont apparues, notamment au niveau de la sécurité. Bien sûr c’est un volet qui faisait partie de DevOps : mieux livrer implique aussi des livraisons sûres, mais les risques cybers ayant été longtemps minimes, beaucoup d’équipes ont baissé la garde sur ce front. La résurgence des cybermenaces et l’intensification des dommages (par exemple avec des systèmes entièrement bloqués, obligeant les compagnies à opérer avec papier et crayon), a rappelé tout le monde à l’ordre.
Pourquoi DevSecOps ?
DevSecOps s’est développé pour apporter aux organisations une approche qui intègre au mieux les volets de sécurité et de conformité. En effet, l’idée qui sous-tend DevSecOps est d’incorporer ce qui touche à la sécurité tout au long du développement, au lieu d’attendre la livraison finale. Cela évite de devoir revenir en arrière, juste avant la mise en ligne, si des failles sont détectées dans un logiciel ou une application, par ailleurs parfaitement fonctionnels. Une meilleure sécurité ce sont des équipes plus productives et des clients rassurés.
Bien qu’il n’existe pas de système parfaitement sécurisé, DevSecOps permet de maintenir l’agilité en intégrant la sécurité aux cycles de développements courts. Et moins on attend pour corriger un enjeu de sécurité, moins ça coûte cher.
Quels sont les grands principes de DevSecOps ?
D’abord faciliter la gestion de la sécurité par les équipes de Dev, notamment parce qu’elles ne sont pas composées d’experts en sécurité. Cela passe par deux volets :
- Gouvernance et protocoles: le maillon faible étant (presque) toujours humain, commencer par mettre en place une gouvernance et des protocoles est une bonne façon de rendre tout le monde plus efficace. Cela implique de préciser les rôles et les autorisations et de définir des plans d’action en cas de risque. Ne serait-ce qu’en s’assurant que chacun sait quoi faire en cas de doute (qu’il s’agisse d’action à mener ou de contact à alerter). Personne ne veut d'une équipe ou d'un membre qui ne fait rien ou qui prend la mauvaise décision, faute de savoir quoi faire. Cela implique aussi de définir des indicateurs pour mesurer les progrès.
- Automatisation: puisque tous ne peuvent avoir une expertise en sécurité, automatiser un certain nombre de tâches liées à la sécurité permet de combler ce déficit. Cela limite aussi, de fait, les erreurs humaines. L’automatisation va prendre tout son sens sur les composants à risques (réseaux, bases de données, applications, etc.).
Ces deux volets impliquent une vision claire des parties prenantes et de leurs rôles respectifs.
Développeurs | Opérations |
Pensent à la sécurité | Fournissent des outils centralisés |
Sécurité-Conformité | Dirigeants |
Communication | Ligne de direction claire |
Comment automatiser la sécurité dans DevSecOps ?
En la plaçant en amont du processus de développement et en automatisant l’exécution des contrôles de sécurité. Il faut que l’évaluation des risques prennent place à toutes les étapes du processus :
- Planification -> les modèles de menaces
- Développement -> la revue de code
- Compilation -> l’analyse statique
- Test -> l’analyse dynamique
- Déploiement -> la conformité
- Opérations -> la gestion des secrets
- Surveillance -> Analyse du comportement des utilisateurs et analyses de l'utilisation des systèmes
- Et on recommence la boucle DevOps.

(source GoLogic)
La sécurité ainsi répartie devient l’affaire de tous et non pas d’un seul expert.
Différence entre sécurité et conformité
Rappel rapide :
La sécurité touche à tout ce qui pourrait être une faille exploitable par des personnes mal intentionnées.
La conformité est le fait de respecter des standards imposés par des organismes et/ou des gouvernements, généralement à des fins de sécurité.
Pour conclure sur DevSecOps
Il est clair que la lutte contre les cyberattaques doit être une priorité des entreprises, pour des questions d’efficacité, de coûts, de notoriété et donc de survie. DevSecOps permet de renforcer l’aspect sécurité et conformité en s’intégrant aux pratiques DevOps déjà en place.
Ce faisant, l’ensemble de la chaîne logiciel est plus sûre, les coûts sont réduits car les enjeux sont moins gros car traités plus tôt, les opportunités pour les pirates sont plus rares, les processus sont reproductibles et adaptatifs.
Pour aller plus loin :
DevSecOps Foundation : stratégies de sécurité et avantages pour votre organisation
Voir toutes les formations en Surveillance et sécurité
Photo by Drew Harbour on Unsplash