Stratégie DevSecOps : quatre principes incontournables pour bien la mener

A l'heure où la transformation digitale demeure en tête des priorités de nombreux CEO, les organisations se tournent de plus en plus vers des bonnes pratiques DevOps pour stimuler l'innovation.

Les cycles de développement sont si rapides qu’ils mettent une pression intenable sur les équipes chargées de la sécurité, qui tiennent difficilement la cadence. Face à des équipes commerciales redoublant d’efforts pour rester compétitives, les développeurs peuvent être tentés d’occulter la sécurité pour tenir des échéances très serrées.  Dans de nombreux cas, la sécurité passe pour un domaine très complexe et hétérogène qui alourdit la tâche des équipes de développement déjà sursollicitées. A cette complexité vient s’ajouter la popularité croissante de Kubernetes, un système d’orchestration de conteneurs qui est vite devenue la plateforme de choix des développeurs. Pourtant, Kubernetes en tant que technologie open source, évolue et s’améliore en permanence, ce qui accroît la pression sur les équipes chargées de la sécurité pour suivre ces nouveautés et protéger leurs environnements.

Un risque accru pour l’exploitation

Au sein d’un écosystème Kubernetes, la façon dont les organisations configurent et gèrent leur parc d’identités machine constitue la principale source de risque. Chaque fois qu’un développeur met en production un microservice, un conteneur ou une machine virtuelle, il doit lui attribuer une identité et la gérer tout au long de son cycle de vie. L’essor du cloud computing, dynamique par nature, a entraîné un boom du nombre d’identités machine, devenues trop nombreuses à gérer manuellement. Faute de se doter des normes de sécurité strictes et des outils ad hoc pour gérer ces processus, les entreprises risquent d’exposer leurs systèmes à des attaques.

Pour limiter ce problème, les entreprises fusionnent leurs équipes chargées de la sécurité et du développement, les regroupant en une entité DevSecOps. Mais unir les compétences des équipes DevOps et Sécurité n’offre pas encore les niveaux de protection requis par les organisations. Si 85% des entreprises indiquent que l’adoption de bonnes pratiques SecOps est un objectif majeur, seules 35% affirment que le SecOps est une pratique déjà établie en interne. Une situation dont profitent largement des groupuscules cybercriminels qui lancent des attaques de grande envergure, notamment TeamTNT, bien connu désormais pour avoir ciblé des clusters Kubernetes mal configurés afin de diffuser ses programmes malveillants (malware).

Pour favoriser le succès des équipes DevSecOps, voici 4 grands principes permettant de simplifier le suivi des processus de sécurisation :

  • 1.  Monitoring. Pour renforcer une approche de type "confiance zéro", il faut utiliser des outils automatisés de gestion du parc d’identités machine. L’automatisation des certificats X.509 et la suppression des certificats signés manuellement peuvent réduire sensiblement le nombre d’incidents de sécurité induits par des charges de travail cloud-natives. L’automatisation permet également aux organisations de tenir la cadence face au développement actuel très rapide et à l’envergure des environnements multicloud.
  • 2.  Cohérence. L’hétérogénéité est l’une des erreurs fréquentes commises par les organisations en matière de gestion des identités machine. L’utilisation d’outils et de techniques disparates pour sécuriser les parcs d’identités machine peut être source de confusion au sein des équipes concernant les processus utilisés, et créer une surcharge de travail pour les responsables de la fiabilité du site. En définissant clairement des processus d’exécution simples, les équipes seront certaines que la façon dont elles sécurisent leurs identités machine ne variera pas, ce qui sera gage de cohérence et de traçabilité pour chaque nouveau cluster passé en production.
  • 3.  Identification. Sachant que les équipes déploient de nombreux conteneurs à la minute, maintenir la visibilité au sein de l’infrastructure de l’entreprise devient vite un pari. Les problèmes de configuration au niveau des conteneurs ou de l’infrastructure Kubernetes sous-jacente peuvent poser des problèmes. Grâce à l’automatisation, les équipes peuvent analyser les conteneurs à chaque étape pour repérer leurs vulnérabilités et créer une politique pour y remédier. Il faut néanmoins s’assurer de la mise de place de processus d’implémentation de la politique en question pour éviter de voir réapparaître les vulnérabilités lorsque les développeurs introduisent de nouveaux clusters. Les outils d’automatisation seront là aussi précieux en passant au crible les configurations pour s’assurer qu’elles sont conformes aux mesures de sécurité prises.
  • 4.  Isolation. Il convient d’ajouter une couche de sécurité supplémentaire en isolant les applications, car cela réduira l’impact qu’aurait l’exploitation suite à une brèche de sécurité. C’est ainsi qu’une application corrompue risquera de moins impacter l’infrastructure ou le réseau de l’organisation et de se répercuter à d’autres niveaux. Cela permet aussi de limiter les risques de dégâts au niveau du système lors de l’arrivée de nouvelles applications ou fonctionnalités. Pour une sécurité optimale, il convient de mettre en place l’analyse runtime des conteneurs. Dès qu’un conteneur est mis en production, des mécanismes adaptés peuvent permettre d’assurer sa sécurité. Des outils de scanning automatique peuvent rechercher en permanence d’éventuelles vulnérabilités connues et, en cas de détection, les communiquer à l’équipe dédiée.

Les pistes pour moins de complexité au niveau du DevSecOps

Etant donné le coût considérable d’une cyberattaque sur le plan financier et de la réputation, la sécurité doit être une priorité pour chaque maillon du pipeline de développement. Malgré cela, la sécurité reste perçue comme une contrainte très fastidieuse par de nombreuses équipes de développement, qui les empêche de tirer le meilleur parti de Kubernetes. Doter le DevSecOps des bons outils et pratiques en matière de sécurité facilitera la vie des développeurs. Ils pourront innover et répondre promptement aux demandes des équipes commerciales, tout en faisant confiance à leur code et à son niveau de sécurité. Tout doit être mis en œuvre pour éviter d’autres attaques aux conséquences désastreuses. A l’heure où Kubernetes arrive à maturité, il faut s’en inspirer pour votre stratégie DevSecOps.