Présentation et meilleures pratiques de la sécurité du cloud GCP
Sécuriser un cloud est une tâche complexe. À certains égards, la sécurisation de Google Cloud Platform, ou GCP, est particulièrement difficile.
Ce n’est pas parce que GCP est moins fort que les autres. Il s’agit d’une plateforme cloud historique, robuste et fiable qui alimente des millions de workloads. C’est plutôt le fait que GCP soit, à bien des égards, la plus récente des « trois grandes » plateformes de cloud public qui peut la rendre plus difficile à sécuriser. Les outils de sécurité conçus spécifiquement pour GCP sont moins nombreux, tout comme les conseils sur les meilleures pratiques de sécurité en matière de GCP.
GCP est aussi techniquement différent des clouds Azure et AWS sur certains points importants. Par exemple, l’un des principaux facteurs de différenciation est que GCP s’appuie fortement sur Kubernetes, qu’il utilise comme base de son framework de gestion de cloud hybride (Anthos) en plus d’un service de containers géré (Google Kubernetes Engine).
Compte tenu de tout ce qui précède, voici un aperçu de ce qu’il faut savoir sur la sécurité du cloud GCP. Nous aborderons la responsabilité partagée dans Google Cloud, les contrôles de sécurité natifs que Google fournit pour les workloads dans le cloud et les meilleures pratiques pour sécuriser les applications et les données hébergées dans Google Cloud.
Modèle de responsabilité partagée sur GCP
Comme tous les grands clouds publics, GCP adopte un modèle de responsabilité partagée. Dans le cadre de ce modèle, certaines responsabilités en matière de sécurité incombent au client et d’autres à Google Cloud. D’autres sont partagées.
Les dispositions exactes en matière de responsabilité de sécurité varient selon les services et les configurations du cloud – et Google propose un document de 87 pages qui décompose tout cela, si vous voulez connaître les détails. Mais en général, la responsabilité partagée sur GCP peut être résumée comme suit :
- Google sécurise l’infrastructure physique, notamment les réseaux physiques, les serveurs et les supports de stockage. L’exception est toute infrastructure on-premises que vous connectez à GCP via une architecture de cloud hybride.
- Les clients sécurisent les workloads qu’ils déploient sur Google Cloud. Il s’agit de ressources telles que les systèmes d’exploitation que les clients installent sur les VMs cloud, les configurations de réseaux virtuels qu’ils mettent en place, les containers qu’ils déploient via GKE et toutes les données qu’ils téléchargent sur GCP Cloud Storage.
- Google partage la responsabilité de la sécurité avec les clients dans le cas des services gérés GCP. Par exemple, si vous utilisez GKE, le service Kubernetes géré par GCP, Google sécurise les composants d’infrastructure nécessaires au fonctionnement des clusters, tandis que les clients sécurisent la plupart des composants Kubernetes (comme l’API) et les applications qu’ils déploient via GKE.
Difficultés concernant la sécurité et la conformité de GCP
Là encore, GCP est tout aussi sûr que n’importe quel autre grand cloud public. Mais il convient de noter que la sécurisation des workloads sur GCP peut s’avérer particulièrement difficile.
Un écosystème cloud plus petit
L’un des problèmes est que, comme nous l’avons noté plus haut, GCP est un cloud plus jeune à bien des égards qu’Azure et AWS. La plate-forme a également toujours eu une part de marché plus faible. Ces deux facteurs signifient que l’écosystème du cloud dans son ensemble ne s’est pas autant adapté à GCP qu’à d’autres clouds. Si de nombreuses plateformes modernes de sécurité du cloud prennent entièrement en charge GCP, d’autres ne fonctionnent qu’avec AWS et Azure. En outre, de nombreux ingénieurs sont susceptibles d’avoir moins d’expérience dans l’utilisation des outils de sécurité natifs de GCP, tels que son framework de gestion des identités et des accès (IAM), que dans celle des services équivalents exécutés sur AWS et Azure.
Investissements multicloud et cloud hybrides
Dans le même ordre d’idées, on peut dire que GCP se concentre davantage sur les cas d’utilisation du multicloud et du cloud hybride que ne le font AWS et Azure, dont la domination du marché rend la compatibilité avec les environnements externes moins importante (bien qu’AWS et Azure proposent tous deux des intégrations hybrides et multicloud, un sujet qui dépasse le cadre de cet article).
Cette tendance est confirmée par le fait que, par exemple, GCP a été le premier grand cloud public à offrir un framework hybride, Anthos, qui fonctionne avec pratiquement tout type d’infrastructure on-premises. Les équivalents d’Azure et d’AWS – Azure Stack et AWS Outposts – sont plus restrictifs qu’Anthos à bien des égards.
Du point de vue de la sécurité, l’orientation hybride et multicloud de GCP représente une difficulté de plus dans la mesure où les utilisateurs de GCP sont plus susceptibles d’intégrer leurs workloads GCP à des environnements externes. Il est donc plus difficile de s’appuyer uniquement sur l’ensemble d’outils de sécurité natif de GCP (qui ne prend généralement pas en charge les environnements tiers) pour sécuriser les workloads. Cela accroît également certains des défis associés à la sécurisation de l’infrastructure du réseau et des APIs qui relient GCP aux ressources externes.
Ces défis sont tous éminemment solubles, mais il est important de reconnaître les exigences particulières de la sécurité de GCP afin de planifier la stratégie de sécurité la plus efficace pour Google Cloud.
Meilleures pratiques de sécurité cloud GCP
En général, la gestion des risques de sécurité de Google Cloud repose sur la même approche que celle que vous adopteriez pour sécuriser n’importe quel cloud, notamment :
- Utilisez GCP IAM : IAM est l’un des outils les plus puissants pour sécuriser les workloads cloud. Tirez pleinement parti de la structure IAM de Google Cloud pour appliquer le principe du moindre privilège dans votre environnement GCP. En outre, vérifiez vos politiques IAM afin de détecter les erreurs de configuration qui pourraient entraîner des failles de sécurité.
- Isolez vos réseaux dans le cloud : en utilisant des ressources telles que GCP Virtual Private Cloud, isolez les workloads non liés au sein de leurs propres réseaux privés afin d’atténuer le risque que les problèmes de sécurité se propagent d’un workload à un autre.
- Utilisez des étiquettes et des balises : GCP vous permet d’organiser vos workloads à l’aide d’étiquettes et de balises. Si l’absence d’étiquetage ou de balisage ne constitue pas un risque de sécurité en soi, les ressources qui ne sont pas correctement organisées sont plus susceptibles d’être corrompues parce que vous pouvez les oublier ou ne pas les inclure dans les audits.
- Isolez les données sensibles : sachez où se trouvent les données sensibles (telles que les données contenant des informations d’identification personnelle) dans votre environnement GCP. Envisagez d’utiliser Google Cloud DLP pour découvrir des données sensibles à des endroits où vous les avez peut-être oubliées.
- Comprenez la responsabilité des services gérés : en ce qui concerne les services gérés en particulier, il est facile de faire de fausses suppositions quant au rôle que le fournisseur de services cloud jouera en matière de sécurité, principalement parce qu’il s’agit d’un sujet nuancé et que les responsabilités du fournisseur peuvent varier d’un service à l’autre. Assurez-vous de comprendre les aspects uniques de chaque service géré que vous utilisez.
Au-delà de ces pratiques, il se peut que vous souhaitiez prendre des mesures supplémentaires pour relever les défis de sécurité particuliers de Google Cloud. Réfléchissez aux stratégies suivantes :
- Utiliser des outils externes de surveillance et d’audit de la sécurité : si GCP fournit certains outils, tels que Security Command Center, pour aider à sécuriser les ressources du cloud, leur principale limite, comme indiqué ci-dessus, est qu’ils ne fonctionnent généralement que pour les workloads exécutés dans GCP lui-même. Si vous exploitez un environnement hybride ou multicloud, ou si vous souhaitez simplement disposer de fonctions de surveillance de la sécurité, d’analyse et d’alerte plus approfondies que celles offertes par l’outil GCP natif, envisagez d’utiliser une plateforme de sécurité tierce qui peut fonctionner dans plusieurs environnements cloud et on-premises.
- Investir dans la sécurité Kubernetes : Parce que GCP s’appuie particulièrement sur Kubernetes comme base de certains de ses principaux services, la maîtrise de la sécurité Kubernetes est particulièrement importante pour les utilisateurs de GCP – notamment ceux qui utilisent des frameworks basés sur Kubernetes, comme Anthos.
- Comprendre la sécurité de Kubernetes géré et non géré : il est important de noter que, si vous pouvez exécuter Kubernetes en tant que service géré sur GCP via GKE, vous pouvez également configurer Kubernetes vous-même sur votre propre infrastructure. Dans ce dernier cas, toute la responsabilité de la sécurité de Kubernetes vous incombe. En d’autres termes, apprenez les nuances de la responsabilité en matière de sécurité dans différents types de modèles de déploiement Kubernetes au sein de GCP.
Sécurité des containers GCP
Nous avons beaucoup parlé du rôle central que joue la sécurité de Kubernetes dans la sécurité de GCP. Mais comment sécuriser réellement Kubernetes et les containers qui fonctionnent sur Google Cloud ?
Une réponse complète à cette question dépasse le cadre de cet article, mais les meilleures pratiques de base à suivre sont les suivantes :
- Images de containers sécurisées : Google Cloud n’analyse pas automatiquement les images de containers pour vous afin de trouver des logiciels malveillants ou des vulnérabilités. Vous devrez le faire vous-même avant de déployer des images dans GKE ou dans un autre environnement de containers hébergé dans GCP.
- Utiliser l’audit de sécurité de Kubernetes : l’audit de sécurité de Kubernetes est une fonctionnalité puissante permettant de garder un œil sur ce qui se passe à l’intérieur de vos clusters et de repérer très tôt les abus potentiels. Veillez à activer l’audit de sécurité et à analyser les événements d’audit à l’aide d’un outil capable de détecter les schémas comportementaux suspects.
- Auditer vos environnements en containers : les audits de sécurité de Kubernetes ne surveillent que les requêtes adressées à l’API Kubernetes. Vous devez également utiliser des outils externes pour auditer la configuration de votre pile logicielle de containers dans son ensemble en vérifiant les versions logicielles obsolètes, les configurations de contrôle d’accès non sécurisées, les versions de moteur d’exécution vulnérables, etc.
- Restreindre les autorisations des containers : en utilisant des outils tels que les contextes de sécurité Kubernetes, limitez les ressources auxquelles votre container peut accéder et isolez les containers les uns des autres.
Conclusion
Si la sécurité de GCP est un sujet complexe, elle peut être décomposée en quelques principes de base relativement élémentaires. Cela commence par le respect des meilleures pratiques en matière de sécurité et de conformité que vous appliqueriez dans tout type d’environnement cloud. À ce stade, vous voudrez également mettre en œuvre des contrôles de sécurité qui tiennent compte des caractéristiques particulières de GCP, telles que son orientation centrée sur Kubernetes et sa tendance à faire partie d’une architecture multicloud ou de cloud hybride.