In this article
Guide sur la sécurité cloud native pour créer des applications sécurisées
Les architectures cloud natives modernes s’appuient sur des technologies logicielles de pointe pour permettre aux entreprises de déployer leurs applications en toute sécurité et à grande échelle, en privilégiant une infrastructure conçue pour le cloud. La sécurité cloud native applique cette même approche à la sécurisation de ces applications : une démarche moderne et pragmatique qui inclut des principes comme le Zero Trust et la défense en profondeur (DiD). La sécurité des applications cloud natives exige la même approche, avec des outils et des services conçus à cet effet.
Qu’est-ce que la sécurité cloud native ?
La sécurité cloud native consiste à protéger les plateformes, les infrastructures et les applications basées sur le cloud. La sécurité est intégrée dès le début du processus de développement et jusqu’à la mise en production, afin de garantir plusieurs couches de protection et une surveillance continue des nouvelles vulnérabilités.

Qu’est-ce que le cloud native ?
Le cloud native désigne un ensemble de principes de conception, de logiciels et de services axés sur la création d’architectures système conçues pour être hébergées principalement dans le cloud. Une application cloud native vise avant tout à être hautement évolutive, résiliente et sécurisée, en tirant parti des capacités des infrastructures cloud modernes et en s’appuyant sur des méthodes d’intégration continue pour accélérer le développement et le déploiement.
Le cloud native simplifie également les opérations en réduisant une grande partie de la charge liée à la gestion et au déploiement d’infrastructures serveur traditionnelles, grâce à un haut niveau d’automatisation reposant sur des modèles d’infrastructure pilotés par logiciel.
Si la définition ci-dessus constitue une bonne base pour comprendre le cloud native, certaines organisations, comme la Cloud Native Computing Foundation (CNCF), en proposent une interprétation plus précise.
Dans la plupart des cas, il suffit de considérer le cloud native comme une approche « cloud first ». La CNCF privilégie toutefois une approche plus indépendante des fournisseurs, en défendant des projets et des logiciels pouvant être transférés d’un fournisseur cloud à un autre avec un minimum de configuration supplémentaire. Elle met également fortement l’accent sur les conteneurs, au cœur du plus grand projet de la CNCF, Kubernetes. Il apparaît ainsi qu’une entreprise peut correspondre à la définition générale du cloud native tout en utilisant des services hébergés qui ne relèvent pas de la définition de la CNCF. Chaque équipe doit déterminer quelle définition convient le mieux à ses choix de conception.
Que sont les applications cloud natives ?
Les applications cloud natives sont des logiciels et des services conçus et développés dans le contexte d’architectures cloud natives. Une application cloud native est une unité spécifique et distincte qui réunit les principes de conception, les paradigmes de déploiement et les processus opérationnels nécessaires pour tirer parti des avantages du cloud native.
Contrairement aux principes généraux du cloud native, la création d’applications concrètes exige de prendre des décisions précises en matière de mise en œuvre et de choisir des outils et des modèles, comme les artefacts immuables, qui renforcent les fonctionnalités cloud natives du système global.
Il existe manifestement de nombreuses façons de concevoir et de déployer des logiciels répondant à la définition du cloud native, mais toutes les applications cloud natives partagent certaines caractéristiques générales.
La plupart des applications cloud natives reposent largement sur différentes formes d’automatisation, des tests et de la compilation automatisés du code de l’application au déploiement et à la mise à l’échelle automatisés de l’infrastructure sous-jacente. Certaines des entreprises les plus performantes effectuent des milliers de déploiements par jour grâce à un système CI/CD cloud native robuste et fortement automatisé. Notre rapport sur l’état de la sécurité cloud native montre que les entreprises qui automatisent davantage le cloud native adoptent plus largement les tests de sécurité. Les organisations dont les pipelines de déploiement sont entièrement automatisés sont deux fois plus susceptibles d’intégrer des outils SAST et SCA à leur cycle de développement logiciel (SDLC) pour sécuriser leurs applications cloud natives.
Les applications cloud natives utilisent aussi généralement des modèles d’architecture microservices, avec des composants découplés qui peuvent être mis à l’échelle individuellement pour répondre à la hausse de la demande. Plus généralement, les applications développées selon les principes DevOps dépendent presque toujours implicitement du cloud native pour réussir.
Les applications cloud natives se développent plus rapidement et passent plus facilement à l’échelle que les modèles d’application précédents, ce qui favorise l’innovation et accélère la mise sur le marché des entreprises technologiques. Cependant, le modèle cloud native entraîne un changement fondamental à prendre en compte par les responsables de la sécurisation et de l’exploitation de ces applications : l’infrastructure, autrefois distincte, fait désormais partie de l’application. En matière de sécurité notamment, les applications cloud natives imposent de repenser le modèle de sécurité et de redéfinir les notions de sécurité des applications et d’exploitation.
Lancez-vous dans les compétitions Capture The Flag
Apprenez à résoudre des défis Capture The Flag en regardant à la demande notre atelier virtuel d’initiation.
Outils de sécurité cloud native et outils traditionnels
Les outils et processus de sécurité conçus à l’origine pour les infrastructures traditionnelles d’hébergement logiciel ne disposent pas des fonctionnalités nécessaires pour faire face au caractère dynamique et hautement exposé des architectures cloud natives, dépourvues de périmètre.
En bref, les outils de sécurité traditionnels ne sont pas conçus pour répondre aux exigences du cloud moderne. Bon nombre des outils et des modèles de conception devenus incontournables dans les piles logicielles modernes n’existaient peut-être même pas lorsque certains outils de sécurité ont été conçus.

