GCP - Compute Instances
Last updated
Last updated
Apprenez et pratiquez le hacking AWS :HackTricks Formation AWS Red Team Expert (ARTE) Apprenez et pratiquez le hacking GCP : HackTricks Formation GCP Red Team Expert (GRTE)
Les instances de calcul Google Cloud sont des machines virtuelles personnalisables sur l'infrastructure cloud de Google, offrant une puissance de calcul évolutive et à la demande pour une large gamme d'applications. Elles fournissent des fonctionnalités telles que le déploiement mondial, le stockage persistant, des choix de systèmes d'exploitation flexibles, et de fortes intégrations réseau et sécurité, ce qui en fait un choix polyvalent pour héberger des sites web, traiter des données et exécuter des applications efficacement dans le cloud.
Les VM confidentielles utilisent des fonctionnalités de sécurité basées sur le matériel offertes par la dernière génération de processeurs AMD EPYC, qui incluent le chiffrement de la mémoire et la virtualisation chiffrée sécurisée. Ces fonctionnalités permettent à la VM de protéger les données traitées et stockées à l'intérieur d'elle-même, même contre le système d'exploitation hôte et l'hyperviseur.
Pour exécuter une VM confidentielle, il peut être nécessaire de changer des éléments comme le type de la machine, l'interface réseau, l'image de disque de démarrage.
Il est possible de sélectionner le disque à utiliser ou d'en créer un nouveau. Si vous sélectionnez un nouveau, vous pouvez :
Sélectionner la taille du disque
Sélectionner le système d'exploitation
Indiquer si vous souhaitez supprimer le disque lorsque l'instance est supprimée
Chiffrement : Par défaut, une clé gérée par Google sera utilisée, mais vous pouvez également sélectionner une clé de KMS ou indiquer une clé brute à utiliser.
Il est possible de déployer un conteneur à l'intérieur de la machine virtuelle. Il est possible de configurer l'image à utiliser, de définir la commande à exécuter à l'intérieur, les arguments, de monter un volume, et des variables d'environnement (informations sensibles ?) et de configurer plusieurs options pour ce conteneur comme exécuter en tant que privilégié, stdin et pseudo TTY.
Par défaut, le compte de service par défaut de Compute Engine sera utilisé. L'email de ce compte de service est comme : <proj-num>-compute@developer.gserviceaccount.com
Ce compte de service a le rôle d'éditeur sur l'ensemble du projet (hauts privilèges).
Et les portées d'accès par défaut sont les suivantes :
https://www.googleapis.com/auth/devstorage.read_only -- Accès en lecture aux buckets :)
https://www.googleapis.com/auth/logging.write
https://www.googleapis.com/auth/monitoring.write
https://www.googleapis.com/auth/servicecontrol
https://www.googleapis.com/auth/service.management.readonly
https://www.googleapis.com/auth/trace.append
Cependant, il est possible de l'accorder cloud-platform
d'un clic ou de spécifier des personnalisées.
Il est possible de permettre le trafic HTTP et HTTPS.
Transfert IP : Il est possible de permettre le transfert IP dès la création de l'instance.
Nom d'hôte : Il est possible de donner à l'instance un nom d'hôte permanent.
Interface : Il est possible d'ajouter une interface réseau.
Ces options augmenteront la sécurité de la VM et sont recommandées :
Démarrage sécurisé : Le démarrage sécurisé aide à protéger vos instances de VM contre les malwares et rootkits au niveau du démarrage et du noyau.
Activer vTPM : Le module de plateforme de confiance virtuel (vTPM) valide l'intégrité de pré-démarrage et de démarrage de votre VM invitée, et offre génération et protection de clés.
Supervision de l'intégrité : La surveillance de l'intégrité vous permet de surveiller et de vérifier l'intégrité de démarrage en cours d'exécution de vos instances de VM protégées à l'aide des rapports Stackdriver. Nécessite que vTPM soit activé.
La manière courante d'activer l'accès à la VM est de permettre à certaines clés SSH publiques d'accéder à la VM.
Cependant, il est également possible d'activer l'accès à la VM via le service os-config
en utilisant IAM. De plus, il est possible d'activer la 2FA pour accéder à la VM en utilisant ce service.
Lorsque ce service est activé, l'accès via clés SSH est désactivé.
Il est possible de définir l'automatisation (userdata dans AWS) qui sont des commandes shell qui seront exécutées chaque fois que la machine s'allume ou redémarre.
Il est également possible d'ajouter des valeurs de clé-valeur de métadonnées supplémentaires qui seront accessibles depuis le point de terminaison des métadonnées. Ces informations sont couramment utilisées pour les variables d'environnement et les scripts de démarrage/arrêt. Cela peut être obtenu en utilisant la méthode describe
d'une commande dans la section d'énumération, mais cela pourrait également être récupéré de l'intérieur de l'instance en accédant au point de terminaison des métadonnées.
De plus, le jeton d'authentification pour le compte de service attaché et les informations générales sur l'instance, le réseau et le projet seront également disponibles à partir de l'endpoint de métadonnées. Pour plus d'informations, consultez :
Une clé de chiffrement gérée par Google est utilisée par défaut, mais une clé de chiffrement gérée par le client (CMEK) peut être configurée. Vous pouvez également configurer ce qu'il faut faire lorsque le CMEK utilisé est révoqué : rien ou éteindre la VM.
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE) Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)