Utiliser des nœuds GKE protégés

Cette page vous explique comment utiliser les nœuds GKE protégés. Les nœuds GKE protégés fournissent une identité et une intégrité solides et vérifiables qui permettent de renforcer leur sécurité.

Présentation

Les nœuds GKE protégés s'appuient sur les VM protégées Compute Engine. Les nœuds GKE protégés offrent les avantages suivants :

Contrôle de la provenance du système d'exploitation du nœud
Contrôle vérifiable de manière chiffrée pour s'assurer que le système d'exploitation du nœud s'exécute sur une machine virtuelle dans un centre de données Google.
Protection améliorée du rootkit et du bootkit

Les nœuds GKE protégés sont un rempart contre les rootkits et les bootkits qui gagnent en persistance dans le nœud, grâce aux éléments suivants :

  • Démarrage sécurisé et mesuré
  • Module vTPM (Virtual Trusted Platform Module)
  • Micrologiciel UEFI
  • Surveillance de l'intégrité

Pour en savoir plus, reportez-vous à la documentation sur les VM protégées.

Les nœuds GKE protégés peuvent être utilisés avec les GPU.

L'exécution de nœuds GKE protégés n'entraîne aucun coût supplémentaire. Toutefois, les nœuds GKE protégés génèrent environ 0,5 ko de journaux supplémentaires au démarrage comparés aux nœuds standards. Pour en savoir plus, consultez la page "Tarifs de Cloud Logging".

Disponibilité

  • Les nœuds GKE protégés sont disponibles dans GKE 1.13.6-gke.0 et versions ultérieures.
  • Les nœuds GKE protégés sont disponibles dans toutes les zones et dans toutes les régions.
  • Les nœuds GKE protégés peuvent être utilisés avec COS (Container-Optimized OS), les COS avec containerd et les images de nœuds Ubuntu.

Avant de commencer

Avant de commencer, effectuez les tâches suivantes :

Configurez les paramètres gcloud par défaut à l'aide de l'une des méthodes suivantes :

  • Utilisez gcloud init pour suivre les instructions permettant de définir les paramètres par défaut.
  • Utilisez gcloud config pour définir individuellement l'ID, la zone et la région de votre projet.

Utiliser gcloud init

  1. Exécutez gcloud init et suivez les instructions :

    gcloud init

    Si vous utilisez SSH sur un serveur distant, utilisez l'option --console-only pour empêcher la commande d'ouvrir un navigateur :

    gcloud init --console-only
  2. Suivez les instructions pour autoriser gcloud à utiliser votre compte Google Cloud.
  3. Créez ou sélectionnez une configuration.
  4. Choisissez un projet Google Cloud.
  5. Choisissez une zone Compute Engine par défaut.

Utiliser gcloud config

  • Définissez votre ID de projet par défaut :
    gcloud config set project project-id
  • Si vous travaillez avec des clusters zonaux, définissez votre zone de calcul par défaut :
    gcloud config set compute/zone compute-zone
  • Si vous utilisez des clusters régionaux, définissez votre région de calcul par défaut :
    gcloud config set compute/region compute-region
  • Mettez à jour gcloud vers la dernière version :
    gcloud components update

Activer les nœuds GKE protégés dans un nouveau cluster

Vous pouvez créer un cluster avec des nœuds GKE protégés à l'aide de l'outil gcloud ou de Google Cloud Console.

gcloud

Lors de la création d'un cluster, spécifiez l'option --enable-shielded-nodes :

gcloud container clusters create [CLUSTER_NAME] --enable-shielded-nodes

Console

  1. Accédez au menu "Google Kubernetes Engine" dans Cloud Console.

    Accéder au menu "Google Kubernetes Engine"

  2. Cliquez sur le bouton Créer un cluster.

  3. Dans le volet de navigation, cliquez sur Sécurité sous Cluster.

  4. Cochez la case Activer les nœuds GKE protégés.

  5. Configurez le cluster selon vos besoins.

  6. Cliquez sur Créer.

Pour en savoir plus sur la création de clusters, consultez la page Créer un cluster.

Activer les nœuds GKE protégés dans un cluster existant

Vous pouvez activer les nœuds GKE protégés dans un cluster existant à l'aide de l'outil de ligne de commande gcloud ou de Google Cloud Console.

Après avoir activé les nœuds GKE protégés, le plan de contrôle et les nœuds sont recréés en tant que VM protégées. Le plan de contrôle n'est pas disponible lorsqu'il est en cours de recréation. Les nœuds de cluster sont recréés de façon progressive afin de minimiser les temps d'arrêt.

gcloud

Lors de la mise à jour du cluster, spécifiez l'option --enable-shielded-nodes :

gcloud container clusters update [CLUSTER_NAME] --enable-shielded-nodes

