D’un côté, les équipes DevOps recherchent l’efficacité pour améliorer rapidement l’expérience client. D’un autre côté, les responsables de la sécurité informatique veillent à renforcer la protection du SI afin d’assurer la pérennité de l’activité. Un dilemme pour de nombreuses organisations. La solution ? L’automatisation et la collaboration.

L’approche DevOps vise un objectif prioritaire : la réduction des délais. Avec une telle organisation, tous les délais (mises à disposition des infrastructures, lancement de la production, tests techniques, préparation d’une campagne marketing…) sont comprimés.

Mais en étant soumise à une forte pression pour accélérer les cycles de développement et améliorer l’assurance qualité, une équipe DevOps peut aussi être à l’origine, directement ou indirectement, de failles de sécurité.

Privilégier la rapidité à la sécurité ?

En effet, les cycles de développement d’aujourd’hui ne laissent pas le temps de s’arrêter aux évaluations de sécurité avant de livrer de nouveaux produits et fonctionnalités à l’entreprise.

Par ailleurs, les applications logicielles sont complexes et peuvent potentiellement présenter de nombreux problèmes de sécurité : mauvais code, serveurs ou conteneurs mal configurés…

Dès lors, des équipes de DevOps peuvent considérer les tests de sécurité comme des freins à leur agilité. Mais attention au malentendu : ne pas vouloir multiplier ces tests ne signifie pas ignorer ces enjeux. Les développeurs sont désireux de savoir que leurs applications et l’environnement dans lequel ils travaillent sont sécurisés. Ils souhaitent simplement que la sécurité les empêche de livrer rapidement de nouveaux produits et fonctionnalités.

D’un autre côté, les équipes informatiques peuvent estimer que la démarche DevOps sacrifie la sécurité au nom de l’innovation et du business.

Comment en effet déployer des mises à jour prioritaires pour corriger des vulnérabilités lorsque l’équipe DevOps doit absolument terminer un projet dans la journée ? Tout conflit entre les deux métiers pourrait entraîner des retards dans chacun des processus.

DevSecOps

Comment s’en sortir ? La réponse : déployer une approche moderne de la sécurité basée sur l’automatisation. C’est le but du DevSecOps dont l’objectif est d’amener les développeurs à réfléchir davantage aux principes (dont le Privacy by design afin d’être en conformité avec le RGPD) et aux normes de sécurité au fur et à mesure qu’ils avancent dans un projet.

En intégrant la sécurité à l’automatisation (les équipes de DevOps y sont déjà familiarisées), cette démarche évite un ralentissement du cycle de développement.

Il existe des outils permettant :

  • d’analyser ses configurations à la recherche des meilleures pratiques de sécurité ;
  • d’automatiser des tests (par exemple, Gauntlt, un framework gratuit) ;
  • de scanner le code pour trouver des vulnérabilités potentielles ou identifier et prévenir les problèmes de sécurité en temps réel (Veracode ou Contrast Security par exemple).

Certes, l’automatisation permet de gagner en efficacité. Mais attention, à ne pas aller trop vite. L’automatisation est un déclencheur pour revoir les processus existants. Mais il est important de s’assurer que l’automatisation de certaines tâches est correctement exécutée. C’est bien connu : l’automatisation des mauvais processus peut vite entraîner le chaos et déstabiliser l’organisation.

D’où la nécessité d’encourager aussi la collaboration entre les équipes DevOps et celle de la sécurité. C’est d’ailleurs l’un des principes directeurs de DevOps. Pour réussir à intégrer la sécurité dans le processus DevOps, les DSI et les développeurs doivent travailler ensemble et établir une responsabilité partagée.

Source : DevOps.com