Configurer les bonnes pratiques de sécurité

Cette page présente les bonnes pratiques de sécurité recommandées pour améliorer la sécurité et la protection des données de vos Cloud Workstations. Cette liste n'est pas une checklist complète qui garantit la sécurité ni un remplacement de vos postures 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 de vos efforts pour créer une approche de sécurité multicouche. Une approche de sécurité multicouche est l'un des principes de sécurité fondamentaux pour exécuter des 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 reconstruit et republie ces images chaque semaine pour s'assurer que le logiciel fourni inclut les derniers correctifs de sécurité. De plus, le service utilise une valeur de délai d'exécution par défaut sur la configuration de votre poste de travail pour s'assurer que les postes de travail sont automatiquement mis à 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 hiérarchiser les mises à jour différemment selon l'impact d'un bug ou d'une CVE (Common Vulnerabilities and Exposures) 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 si des résultats de CVE issus d'analyses de failles de sécurité de nos images existent, 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 à son poste de travail. Comme pour tout environnement de développement, les développeurs doivent appliquer les bonnes pratiques lorsqu'ils utilisent leur poste de travail. Pour une sécurité optimale, n'exécutez que du code fiable, n'utilisez que des entrées fiables et n'accédez qu'à des domaines fiables. De plus, nous vous déconseillons d'utiliser des postes de travail pour héberger des serveurs de production ou de partager un même poste de travail avec plusieurs développeurs.

Si vous souhaitez mieux contrôler la sécurité des images de poste de travail de votre organisation, vous pouvez également créer vos propres images de conteneur personnalisées.

Restreindre l'accès au réseau public

Désactivez les adresses IP publiques sur vos postes de travail à l'aide de la configuration de votre poste de travail et configurez des règles de pare-feu limitant l'accès aux destinations Internet publiques qui ne sont pas nécessaires pour le travail quotidien depuis Cloud Workstations. 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.

Restreindre l'accès SSH direct

Assurez-vous de limiter l'accès SSH direct aux VM du projet hébergeant vos Cloud Workstations, afin que l'accès ne soit possible que via la passerelle Cloud Workstations, où les règles 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 postes de travail, ce qui empêche l'exfiltration du code source et des données.

Suivez le principe du moindre privilège.

Respectez 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, qui limite l'accès à la station de travail à un seul développeur. Cela permet de s'assurer que chaque développeur utilise une instance de poste de travail unique avec une VM sous-jacente distincte, ce qui renforce 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 flexibilité accrue des développeurs. Cela fournit un poste 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 à d'autres ressources externes.

Configurez des autorisations IAM limitant l'accès non administrateur à la modification des configurations de stations de travail et des images de conteneurs sur Artifact Registry.

De plus, 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 dont le rôle est attribué au niveau de l'organisation. Contrairement à un owner, un administrateur de l'organisation ne peut pas gérer ni utiliser de clés directement. Il peut simplement définir des stratégies IAM, qui limitent les utilisateurs autorisés à gérer et à utiliser les clés.

C'est ce qu'on appelle la séparation des tâches,qui consiste à s'assurer qu'une personne ne dispose pas de toutes les autorisations nécessaires pour effectuer une action malveillante. Pour en savoir plus, consultez la section Séparation des tâches.

Appliquer les mises à jour et 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 et mises à jour de sécurité. La valeur running timeout (délai d'exécution) de la configuration de votre poste de travail permet de s'assurer que les postes de travail créés avec cette configuration sont automatiquement mis à jour lors de la prochaine session, pour correspondre à la dernière version de l'image de conteneur définie dans la configuration du poste de travail.

  • Si votre organisation utilise l'une des images de base Cloud Workstations, la station de travail récupère automatiquement les mises à jour de la configuration la prochaine fois qu'elle est arrêtée et redémarrée. Définir le paramètre runningTimeout ou utiliser 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, assurez-vous de recompiler régulièrement l'image.

Gérer les images personnalisées

Vous êtes responsable de la gestion et de la mise à jour des packages et 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 suivants :

Configurer les journaux de flux VPC

Lorsque vous créez un cluster de stations de travail, Cloud Workstations l'associe à un sous-réseau spécifique, 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 résoudre les problèmes de sécurité. Étant donné que les postes de travail s'exécutent sur une VM dédiée par poste de travail, VM Threat Detection peut être utilisé pour détecter les applications potentiellement malveillantes, telles que les logiciels de minage de cryptomonnaie, les rootkits en mode noyau et les logiciels malveillants exécutés sur le poste de travail.

Lorsque vous évaluez les résultats pour les VM, vous pouvez trouver le poste de travail attribué à la VM en inspectant les libellés de poste de travail sur la VM ou en utilisant les journaux de la plate-forme des postes de travail pour rechercher les attributions précédentes.