Console

  1. Accédez au menu "Google Kubernetes Engine" dans Cloud Console.

    Accéder au menu "Google Kubernetes Engine"

  2. Cliquez sur le bouton de modification du cluster (icône en forme de crayon).

  3. Dans la liste déroulante Nœuds GKE protégés, sélectionnez Activé.

Configurations facultatives

Le démarrage sécurisé et la surveillance de l'intégrité sont des fonctionnalités supplémentaires qui peuvent être utilisées conjointement avec les nœuds GKE protégés. Les nœuds GKE protégés, le démarrage sécurisé et la surveillance de l'intégrité sont des fonctionnalités indépendantes qui peuvent être activées ou désactivées individuellement.

Démarrage sécurisé

Le démarrage sécurisé est désactivé par défaut sur GKE, car les modules tiers non signés du noyau ne peuvent pas être chargés lorsque le démarrage sécurisé est activé.

Si vous n'utilisez pas les modules tiers non signés du noyau, vous pouvez activer le démarrage sécurisé à l'aide de l'outil de ligne de commande gcloud ou de Google Cloud Console :

gcloud

Pour activer le démarrage sécurisé lors de la création d'un cluster, procédez comme suit :

gcloud container clusters create [CLUSTER_NAME] --shielded-secure-boot

Pour activer le démarrage sécurisé lors de la création d'un pool de nœuds, procédez comme suit :

gcloud container node-pool create [POOL_NAME] --shielded-secure-boot

Le démarrage sécurisé est désactivé par défaut. Vous pouvez le désactiver explicitement lors de la création d'un cluster ou d'un pool de nœuds à l'aide de l'option --no-shielded-secure-boot.

Console

Pour activer le démarrage sécurisé lors de la création d'un pool de nœuds, procédez comme suit :

  1. Accédez à la page "Détails du cluster".
  2. En haut de la page, cliquez sur Ajouter un pool de nœuds.
  3. Dans la section "Options protégées", cochez la case Démarrage sécurisé.

Surveillance de l'intégrité du système

La surveillance de l'intégrité est activée par défaut sur GKE. Vous pouvez la désactiver à l'aide de l'outil de ligne de commande gcloud ou de Google Cloud Console :

gcloud

Pour désactiver la surveillance de l'intégrité des composants système lors de la création d'un cluster, procédez comme suit :

gcloud container clusters create [CLUSTER_NAME] --no-shielded-integrity-monitoring

Pour désactiver la surveillance de l'intégrité des composants système lors de la création d'un pool de nœuds, procédez comme suit :

gcloud container node-pool create [POOL_NAME] --no-shielded-integrity-monitoring

La surveillance de l'intégrité est activée par défaut. Vous pouvez l'activer explicitement lors de la création d'un cluster ou d'un pool de nœuds à l'aide de l'option --shielded-integrity-monitoring

Console

Pour désactiver la surveillance de l'intégrité lors de la création d'un pool de nœuds, procédez comme suit :

  1. Accédez à la page "Détails du cluster".
  2. En haut de la page, cliquez sur Ajouter un pool de nœuds.
  3. Dans la section "Options protégées", décochez la case Surveillance de l'intégrité.

Vérifier que les nœuds GKE protégés sont activés

Vous pouvez vérifier que votre cluster utilise des nœuds GKE protégés à l'aide de l'outil de ligne de commande gcloud ou de Google Cloud Console.

gcloud

Décrivez le cluster :

gcloud container clusters describe [CLUSTER_NAME]

Si les nœuds GKE protégés sont activés, le résultat de la commande inclut les lignes suivantes :

shieldedNodes:
enabled: true

Console

  1. Accédez à l'onglet Détails du cluster en cliquant sur le nom du cluster dans la liste des clusters de votre projet.
  2. Dans la liste d'informations, vérifiez que les nœuds GKE protégés sont activés.

Vous pouvez également surveiller l'intégrité des VM protégées sous-jacentes de vos nœuds. Pour en savoir plus sur cette procédure, reportez-vous à la section Surveiller l'intégrité sur des instances de VM protégées.

Désactiver des nœuds GKE protégés

Vous pouvez désactiver les nœuds GKE protégés à l'aide de l'outil de ligne de commande gcloud ou de Google Cloud Console.

gcloud

Lors de la mise à jour du cluster, spécifiez l'option --no-enable-shielded-nodes :

gcloud container clusters update [CLUSTER_NAME] --no-enable-shielded-nodes

Console

  1. Accédez à la page de modification des clusters.
  2. Sélectionnez Disabled (Désactivé) dans le menu "Shielded GKE Nodes" (Nœuds GKE protégés).

Capture d'écran de l'interface de modification du cluster

Après avoir désactivé les nœuds GKE protégés, le plan de contrôle et les nœuds sont recréés en tant que VM non protégées. Le plan de contrôle n'est pas disponible lorsqu'il est en cours de recréation. Les nœuds de cluster sont recréés de façon progressive afin de minimiser les temps d'arrêt.

Étapes suivantes