Compartir comentarios
Las respuestas se generan en base a la documentación.

Habilitar el Aislamiento de Contenedores Mejorado

Suscripción: Business
Para: Administradores

ECI evita que los contenedores maliciosos comprometan Docker Desktop al tiempo que mantiene la total productividad del desarrollador.

Esta página te muestra cómo activar el Aislamiento de Contenedores Mejorado (ECI) y verificar que esté funcionando correctamente.

Requisitos previos

Antes de comenzar, debes tener:

  • Una suscripción de Docker Business.
  • La imposición del inicio de sesión habilitada (solo para administradores que gestionan la configuración en toda la organización).

Habilitar el Aislamiento de Contenedores Mejorado

Para desarrolladores

Activa ECI en la configuración de tu Docker Desktop:

  1. Inicia sesión en tu organización en Docker Desktop. Tu organización debe tener una suscripción de Docker Business.

  2. Detén y elimina todos los contenedores existentes:

    $ docker stop $(docker ps -q)
    $ docker rm $(docker ps -aq)
    
  3. En Docker Desktop, ve a Settings (Configuración) > General.

  4. Selecciona la casilla de verificación Use Enhanced Container Isolation (Usar Aislamiento de Contenedores Mejorado).

  5. Selecciona Apply and restart (Aplicar y reiniciar).

Important

ECI no protege los contenedores creados antes de activar la característica. Elimina los contenedores existentes antes de activar ECI.

Para administradores

Configura el Aislamiento de Contenedores Mejorado en toda la organización utilizando la Gestión de Ajustes (Settings Management):

  1. Inicia sesión en Docker Home y selecciona tu organización en el menú desplegable de cuentas en la esquina superior izquierda.
  2. Ve a Admin Console (Consola de administración) > Desktop Settings Management (Gestión de Ajustes de Desktop).
  3. Crea o edita una política de configuración.
  4. Establece Enhanced Container Isolation (Aislamiento de Contenedores Mejorado) en Always enabled (Siempre habilitado).
  1. Crea un archivo admin-settings.json y agrega:

    {
      "configurationFileVersion": 2,
      "enhancedContainerIsolation": {
        "value": true,
        "locked": true
      }
    }
  2. Configura lo siguiente según sea necesario:

    • "value": true: Activa ECI por defecto (requerido).
    • "locked": true: Evita que los desarrolladores desactiven ECI.
    • "locked": false: Permite a los desarrolladores controlar el ajuste.

Aplicar la configuración

Para que los ajustes de ECI surtan efecto:

  • Nuevas instalaciones: Los usuarios inician Docker Desktop y abren sesión.
  • Instalaciones existentes: Los usuarios deben cerrar completamente Docker Desktop y volver a abrirlo.
Important

Reiniciar desde el menú de Docker Desktop no es suficiente. Los usuarios deben cerrar completamente y volver a abrir Docker Desktop.

También puedes configurar los permisos de montaje del socket de Docker para imágenes de confianza que necesiten acceso a la API de Docker.

Verificar que el Aislamiento de Contenedores Mejorado esté activo

Después de activar ECI, verifica que esté funcionando correctamente utilizando estos métodos.

Comprobar el mapeo de espacios de nombres de usuario

Ejecuta un contenedor y examina el mapeo de espacios de nombres de usuario:

$ docker run --rm alpine cat /proc/self/uid_map

Con ECI activado:

0     100000      65536

Esto muestra que el usuario root del contenedor (0) se asigna a un usuario sin privilegios (100000) en la VM de Docker Desktop, con un rango de 64K IDs de usuario. Cada contenedor obtiene un rango de IDs de usuario exclusivo para el aislamiento.

Con ECI desactivado:

0          0 4294967295

Esto muestra que el usuario root del contenedor (0) se asigna directamente al usuario root de la VM (0), proporcionando menos aislamiento.

Comprobar el entorno de ejecución del contenedor

Verifica el entorno de ejecución del contenedor que se está utilizando:

$ docker inspect --format='{{.HostConfig.Runtime}}' <nombre_contenedor>

Con ECI activado, devuelve sysbox-runc. Con ECI desactivado, devuelve runc.

Probar las restricciones de seguridad

Verifica que las restricciones de seguridad de ECI estén activas.

Probar el uso compartido de espacios de nombres:

$ docker run -it --rm --pid=host alpine

Con ECI activado, este comando falla con un error que indica que los contenedores Sysbox no pueden compartir espacios de nombres con el host.

Probar el acceso al socket de Docker:

$ docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock alpine

Con ECI activado, este comando falla a menos que hayas configurado excepciones del socket de Docker para imágenes de confianza.

Qué ven los usuarios con ECI impuesto

Cuando los administradores imponen el Aislamiento de Contenedores Mejorado a través de la Gestión de Ajustes (Settings Management):

  • El ajuste Use Enhanced Container Isolation (Usar Aislamiento de Contenedores Mejorado) aparece activado en la configuración de Docker Desktop.
  • Si se establece en "locked": true, el ajuste estará bloqueado y atenuado (en gris).
  • Todos los contenedores nuevos utilizan automáticamente espacios de nombres de usuario de Linux.
  • Los flujos de trabajo de desarrollo existentes continúan funcionando sin modificaciones.
  • Los usuarios ven sysbox-runc como el entorno de ejecución del contenedor en la salida de docker inspect.

Siguientes pasos