Google Cloud comprend des contrôles permettant de protéger vos ressources de calcul et vos ressources de conteneurs Google Kubernetes Engine (GKE). Le présent document du framework d'architecture Google Cloud décrit les principaux contrôles et les bonnes pratiques pour leur utilisation.
Utiliser des images de VM renforcées et sélectionnées
Google Cloud inclut une VM protégée, qui vous permet de renforcer vos instances de VM. Les VM protégées sont conçues pour empêcher le chargement de code malveillant pendant le cycle de démarrage. Elles garantissent la sécurité du démarrage, vérifient l'intégrité et utilisent le module vTPM (Virtual Trusted Platform Module). Utilisez des VM protégées pour les charges de travail sensibles.
En plus d'utiliser des VM protégées, vous pouvez utiliser des solutions partenaires Google Cloud pour mieux protéger vos VM. De nombreuses solutions partenaires proposées sur Google Cloud s'intègrent à Security Command Center, qui fournit une détection des menaces et une surveillance d'état. Vous pouvez faire appel à des partenaires pour bénéficier d'une analyse avancée des menaces ou d'une meilleure sécurité de l'environnement d'exécution.
Utilisez l'informatique confidentielle pour traiter les données sensibles.
Par défaut, Google Cloud chiffre les données au repos et en transit sur le réseau, mais les données ne sont pas chiffrées lorsqu'elles sont utilisées en mémoire. Si votre organisation gère des données confidentielles, vous devez limiter les menaces qui compromettent la confidentialité et l'intégrité de l'application ou des données stockées dans la mémoire système. Les données confidentielles incluent les informations personnelles, financières et médicales.
L'informatique confidentielle est basée sur les VM protégées. Elle protège les données utilisées en effectuant les calculs dans un environnement d'exécution approuvé au niveau de la couche matérielle. Ce type d'environnement sécurisé et isolé permet d'empêcher toute modification ou tout accès non autorisé aux applications et aux données pendant l'utilisation des données. Un environnement d'exécution de confiance offre également une garantie de sécurité pour les organisations qui gèrent des données sensibles et réglementées.
Dans Google Cloud, vous pouvez activer l'informatique confidentielle en utilisant des VM Confidential VMs ou des nœuds Confidential GKE Nodes. Activez l'informatique confidentielle si vous traitez des charges de travail confidentielles ou si vous disposez de données confidentielles (par exemple, des secrets) qui doivent être exposées pendant leur traitement. Pour en savoir plus, consultez le Confidential Computing Consortium.
Protéger les VM et les conteneurs
OS Login permet à vos employés de se connecter à vos VM en utilisant des autorisations Identity and Access Management (IAM) en tant que source de vérité plutôt que des clés SSH. Vous n'avez donc pas besoin de gérer les clés SSH dans votre organisation. OS Login permet de lier l'accès administrateur au cycle de vie de l'employé, ce qui signifie que si un employé change de rôle ou quitte votre organisation, son accès est révoqué avec son compte. OS Login est également compatible avec l'authentification à deux facteurs, qui ajoute une couche de sécurité supplémentaire contre les attaques par piratage de compte.
Dans GKE, App Engine exécute des instances d'application dans des conteneurs Docker. Pour activer un profil de risque défini et empêcher les employés de modifier les conteneurs, assurez-vous que vos conteneurs sont sans état et immuables. Le principe d'immuabilité signifie que vos employés ne peuvent pas modifier le conteneur ou y accéder de manière interactive. Si le conteneur doit être modifié, vous devez créer une nouvelle image et la déployer. N'activez l'accès SSH aux conteneurs sous-jacents que dans des scénarios de débogage spécifiques.
Désactiver les adresses IP externes, sauf si elles sont nécessaires
Pour désactiver l'allocation d'adresses IP externes (vidéo) pour vos VM de production et empêcher l'utilisation d'équilibreurs de charge externes, vous pouvez utiliser des règles d'administration. Si vous souhaitez que vos VM puissent accéder à Internet ou à votre centre de données sur site, vous pouvez activer une passerelle Cloud NAT.
Vous pouvez déployer des clusters privés dans GKE. Dans un cluster privé, les nœuds ne disposent que d'adresses IP internes, ce qui signifie que les nœuds et les pods sont isolés par défaut d'Internet. Vous pouvez également définir une règle de réseau afin de gérer la communication entre les pods dans le cluster. Pour en savoir plus, consultez la page Options d'accès privé pour les services.
Surveiller votre utilisation des instances Compute Engine et de GKE
Les journaux d'audit Cloud sont automatiquement activés pour Compute Engine et GKE. Les journaux d'audit vous permettent de capturer automatiquement toutes les activités de votre cluster et de surveiller toute activité suspecte.
Vous pouvez intégrer GKE à des produits partenaires pour garantir la sécurité des environnements d'exécution. Vous pouvez intégrer ces solutions à Security Command Center afin de disposer d'une interface unique pour surveiller vos applications.
Maintenir vos images et vos clusters à jour
Google Cloud fournit des images d'OS sélectionnées qui bénéficient de correctifs réguliers. Vous pouvez importer des images personnalisées et les exécuter sur Compute Engine, mais vous devrez appliquer vous-même les correctifs. Google Cloud met régulièrement à jour les images d'OS pour corriger les nouvelles failles (comme décrit dans les bulletins de sécurité) et fournit des solutions pour corriger les failles des déploiements existants.
Si vous utilisez GKE, nous vous recommandons d'activer la mise à jour automatique des nœuds pour que Google puisse mettre à jour vos nœuds de cluster en appliquant les derniers correctifs. Google gère les plans de contrôle GKE, qui sont automatiquement mis à jour et corrigés. En outre, vous pouvez utiliser des images optimisées pour les conteneurs qui sont sélectionnées par Google pour votre déploiement. Google corrige et met régulièrement à jour ces images.
Contrôler l'accès à vos images et clusters
Il est important de savoir qui peut créer et lancer des instances. Vous pouvez contrôler cet accès à l'aide d'IAM. Pour savoir comment déterminer quel niveau d'accès fournir aux charges de travail, consultez la page Planifier les identités de charge de travail.
De plus, vous pouvez utiliser VPC Service Controls pour définir des quotas personnalisés sur des projets spécifiques afin de limiter le nombre d'utilisateurs pouvant lancer des images. Pour en savoir plus, consultez la section Sécuriser votre réseau.
Pour assurer la sécurité de l'infrastructure de votre cluster, GKE vous permet d'utiliser IAM avec le contrôle des accès basé sur les rôles (RBAC) afin de gérer l'accès à votre cluster et à vos espaces de noms.
Isoler des conteneurs dans un bac à sable
Utilisez GKE Sandbox pour déployer des applications mutualisées nécessitant une couche de sécurité et d'isolation supplémentaire par rapport à leur noyau hôte. Par exemple, utilisez GKE Sandbox lorsque vous exécutez du code inconnu ou non approuvé. GKE Sandbox est une solution d'isolation de conteneur qui constitue une seconde couche de défense entre les charges de travail conteneurisées dans GKE.
GKE Sandbox a été conçu pour les applications à faible volume d'E/S mais très évolutives. Ces charges de travail conteneurisées doivent maintenir leur vitesse d'exécution et leurs performances, mais elles peuvent aussi impliquer du code non approuvé nécessitant une sécurité renforcée. Utilisez gVisor, un bac à sable d'exécution de conteneur, pour renforcer l'isolation de sécurité entre les applications et le noyau hôte. gVisor fournit des vérifications d'intégrité supplémentaires et limite le niveua d'accès d'un service. Il ne s'agit pas d'un service destiné à renforcer la protection des conteneurs contre les menaces externes. Pour plus d'informations sur gVisor, consultez la page gVisor : Protéger les utilisateurs de GKE et de solutions sans serveur dans le monde réel.
Étape suivante
Pour en savoir plus sur la sécurité des ressources de calcul et des conteneurs, consultez les ressources suivantes :
- Sécuriser votre réseau (document suivant de cette série)
- Pourquoi la sécurité des conteneurs est-elle importante ? (PDF)
- Checklist avant lancement pour Google Cloud
- Vérifier l’identité des instances
- Workload Identity
- VM protégée
- Bonnes pratiques pour les instantanés de disques persistants
- Bonnes pratiques pour la gestion des images