Skip to content Skip to footer
Devsecops

Comment rendre vos infrastructures modernes plus résilientes avec l’approche DevSecOps ?

Gérer une infrastructure IT est complexe, chronophage et demande des compétences variées. Et avec des besoins en ressources qui n’ont jamais été aussi importants, la tâche est encore plus ardue. De fait, gérer son infrastructure manuellement semble être une approche peu adaptée aux enjeux d’évolutivité et de flexibilité des entreprises. L’Infrastructure as Code, également appelée infrastructure programmable ou IaC, évite justement le recours aux configurations matérielles. Elle désigne le processus qui implique la mise à disposition d’environnements à l’aide d’un code contenant la configuration désirée d’une infrastructure. Grâce à cette automatisation, lorsque l’infrastructure est déployée et opérationnelle, les dérives de configuration sont plus rapidement adressables, ce qui simplifie l’exploitation, notamment dans les environnements de production. Cela étant, du point de vue de la sécurité, l’automatisation peut également contribuer à la propagation de failles ou de vulnérabilités sur l’ensemble des environnements dans lesquels le code est déployé. Sécuriser l’infrastructure lors de la phase de développement est donc essentielle et permet de réduire ces risques ainsi que la découverte de points de vulnérabilité multiples après le déploiement.

Il est donc primordial de recourir à des outils de sécurité automatisés capables de détecter les failles et les problèmes de configuration avant même leur déploiement. C’est ce que permettent les démarches Shift left testing et DevSecOps. En remontant les enjeux de sécurité dès la première phase de développement, les infrastructures modernes deviennent alors plus résilientes.
Contract Testing: une nouveauté dans le domaine du test logiciel
Notre vision

Notre vision de l’approche shift left testing

La démarche « Shift-Left testing » consiste à déplacer les tests dès les premières étapes d’un projet, y compris ceux concernant la sécurité, de la planification au développement et jusqu’au déploiement. Elle permet donc de détecter automatiquement les failles de sécurité lors de la revue du code lorsque l’approche DevOps est utilisée. En ajoutant cette notion de sécurité à une démarche DevOps, elle devient DevSecOps : Development – Security – Operations.

Assimilée à la culture, les processus et les outils DevOps, cette démarche permet donc d’éviter cet effet tunnel, et d’assurer que la rapidité de développement ne se fait pas au détriment de la sécurité de l’infrastructure. Attention, une approche DevSecOps ne revient pas juste au fait d’ajouter des étapes de tests dans une démarche Devops, mais de responsabiliser toutes les parties prenantes sur les enjeux de sécurité ! Elle représente en effet un enjeu de responsabilités sécuritaires, qui n’est plus uniquement à la charge des équipes de sécurité, mais également aux équipes de développement et d’infrastructure. Selon nous, l’approche DevSecOps représente une nouvelle façon de penser et de se poser les questions, de mettre en place le partage de compétences diverses et complémentaires, et donc de responsabilités.
Concrètement

Les contrôles automatisés apportent un niveau de sécurité élevé aux infrastructures

En repositionnant la sécurité au centre de la démarche DevOps, la démarche DevSecOps souligne l’importance d’étendre la culture des équipes aux principes de sécurité. Elle permet de mettre en œuvre des contrôles de sécurité via les tests automatisés d’un pipeline de CI/CD, de partager les expertises Dev, PO, scrum, métiers… Ce qui va étendre la couverture de sécurité du code jusqu’à l’infrastructure.

Qui plus est, l’automatisation des processus de vérification va également limiter les manipulations et donc les erreurs humaines. C’est cette diminution des erreurs humaines associée à un gain de temps qui permet d’aboutir à une amélioration du Time to Market. Le ROI peut simplement se mesurer en comparant l’investissement nécessaire avec les éventuels coûts liés à un arrêt de production ou à la compromission d’une infrastructure.

Identification dès le début du cycle de vie du développement des vulnérabilités

Réduction du time to market

Amélioration de la maintenabilité du code

Amélioration de la sécurité de l’infrastructure

La sécurité n’est pas une variable d’ajustement

1ère étape : l'automatisation

Automatiser

2ème étape : la responsabilisation

Responsabiliser

3ème étape : l'anticipation

Anticiper

4ème étape : l'accélération

Accélérer

Allons-y

Nos propositions pour mettre en œuvre l’approche DevSecOps

Les équipes et centres de compétences Digital et Infrastructures au sein de l'ESN Inside
En quoi notre CDC Digital Foundation accompagne nos Ingénieurs DevOps dans leur carrière ?
La mise en place d’une démarche DevSecOps nécessite à la fois des outils mais également des méthodes. Voici selon nous la bonne approche pour commencer.   Il faut tout d’abord nommer un ambassadeur de la sécurité. Dans une équipe pluridisciplinaire il aura la charge de partager les bonnes pratiques et faire de la veille, ce qui améliore la compréhension des enjeux de sécurité de toute l’équipe. 

Il faut ensuite faire de la sécurité un principe de conception. La sécurité doit être prise en compte avant l’écriture même du code. Elle doit être abordée lors du backlog et planifiée avant chaque sprint. Il faut définir les risques afin d’anticiper la façon dont ils seront mitigés. 

La démarche DevSecOps pour une infrastructure as code nécessite un pipeline et des outils pour gérer et automatiser l’intégration continue et la livraison continue (CI/CD). Il en existe de nombreux qui peuvent aider à renforcer la fiabilité de la qualité de votre code. Ils sont conçus pour l’automatisation, s’intègrent au pipeline et les résultats sont accessibles via des outils de suivi.

Les scans statiques (SAST)

Ils sont basés sur des bibliothèques de CVE (Common Vulnerabilities and Exposures) qui référencent et numérotent de manière publique toutes les failles de sécurité connues ainsi que les méthodes d’attaques utilisées.

L’analyse SCA (pour Software Composition Analysis)

Elle permet de dresser l’inventaire des bibliothèques Open Source utilisées et les éventuelles failles associées.

Les tests dynamiques de sécurité des applications (DAST)

Ils surveillent l’application en cours d’exécution, et vérifient les vulnérabilités connues telles que les scripts inter-sites, les commandes et l’injection SQL, ou la configuration non sécurisée d’un serveur.

Dans la suite de l’approche DevSecOps, on retrouve, la gestion des identités et des accès (IAM) qui va s’assurer que les bonnes autorisations sont attribuées aux bonnes personnes, ainsi que les tests d’intrusions, l’analyse de log et la surveillance.

Audit de maturité DevSecOps

Nous analysons vos processus de conception et définissons une stratégie de remédiation des risques

Mise à disposition d’expertise DevSecOps

Nous mettons à disposition nos experts afin de déployer une solution spécifique

Stratégie IAM

Nous vous accompagnons dans la définition d’une approche de gestion des identités et des accès

transformation digitale, accompagnement dsi, projets IT, devops, infrastructures cloud

Vous souhaitez échanger avec nos experts autour de la démarche DevSecOps liée à l’infrastructure, c’est par ici !