Mises à jour de sécurité pour les nœuds hybrides - Amazon EKS

Aidez à améliorer cette page

Pour contribuer à ce guide de l’utilisateur, cliquez sur le lien Modifier cette page sur GitHub qui se trouve dans le volet droit de chaque page.

Mises à jour de sécurité pour les nœuds hybrides

Cette rubrique décrit la procédure à suivre pour appliquer des correctifs de sécurité à des packages et dépendances spécifiques s’exécutant sur vos nœuds hybrides. Nous vous recommandons de mettre régulièrement à jour vos nœuds hybrides afin de recevoir les CVE et les correctifs de sécurité.

Pour connaître les étapes à suivre pour mettre à niveau la version de Kubernetes, consultez Mettre à niveau les nœuds hybrides pour votre cluster.

Un exemple de logiciel pouvant nécessiter un correctif de sécurité est containerd.

Containerd

containerd est l’exécution de conteneur Kubernetes standard et la dépendance principale pour les nœuds hybrides EKS, utilisée pour gérer le cycle de vie des conteneurs, y compris le téléchargement d’images et la gestion de l’exécution des conteneurs. Sur un nœud hybride, vous pouvez installer containerd via l’interface CLI nodeadm ou manuellement. En fonction du système d’exploitation de votre nœud, nodeadm installera containerd à partir du paquet distribué par le système d’exploitation ou du paquet Docker.

Lorsqu’un CVE dans containerd a été publié, vous disposez des options suivantes pour passer à la version corrigée de containerd sur vos nœuds hybrides.

Étape 1 : vérifier si le correctif a été publié dans les gestionnaires de paquets

Vous pouvez vérifier si le correctif CVE containerd a été publié pour chaque gestionnaire de paquets OS en consultant les bulletins de sécurité correspondants :

Si vous utilisez le dépôt Docker comme source de containerd, vous pouvez consulter les annonces de sécurité Docker pour vérifier la disponibilité de la version corrigée dans le dépôt Docker.

Étape 2 : choisir la méthode d’installation du correctif

Il existe trois méthodes pour corriger et installer les mises à niveau de sécurité sur place sur les nœuds. La méthode que vous pouvez utiliser dépend de la disponibilité du correctif dans le gestionnaire de paquets du système d’exploitation :

  1. Installez les correctifs avec nodeadm upgrade qui sont publiés dans les gestionnaires de paquets, voir Étape 2a.

  2. Installez les correctifs directement à l’aide des gestionnaires de paquets, voir Étape 2b.

  3. Installez des correctifs personnalisés qui ne sont pas publiés dans les gestionnaires de paquets. Veuillez noter qu’il existe des considérations particulières pour les correctifs personnalisés pour containerd, Étape 2c.

Étape 2a : application d’un correctif avec nodeadm upgrade

Après avoir vérifié que le correctif CVE containerd a été publié dans les référentiels OS ou Docker (Apt ou RPM), vous pouvez utiliser la commande nodeadm upgrade pour passer à la dernière version de containerd. Comme il ne s’agit pas d’une mise à niveau de la version Kubernetes, vous devez indiquer votre version Kubernetes actuelle dans la commande de mise à niveau nodeadm.

nodeadm upgrade K8S_VERSION --config-source file:///root/nodeConfig.yaml

Étape 2b : application de correctifs à l’aide des gestionnaires de paquets du système d’exploitation

Vous pouvez également effectuer la mise à jour via le gestionnaire de paquets correspondant et l’utiliser pour mettre à niveau le paquet containerd comme suit.

Amazon Linux 2023

sudo yum update -y sudo yum install -y containerd

RHEL

sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo sudo yum update -y sudo yum install -y containerd

Ubuntu

sudo mkdir -p /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update -y sudo apt install -y --only-upgrade containerd.io

Étape 2c : correctif CVE Containerd non publié dans les gestionnaires de paquets

Si la version corrigée containerd n’est disponible que par d’autres moyens que le gestionnaire de paquets, par exemple dans les versions GitHub, vous pouvez installer containerd à partir du site officiel GitHub.

  1. Si la machine a déjà rejoint le cluster en tant que nœud hybride, vous devez alors exécuter la commande nodeadm uninstall.

  2. Installez les binaires officiels containerd. Vous pouvez suivre les étapes d’installation officielles sur GitHub.

  3. Exécutez la commande nodeadm install avec l’argument --containerd-source défini sur none, ce qui ignorera l’installation containerd via nodeadm. Vous pouvez utiliser la valeur de none dans la source containerd pour tout système d’exploitation exécuté par le nœud.

    nodeadm install K8S_VERSION --credential-provider CREDS_PROVIDER --containerd-source none