Le service mesh peut renforcer la sécurité des applications et des réseaux

Une approche de la sécurité de nouvelle génération est désormais nécessaire pour les applications, architectures et réseaux de nouvelle génération.

En poursuivant leurs initiatives de transformation numérique, les entreprises d’aujourd’hui doivent constamment se battre pour devancer les éventuels pirates, agresseurs et acteurs malveillants, et ce à juste titre. Le périmètre de sécurité a disparu, la surface d’attaque ne cesse de croître et de nouveaux vecteurs d’attaque continuent d’apparaître. Ajoutez à cela une pandémie persistante, des conflits mondiaux et une main-d’œuvre dispersée et à distance, et nul ne s’étonnera que les brèches, les piratages et les attaques envahissent quotidiennement nos fils d’actualité.

Les technologies de nouvelle génération, telles que les technologies cloud-native modernes et les microservices, ont fait disparaître les frontières. Il n’y a pas si longtemps, un périmètre séparait les ressources d’une entreprise du monde extérieur. Désormais, il n’y a plus de différence entre « intérieur » et « extérieur » ; tout est considéré comme « extérieur ». L’accroissement de la surface d’attaque, c’est-à-dire le nombre croissant de ressources exposées et potentiellement vulnérables au sein d’une entreprise, offre de plus en plus d’opportunités aux cybercriminels. Comment les entreprises peuvent-elles réduire leur surface d’attaque, renforcer leur posture de sécurité et réduire leur risque global ? C’est ce que nous allons voir ici.

La sécurité avant tout

Pourquoi la sécurité est-elle au cœur des préoccupations de la plupart des entreprises ? De récentes études révèlent que pour 83 % des entreprises, « la question n’est pas de savoir si les données seront piratées, mais quand elles le seront, et c’est généralement plus d’une fois ». Quel est le coût moyen d’une violation de données aux États-Unis ? Le montant stupéfiant de 9,44 millions de dollars. Les entreprises les plus prévoyantes ont mis en œuvre une défense en profondeur (DiD), une approche de cybersécurité à plusieurs niveaux comportant plusieurs mécanismes de défense visant à protéger les données et les informations précieuses, dont le Zéro Trust, qui signifie essentiellement vérifier, vérifier à nouveau, faire confiance afin de pouvoir vérifier a nouveau. Il y a un an, le président des États-Unis Joe Biden publiait un décret sur la cybersécurité soulignant l’importance d’adopter une approche de cybersécurité Zéro Trust, mais seuls 21 % des organismes abritant des infrastructures critiques auraient adoptés ce modèle.

Entre-temps, les organismes gouvernementaux, les entreprises du classement Fortune 500 et toutes les autres organisations luttent pour sécuriser leurs actifs tout en composant avec des équipes multiples, des dispositifs multiples et des localisations multiples. Un des plus grands défis des entreprises actuelles est d’évaluer le nombre exact d’entités qu’elles doivent sécuriser. Rappelons que les microservices et les applications modernes comportent un nombre exponentiel de services par rapport aux générations précédentes d’applications. Un microservice peut compter 10 services alors qu’une application précédente n’en comptait qu’un seule. Une fois ces applications et services multipartites décomposés, il faut tenir compte de la façon dont tous ces éléments communiquent sur le réseau, un réseau qui, par nature, doit être considéré comme non fiable.

Entre en scène le Service Mesh 

En adoptant le développement cloud-native, les entreprises créent de nouveaux types d’applications et de microservices plus faciles à mettre à l’échelle et à valoriser. Les microservices font référence à une approche architecturale du développement logiciel dans laquelle les logiciels sont constitués de petits services indépendants qui communiquent via des API bien définies. Or, les entreprises constatent que ces nouvelles applications contiennent davantage de services souvent modifiées.

Cela présente de nouveaux risques de sécurité (et une plus grande surface d’attaque). Fondamentalement, il y a plus de trafic sur le réseau, donc plus de composants d’applications à contrôler. Les modifications apportées à ces applications sont également plus nombreuses (et plus fréquentes). Enfin, à mesure que les initiatives « cloud-native » se développent, le nombre de développeurs et d’équipes de développement d’applications augmente. Cela soulève plusieurs questions : Le réseau est-il fiable ? Si davantage d’équipes contribuent à ces applications, comment s’assurer que l’identité de chacun peut être effectivement vérifiée ? Comment gérer la sécurité des applications et des services qui sont en dehors de notre domaine ? Comment continuer à tout vérifier alors que les choses changent ? Comment valider les sous-traitants et les logiciels qu’ils créent ? C’est là que le service mesh peut être utile.

