

 **Ayude a mejorar esta página** 

Para contribuir a esta guía del usuario, elija el enlace **Edit this page on GitHub** que se encuentra en el panel derecho de cada página.

# Aplicación de revisiones de actualizaciones de seguridad para nodos híbridos
<a name="hybrid-nodes-security"></a>

Este tema describe el procedimiento para aplicar revisiones de actualizaciones de seguridad en el lugar para paquetes y dependencias específicos que se ejecutan en los nodos híbridos. Como buena práctica, recomendamos actualizar periódicamente los nodos híbridos para recibir actualizaciones relacionadas con vulnerabilidades (CVE) y revisiones de seguridad.

Para conocer los pasos para actualizar la versión de Kubernetes, consulte [Actualización de nodos híbridos para el clúster](hybrid-nodes-upgrade.md).

Un ejemplo de software que podría requerir revisiones de seguridad es `containerd`.

## `Containerd`
<a name="_containerd"></a>

 `containerd` es el tiempo de ejecución de contenedores estándar de Kubernetes y una dependencia fundamental para los nodos híbridos de EKS. Se encarga de administrar el ciclo de vida de los contenedores, incluida la extracción de imágenes y la ejecución de los contenedores. En un nodo híbrido, puede instalar `containerd` mediante la [CLI de nodeadm](https://docs.aws.amazon.com/eks/latest/userguide/hybrid-nodes-nodeadm.html) o de forma manual. Según el sistema operativo del nodo, `nodeadm` instalará `containerd` desde el paquete distribuido por el sistema operativo o desde el paquete de Docker.

Si se publica un CVE en `containerd`, tendrá las siguientes opciones para actualizar a la versión revisada de `containerd` en los nodos híbridos.

## Paso 1: Cómo comprobar si la revisión se ha publicado en los administradores de paquetes
<a name="_step_1_check_if_the_patch_published_to_package_managers"></a>

Para verificar si la revisión de la CVE de `containerd` ha sido publicada en el administrador de paquetes de cada sistema operativo, puede consultar los boletines de seguridad correspondientes:
+  [Amazon Linux 2023](https://alas.aws.amazon.com/alas2023.html) 
+  [RHEL](https://access.redhat.com/security/security-updates/security-advisories) 
+  [Ubuntu 20.04](https://ubuntu.com/security/notices?order=newest&release=focal) 
+  [Ubuntu 22.04](https://ubuntu.com/security/notices?order=newest&release=jammy) 
+  [Ubuntu 24.04](https://ubuntu.com/security/notices?order=newest&release=noble) 

Si utiliza el repositorio de Docker como origen de `containerd`, puede consultar los [Anuncios de seguridad de Docker](https://docs.docker.com/security/security-announcements/) para verificar la disponibilidad de la versión revisada en el repositorio de Docker.

## Paso 2: Cómo elegir el método para instalar la revisión
<a name="_step_2_choose_the_method_to_install_the_patch"></a>

Existen tres métodos para aplicar revisiones e instalar actualizaciones de seguridad en el lugar en los nodos. El método que puede utilizar depende de si la revisión está disponible en el administrador de paquetes del sistema operativo.

1. Instale revisiones con las `nodeadm upgrade` publicadas en los administradores de paquetes. Consulte el [Paso 2.a](#hybrid-nodes-security-nodeadm).

1. Instale revisiones directamente con los administradores de paquetes. Consulte el [Paso 2.b](#hybrid-nodes-security-package).

1. Instale revisiones personalizadas que no estén publicadas en los administradores de paquetes. Tenga en cuenta que existen consideraciones especiales para las revisiones personalizadas de `containerd`. Consulte el [Paso 2.c](#hybrid-nodes-security-manual).

## Paso 2.a: Aplicación de revisiones con `nodeadm upgrade`
<a name="hybrid-nodes-security-nodeadm"></a>

Una vez que haya confirmado que la revisión de la CVE de `containerd` ha sido publicada en los repositorios del sistema operativo o de Docker (ya sea Apt o RPM), puede utilizar el comando `nodeadm upgrade` para actualizar a la última versión de `containerd`. Como no se trata de una actualización de versión de Kubernetes, debe proporcionar la versión actual de Kubernetes al comando de actualización `nodeadm`.

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

## Paso 2.b: Aplicación de revisiones con los administradores de paquetes del sistema operativo
<a name="hybrid-nodes-security-package"></a>

Como alternativa, también puede actualizar a través del administrador de paquetes correspondiente y usarlo para actualizar el paquete de `containerd` de la siguiente manera.

 **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
```

## Paso 2.c: Revisión de CVE de `Containerd` no publicada en los administradores de paquetes
<a name="hybrid-nodes-security-manual"></a>

Si la versión revisada de `containerd` solo está disponible por otros medios, en lugar de en el administrador de paquetes; por ejemplo, en las publicaciones de GitHub, puede instalar `containerd` desde el sitio oficial de GitHub.

1. Si la máquina ya se ha unido al clúster como un nodo híbrido, entonces debe ejecutar el comando `nodeadm uninstall`.

1. Instale los binarios oficiales de `containerd`. Puede seguir los [pasos de instalación oficiales](https://github.com/containerd/containerd/blob/main/docs/getting-started.md#option-1-from-the-official-binaries) disponibles en GitHub.

1. Ejecute el comando `nodeadm install` con el argumento `--containerd-source` establecido en `none`, lo que omitirá la instalación de `containerd` a través de `nodeadm`. Puede usar el valor de `none` en el origen de `containerd` para cualquier sistema operativo que el nodo ejecute.

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