Cette page présente les bonnes pratiques de sécurité recommandées pour renforcer la sécurité et la protection des données de vos stations de travail Cloud Workstations. Cette liste n'est pas une checklist exhaustive garantissant la sécurité, ni un remplacement de vos stratégies de sécurité existantes.
L'objectif est de vous fournir un guide des bonnes pratiques de sécurité rendues possibles par Cloud Workstations. Ajoutez ces recommandations à votre portefeuille de solutions de sécurité, le cas échéant, dans le cadre des efforts visant à créer une approche de sécurité multicouche. L'approche de sécurité multicouche est l'un des principaux principes de sécurité pour l'exécution de services sécurisés et conformes sur Google Cloud.
Arrière-plan
Le service Cloud Workstations fournit des images de base prédéfinies à utiliser avec le service. Le service recompile et republie ces images chaque semaine pour s'assurer que le logiciel groupé inclut les derniers correctifs de sécurité. De plus, le service utilise une valeur de délai d'exécution par défaut sur votre configuration de station de travail pour s'assurer que les stations de travail sont automatiquement mises à jour et que les images non corrigées ne restent pas actives.
Toutefois, Google Cloud ne possède pas tous les packages inclus dans ces images. Les gestionnaires de packages peuvent prioriser les mises à jour différemment en fonction de l'impact d'un bug ou d'une faille et exposition courante (CVE) sur leur produit. Si un produit n'utilise qu'une partie d'une bibliothèque, il peut ne pas être affecté par les découvertes dans d'autres parties de la bibliothèque. Par conséquent, même s'il existe des résultats CVE issus d'analyses de failles de nos images, Cloud Workstations est toujours en mesure de fournir un produit sécurisé.
Cloud Workstations peut le faire, car il fournit un système d'authentification et d'autorisation qui permet de s'assurer que seul le développeur désigné peut accéder à sa station de travail. Comme pour tout environnement de développement, les développeurs doivent appliquer les bonnes pratiques lorsqu'ils utilisent leur station de travail. Pour une sécurité optimale, n'exécutez que du code de confiance, n'utilisez que des entrées de confiance et n'accédez qu'à des domaines de confiance. De plus, nous vous déconseillons d'utiliser des stations de travail pour héberger des serveurs de production ou de partager une même station de travail avec plusieurs développeurs.
Si vous souhaitez mieux contrôler la sécurité des images de stations de travail de votre organisation, vous pouvez également créer vos propres images de conteneurs personnalisées.
Utiliser Secure Web Proxy pour contrôler l'accès à Internet afin d'améliorer la protection contre la perte de données (DLP)
Pour bloquer tout accès à l'Internet public (par exemple, pour la protection contre la perte de données), désactivez les adresses IP publiques dans les configurations de vos stations de travail.
Si vous désactivez les adresses IP publiques, vous devez configurer l'accès privé à Google ou Cloud NAT sur votre réseau.
Si vous utilisez l'accès privé à Google et que vous utilisez private.googleapis.com ou restricted.googleapis.com pour Artifact Registry, assurez-vous de configurer des enregistrements DNS pour les domaines
*.pkg.dev.
Toutefois, si vos développeurs ont besoin d'accéder à certains sites Web externes depuis leurs postes de travail, utilisez Secure Web Proxy pour fournir un accès auditable à ces sites, qui inclut des protections DLP.
Secure Web Proxy aide les organisations à appliquer un accès à Internet précis, en contrôlant le trafic sortant en fonction de la source, de l'identité, de la destination et du type de requête. Vous pouvez définir ces règles dans un contexte Google CloudIdentity and Access Management (IAM), en utilisant des comptes de service et des tags sécurisés pour limiter le trafic, par exemple, vers une destination spécifique.
Secure Web Proxy propose également un service d'inspection TLS évolutif qui vous permet d'appliquer des règles au trafic TLS chiffré intercepté.
Secure Web Proxy s'intègre à Cloud Logging pour enregistrer les métriques et les journaux de transactions. Pour identifier la station de travail source d'une entrée de journal donnée, recherchez l'adresse IP de la VM dans l'entrée de journal, puis utilisez les journaux de la plate-forme de la station de travail pour mettre en corrélation cette adresse IP avec la station de travail correspondante.
Vous pouvez utiliser une image personnalisée pour définir https_proxy et http_proxy sur le Secure Web Proxy dans vos stations de travail.
Limiter l'accès SSH direct
Assurez-vous de limiter l'accès SSH direct aux VM du projet hébergeant vos Cloud Workstations, de sorte que l'accès ne soit possible que via la passerelle Cloud Workstations, où les stratégies Identity and Access Management (IAM) sont appliquées et où les journaux de flux VPC peuvent être activés.
Pour désactiver l'accès SSH direct à la VM, exécutez la commande Google Cloud CLI suivante :
gcloud workstations configs update CONFIG \
--cluster=CLUSTER \
--region=REGION \
--project=PROJECT \
--disable-ssh-to-vm
Limiter l'accès aux ressources sensibles
Configurez un périmètre de service VPC Service Controls pour limiter l'accès aux ressources sensibles depuis vos stations de travail, ce qui empêche l'exfiltration du code source et des données.
Suivez le principe du moindre privilège.
Suivez le principe du moindre privilège pour les autorisations et l'allocation des ressources.
Autorisations IAM
Utilisez la configuration Identity and Access Management par défaut, en limitant l'accès à la station de travail à un seul développeur. Cela permet de s'assurer que chaque développeur utilise une instance de station de travail unique avec une VM sous-jacente distincte, ce qui augmente l'isolation de l'environnement. Les éditeurs de code et les applications Cloud Workstations s'exécutent dans un conteneur en mode privilégié et avec un accès racine, pour une plus grande flexibilité des développeurs. Cela fournit une station de travail unique par développeur et permet de s'assurer que même si un utilisateur s'échappe de ce conteneur, il reste dans sa VM et ne peut pas accéder à des ressources externes supplémentaires.
Configurez des autorisations IAM limitant l'accès non administrateur pour modifier les configurations de stations de travail et les images de conteneurs sur Artifact Registry.
En outre, Google vous recommande de configurer des autorisations IAM limitant l'accès non administrateur à l'une des ressources Compute Engine sous-jacentes du projet hébergeant vos Cloud Workstations.
Pour en savoir plus, consultez Utiliser IAM en toute sécurité.
Autorisations Cloud KMS
Pour mieux respecter le principe du moindre privilège, nous vous recommandons de conserver les ressources Cloud KMS et Cloud Workstations dans des projets Google Cloud distincts. Créez votre projet de clé Cloud KMS sans owner au niveau du projet, et désignez un administrateur de l'organisation
attribué au niveau de l'organisation.
Contrairement à un owner, un administrateur d'organisation ne peut pas gérer ni utiliser directement des clés. Ils sont limités à la définition de stratégies IAM, qui limitent les personnes autorisées à gérer et à utiliser les clés.
On parle également de séparation des tâches, qui consiste à s'assurer qu'une seule personne ne dispose pas de toutes les autorisations nécessaires pour effectuer une action malveillante. Pour en savoir plus, consultez Séparation des tâches.
Appliquer les mises à jour et les correctifs automatiques des images
Assurez-vous que vos postes de travail utilisent la dernière version des images de base Cloud Workstations, qui contient les derniers correctifs de sécurité. La valeur du délai d'exécution de la configuration de votre station de travail permet de s'assurer que les stations de travail créées avec cette configuration sont automatiquement mises à jour lors de la session suivante, afin de correspondre à la dernière version de l'image de conteneur définie dans la configuration de la station de travail.
- Si votre organisation utilise l'une des images de base Cloud Workstations, la station de travail récupère automatiquement toutes les mises à jour de la configuration de la station de travail lors de son prochain arrêt et redémarrage. La définition de
runningTimeoutou l'utilisation de la valeur par défaut permet de s'assurer que ces stations de travail sont arrêtées. - Si votre organisation utilise une image personnalisée, veillez à recompiler l'image régulièrement.
Gérer les images personnalisées
Vous êtes responsable de la gestion et de la mise à jour des packages et des dépendances personnalisés ajoutés aux images personnalisées.
Si vous créez des images personnalisées, nous vous recommandons de suivre les conseils ci-dessous :
- Exécutez un outil d'analyse de conteneur tel qu'Artifact Analysis pour inspecter les dépendances supplémentaires que vous avez ajoutées.
- Planifiez des builds pour recompiler les images chaque semaine ou découvrez comment automatiser la recompilation des images de conteneurs.
Configurer les journaux de flux VPC
Lorsque vous créez un cluster de stations de travail, Cloud Workstations l'associe à un sous-réseau particulier, et toutes les stations de travail sont placées dans ce sous-réseau. Pour activer les journaux de flux VPC, assurez-vous d'activer la journalisation pour ce sous-réseau. Pour en savoir plus, consultez Activer les journaux de flux VPC pour un sous-réseau existant.
Activer VM Threat Detection dans Security Command Center
Security Command Center est une solution de gestion des risques basée dans le cloud qui aide les professionnels de la sécurité à prévenir, détecter et corriger les problèmes de sécurité. Étant donné que les stations de travail s'exécutent sur une VM dédiée par station de travail, Virtual Machine Threat Detection peut être utilisé pour détecter les applications potentiellement malveillantes, telles que les logiciels de minage de cryptomonnaie, les rootkits en mode kernel et les logiciels malveillants exécutés dans la station de travail.
Lorsque vous évaluez les résultats pour les VM, vous pouvez trouver la station de travail attribuée à la VM en inspectant les libellés de la station de travail sur la VM ou en utilisant les journaux de la plate-forme des stations de travail pour rechercher les attributions historiques.