Un service mesh peut être vu comme un dispositif de réseau assurant l’observabilité, la sécurité et la fiabilité des applications distribuées. Ceci se fait au niveau de la couche plate-forme plutôt qu’au niveau de la couche application. Les applications « cloud-native » étant généralement composées de dizaines ou de centaines de microservices, la communication entre les services est essentielle, mais difficile à gérer. Un service mesh contrôle efficacement (et en toute sécurité) la communication entre les services sur un réseau et permet de surveiller et de gérer le trafic des applications. Plus un organisme dépend des microservices pour créer des logiciels, plus il peut bénéficier d’un service mesh.

Alors que de plus en plus d’entreprises adoptent les microservices, elles sont également plus nombreuses à se tourner vers le service mesh pour améliorer cette architecture. L’enquête 2022 sur l’adoption du service mesh montre en effet que 85 % des entreprises modernisent leurs applications en adoptant une architecture de microservices. Et 87 % des entreprises déclarent utiliser ou envisager un service mesh pour gérer un environnement d’applications de plus en plus complexe. Parallèlement, Istio est en train de devenir le Kubernetes du service mesh, avec une proportion de grandes entreprises de près de trois contre une qui choisissent un service mesh basé sur Istio.

Le service mesh comme moyen (sécurisé) de contrôler le trafic

Le service mesh relève les principaux défis posés par le développement et la sécurisation des microservices et des applications modernes (différentes équipes utilisant différents langages et frameworks) en déplaçant l’authentification et l’autorisation vers une couche d’infrastructure commune. Le service mesh facilite l’authentification entre les services pour garantir un flux de trafic sécurisé tout en imposant une authentification de service à service et d’utilisateur final à service. Le service mesh applique le contrôle d’accès basé sur les rôles (RBAC) et le contrôle d’accès basé sur les attributs (ABAC). Un service mesh peut valider l’identité d’un microservice ainsi que la ressource (le serveur) exécutant le microservice.

Le service mesh assure le contrôle du trafic au sein du réseau, permettant ainsi aux équipes chargées des applications de se concentrer sur la création d’applications qui profitent à l’entreprise sans avoir à assumer la tâche supplémentaire de sécuriser ces applications. Le service mesh fournit des politiques de sécurité cohérentes pour le trafic interne et externe et assure une authentification fluide des utilisateurs et des machines. Il permet également une authentification cryptographique fiable à la fois pour les utilisateurs (humains) et les machines ou applications. La sécurité cryptographique dépend de clés pour chiffrer et déchiffrer les données afin de vérifier et de valider les utilisateurs. En plus de créer des chemins cryptés entre les applications, le service mesh offre un système de relais flexible (avec plus de disponibilité) ainsi que des points connus pour la journalisation et le contrôle de la sécurité.

Le service mesh et le Zero Trust

J’ai évoqué plus haut le concept de Zéro Trust, qui consiste à valider chaque appareil et chaque transaction, à chaque instant. L’approche Zéro Trust est essentielle pour les environnements d’applications cloud-native qui évoluent rapidement. De nombreuses entreprises commerciales et agences gouvernementales se tournent vers le service mesh pour soutenir leurs efforts en matière de Zéro Trust. Les agences gouvernementales, par exemple, luttent constamment pour protéger les ressources de grande valeur (y compris les infrastructures critiques) contre les pirates, les acteurs malveillants et les agresseurs. Ces derniers peuvent être internes (employés mécontents ou violations commises par des entrepreneurs/fournisseurs) ou externes (groupes terroristes d’États étrangers). Par conséquent, il n’y a pas d’opposition entre l’intérieur et l’extérieur ; tout le monde est considéré comme extérieur et non fiable jusqu’à preuve du contraire.

Un service mesh permet d’authentifier et de valider et autoriser cryptographiquement les personnes et les appareils. On peut également utiliser le service mesh pour appliquer des politiques et identifier des menaces potentielles. On peut définir des modèles de trafic approuvés ainsi que des règles pour définir qui peut faire quoi. Le populaire et éprouvé d’Istio peut assurer une sécurité cohérente de la couche 4 (périphériques, connexions) à la couche 7 (applications), une identité cryptographique, ainsi que des modèles de sécurité bien connus pour le trafic interne et externe. Le service mesh Istio, qui est géré par la CNCF (Cloud Native Computing Foundation), est désormais largement répandu dans les environnements Kubernetes.

 Le service mesh est une technologie très répandue, assez facile à mettre en œuvre et applicable aux organismes de tous secteurs. Il s’agit d’un moyen efficace et rentable pour parvenir à sécuriser un réseau Zéro Trust et, idéalement, pour que votre entreprise ait une longueur d’avance sur les brèches, les piratages et les menaces de demain.