L’approche DevOps est née pour casser les silos entre les équipes de développement et des opérations, qui créent jusque-là des divisions et des points de friction. Son objectif premier était d'unir les différentes visions des équipes afin d'améliorer la vitesse et la qualité de livraison des projets. Si la nouvelle approche DevSecOps partage cet objectif, elle permet également de répondre à une préoccupation majeure des entreprises aujourd’hui : la sécurité.
En réunissant de manière temporaire ou définitive les rôles de développement, des opérations et de la sécurité, l'équipe devient plus unie, plus compétente et mieux informée. Elle est donc plus apte à prendre des décisions de manière autonome. La direction, qui opérait auparavant entre les équipes, est désormais orientée vers le soutien de la collaboration de l’équipe élargie. Pour mettre en place une approche DevSecOps, les entreprises doivent articuler son implantation autour de quatre grands axes dans lesquels les responsabilités et les considérations des équipes de développement vont bien au-delà de leurs attributions traditionnelles.
Choisir la bonne technologie
Les outils qui prennent en charge un pipeline DevSecOps sont généralement le point de départ de la plupart des transformations organisationnelles. Si une technologie ne s'adapte pas aux changements requis, la tentative est vouée à l'échec. Les développeurs veulent s'assurer que l'application est sécurisée et peut être exploitée en toute sécurité. Historiquement, cela tourne autour du code, mais, à mesure que l'organisation évolue vers le DevSecOps, cela peut s'étendre aux dépendances du code, à l'infrastructure et aux services externes. Ensuite, les considérations s'étendent aux cadres de gestion des identités et des clés des utilisateurs, aux informations de journalisation et de traitement des exceptions, et même à des considérations commerciales plus larges telles que les licences et la gestion des données.
Optimiser la livraison des logiciels
Pour s'assurer que l'application est livrée de manière sécurisée, les équipes doivent aller au-delà du code et s'intéresser à l'environnement de l'application, à la manière dont elle est testée, déployée et aux correctifs. Les équipes auront besoin de technologies et d'outils pouvant s'intégrer de manière transparente dans le pipeline de développement. Il est donc essentiel d'adopter une automatisation qui prenne en charge les besoins multifonctionnels d'un modèle DevSecOps. Les entreprises doivent examiner leurs technologies et les automatiser, les rationaliser et les supprimer lorsqu'elles ne sont pas pratiques ou redondantes. Réduire au maximum les différentes technologies par lesquelles passe le pipeline est en effet un moyen efficace d'optimiser la livraison de logiciels. Pour adopter une culture DevSecOps, il faut mettre en place des technologies qui permettent aux employés d'exécuter les processus et les automatiser. Cela réduit la surface d'attaque de l’entreprise et permet une gestion efficace des coûts de sécurité.
Faire évoluer le processus de gestion de la sécurité
Il est essentiel pour une équipe DevSecOps de discuter de la manière dont les processus de gestion de la sécurité peuvent être améliorés. Pour soutenir le modèle de responsabilité partagée, l'équité des objectifs doit être établie entre les disciplines. Les modèles de blocage doivent être revus et supprimés lors du passage à DevSecOps. Les stratégies de sécurité traditionnelles impliquent des étapes clés où la progression pouvait être arrêtée jusqu'à l'obtention d'un résultat acceptable, créant ainsi de longues boucles de rétroaction qui ralentissaient la livraison et renforçaient la pensée en silo. Désormais, la responsabilité mutuelle doit être adoptée et soutenue par des changements de processus pour éviter les blocages.
Responsabiliser les équipes
Les développeurs travaillant dans une culture DevSecOps veulent être habilités à prendre des décisions pour s'approprier la sécurité de l'application. En restructurant les équipes DevOps et de sécurité pour établir une coopération efficace entre elles, la garantie de la sécurité deviendra un état d'esprit plutôt qu'une entrave. Voici quelques étapes pour rendre ces équipes autonomes :
- La collaboration au fil des conversations. Elle peut être facilitée par la technologie, mais nécessite également une interaction humaine. Les membres de l'équipe se posent des questions, proposent des idées et résolvent les problèmes en travaillant ensemble.
- Créer une culture d'apprentissage autour de la sécurité. Les experts de chaque domaine doivent développer une curiosité envers les autres domaines et poser des questions à leurs homologues, apporter leur propre point de vue et discuter pour comprendre comment aborder les problèmes.
- La responsabilisation et l'appropriation. Les développeurs doivent se sentir responsables de la sécurité, et s’approprier ce domaine au même titre que toutes les autres personnes impliquées.
Réaliser toutes ces étapes peut prendre du temps mais changer de culture est un investissement à long terme stratégique et une évolution continue de la culture au sein de l'entreprise. Chaque amélioration de la compréhension et de la collaboration autour du stack, du développement applicatif, de la gouvernance est un pas en avant vers l'adoption de la culture DevSecOps et le développement d'applications plus sûres.
Par Patrick Debois, Director of Market Strategy chez Snyk