L’utilisation désormais généralisée d’outils d’infrastructure as code (IaC), comme Terraform, en est un parfait exemple. Bien qu’il s’agisse techniquement de « code », ces outils utilisent généralement un langage spécifique à un domaine (DSL) doté de fonctionnalités propres, ce qui rend la validation traditionnelle par des outils d’analyse statique difficile et inefficace. Les outils IaC pouvant provisionner d’importantes infrastructures avec relativement peu d’efforts, il est essentiel de les sécuriser. L’audit du code et des configurations IaC nécessite d’appliquer des bonnes pratiques et d’utiliser des outils qui n’ont fait leur apparition que récemment dans l’histoire du développement logiciel et de l’ingénierie des infrastructures.
Les outils IaC mettent en évidence une lacune majeure des solutions de sécurité traditionnelles, mais ne représentent qu’un des nombreux défis que pose la sécurisation des applications cloud natives à grande échelle. Fondamentalement, sécuriser ces applications implique d’intégrer au modèle de sécurité des applications des concepts qui relevaient auparavant de la responsabilité de la sécurité informatique et opérationnelle. La sécurisation de ces composants doit commencer avec les développeurs qui créent les applications, et non être entièrement laissée aux équipes de sécurité IT/Ops.
Sécuriser les applications cloud natives
La sécurité cloud native suppose de recentrer les efforts de sécurité pour qu’ils s’inscrivent dans la stratégie cloud native globale de l’organisation. Les applications cloud natives doivent être sécurisées dans leur contexte applicatif, en tenant compte de l’évolution des équipes, des processus et du modèle d’infrastructure qui les créent et les exploitent. La sécurité cloud native doit donc accorder une place centrale à la sécurité des applications cloud natives afin de détecter et de corriger les vulnérabilités pendant le développement. L’approche doit être globale et intégrer la sécurité à chaque étape du cycle de développement logiciel.
Une plateforme de sécurité doit donner aux développeurs les moyens d’agir pour qu’ils puissent se concentrer sur la conception de solutions répondant aux objectifs métier et s’appuyant sur les principes du cloud native, tout en sachant qu’à mesure qu’une part croissante de l’infrastructure est définie pendant le développement des applications, l’équipe de développement devient responsable de la sécurité du code. Si l’architecture cloud n’est pas considérée comme une priorité dans chaque discussion et chaque décision de conception, l’objectif de créer une véritable application cloud native risque de ne pas être atteint.
Une fois les fondements de la conception établis, le codage de l’application et de l’infrastructure peut commencer. À ce stade, il est essentiel de commencer à tester le code le plus tôt possible dans le cycle de développement logiciel sécurisé (SSDLC). Comme indiqué plus haut, l’approche traditionnelle à méthode unique fondée sur l’analyse statique ne suffit plus. Les tests de sécurité des applications statiques (SAST), dynamiques (DAST), interactifs (IAST) et mobiles (MAST) ne sont que quelques-uns des nombreux tests à effectuer sur le code des applications cloud natives.
Sécuriser l’infrastructure cloud native
La sécurisation de l’infrastructure cloud native d’une application présente également des défis particuliers. Les configurations IaC entraînent le déploiement d’infrastructures réelles, et les développeurs écrivent souvent en parallèle le code de l’infrastructure et celui de l’application. Il faut des outils de sécurité capables de relever ce défi et de s’intégrer facilement aux workflows existants, en fournissant directement aux développeurs des informations et des conseils de remédiation. Cela implique généralement d’afficher les informations de sécurité dans les IDE et de permettre les tests locaux à l’aide d’outils CLI.
Outre la mise à disposition d’informations de sécurité dans l’environnement de développement local, les outils de sécurité cloud native doivent également être intégrés à chaque étape du cycle de vie logiciel. L’analyse automatisée dans les systèmes de gestion du code source et l’analyse des artefacts dérivés, comme les images de conteneurs, dans les systèmes CI/CD doivent être prioritaires. Les résultats de ces analyses intégrées doivent également fournir des conseils de remédiation afin d’aider les développeurs à prendre facilement des décisions de priorisation.
Les infrastructures traditionnelles sur site pouvaient souvent s’appuyer sur un périmètre réseau logique pour empêcher les accès non autorisés à un ensemble défini de ressources internes, généralement protégées par des contrôles de sécurité peu stricts. Dans le cloud native, le concept de périmètre n’a pratiquement plus de valeur. Chez la plupart des fournisseurs cloud, presque toutes les ressources peuvent être rendues accessibles au public en quelques lignes de configuration ou par une modification dans l’interface. Des données qui semblent rester dans un même domaine logique peuvent en réalité traverser plusieurs réseaux et emplacements physiques avant d’arriver à destination. Dans ce contexte, les entreprises doivent adopter un modèle Zero Trust, où chaque composant ou service est considéré comme une cible potentielle de compromission. L’authentification s’effectue entre tous les nœuds ou toutes les ressources d’un système, quel que soit leur emplacement réseau.
Alors que la sécurité des applications cloud natives prend une place croissante dans le processus de développement, il est important de noter que les solutions de sécurité cloud native restent nécessaires dans les environnements de production. Les architectures traditionnelles reposaient généralement sur un seul type de ressource informatique : le serveur matériel. Les outils de sécurité classiques protégeaient le périmètre de ces ressources à l’aide de configurations réseau statiques et de pare-feu contrôlant les accès et le trafic. Les infrastructures cloud natives sont conçues dès le départ pour être très dynamiques, avec le déploiement rapide de nouvelles applications et la reconfiguration des ressources.
Qu’est-ce qu’une architecture de sécurité cloud native ?
Une architecture de sécurité cloud native est une stratégie qui vise à assurer la visibilité sur tous les éléments déployés et exécutés dans le cloud, afin que les équipes de sécurité puissent surveiller et sécuriser les applications, les infrastructures et les plateformes cloud. En savoir plus sur l’architecture de sécurité cloud.
Les applications cloud natives peuvent faire appel à de nombreuses ressources informatiques et à différents environnements d’exécution, notamment des machines virtuelles, des conteneurs et des fonctions serverless. Les conteneurs, autre élément de l’écosystème cloud native, nécessitent des outils de sécurité conçus à cet effet pour surveiller et sécuriser leurs environnements d’exécution. L’analyse des artefacts et des configurations en cours d’exécution est essentielle pour maintenir une posture de sécurité solide dans les environnements cloud native.
Lancez-vous dans les compétitions Capture The Flag
Apprenez à résoudre des défis Capture The Flag en regardant à la demande notre atelier virtuel d’initiation.
Les applications cloud natives ont besoin de plateformes de sécurité cloud natives
Même s’il évolue sans cesse, le cloud est là pour durer. À mesure que le rythme de l’innovation s’accélère, il faudra développer de nouvelles technologies et de nouveaux outils pour aider les entreprises à suivre la cadence. Trop souvent, les grandes entreprises transfèrent dans le cloud leur infrastructure logicielle existante, hébergée sur site, en imposant des abstractions et des modèles de sécurité obsolètes, et passent ainsi à côté des avantages des applications cloud natives.
Les modèles et outils de sécurité conçus à l’époque de l’hébergement sur site constituent un handicap particulièrement sérieux. La plupart ont été conçus avant que le cloud ne s’impose comme une plateforme d’hébergement de premier plan et ne permettent pas d’assurer une sécurité adéquate. Pouvoir faire évoluer vos applications et, surtout, les sécuriser est essentiel dans un secteur extrêmement dynamique et concurrentiel. Les entreprises qui souhaitent rester compétitives à l’ère du cloud moderne doivent privilégier la création d’applications cloud natives et l’utilisation de plateformes de sécurité cloud natives pour les protéger.
« Le déploiement d’un logiciel comporte de nombreux éléments en mouvement,... « Si vous faites tout manuellement, c’est long, fastidieux et source d’erreurs, et vous n’aurez pas envie de le faire souvent. C’est pourquoi nous avons compris qu’il fallait tout automatiser, y compris la sécurité, avec Snyk. »
Alex Emery, responsable produit de la plateforme cloud chez Coveo
Sécurisez chaque composant de vos applications cloud natives sur une seule plateforme avec Snyk.