Consideraciones de seguridad de Fargate para Amazon ECS - Amazon Elastic Container Service

Consideraciones de seguridad de Fargate para Amazon ECS

Cada tarea tiene una capacidad de infraestructura dedicada porque Fargate ejecuta cada carga de trabajo en un entorno virtual aislado. Las cargas de trabajo que se ejecutan en Fargate no comparten interfaces de red, almacenamiento efímero, CPU ni memoria con otras tareas. Puede ejecutar varios contenedores dentro de una tarea, incluidos los contenedores de aplicaciones y los contenedores sidecar, o simplemente los sidecar. Un sidecar es un contenedor que se ejecuta junto a un contenedor de aplicaciones en una tarea de Amazon ECS. Si bien el contenedor de aplicaciones ejecuta el código principal de la aplicación, los procesos que se ejecutan en los sidecar pueden mejorar la aplicación. Los sidecar le ayudan a dividir las funciones de la aplicación en contenedores dedicados, lo que facilita actualizar partes de la aplicación.

Los contenedores que forman parte de la misma tarea comparten recursos para el tipo de lanzamiento de Fargate, ya que estos contenedores siempre se ejecutan en el mismo host y comparten recursos informáticos. Estos contenedores también comparten el almacenamiento efímero proporcionado por Fargate. Los contenedores de Linux de una tarea comparten espacios de nombres de red, incluida la dirección IP y los puertos de red. Dentro de una tarea, los contenedores que pertenecen a la tarea pueden intercomunicarse por localhost.

El entorno de tiempo de ejecución de Fargate le impide utilizar determinadas características del controlador que son compatibles con las instancias de EC2. Tenga en cuenta lo siguiente cuando diseñe cargas de trabajo que se ejecutan en Fargate:

  • Sin contenedores ni acceso privilegiados: características como los contenedores o el acceso privilegiados no están disponibles actualmente en Fargate. Esto afectará a los casos de uso, como la ejecución de Docker en Docker.

  • Acceso limitado a las capacidades de Linux: el entorno en el que se ejecutan los contenedores en Fargate está bloqueado. Las capacidades adicionales de Linux, como CAP_SYS_ADMIN y CAP_NET_ADMIN, están restringidas para evitar un escalado de privilegios. Fargate admite agregar la capacidad de Linux CAP_SYS_PTRACE a las tareas para permitir que las herramientas de observabilidad y seguridad implementadas dentro de la tarea supervisen la aplicación en contenedores.

  • Sin acceso al host subyacente: ni los clientes ni los operadores de AWS pueden conectarse a un host que ejecute las cargas de trabajo de los clientes. Puede utilizar ECS exec para ejecutar comandos en un contenedor u obtener un intérprete de comandos en un contenedor que se ejecute en Fargate. Puede utilizar ECS exec como ayuda para recopilar información de diagnóstico para la depuración. Fargate también impide que los contenedores accedan a los recursos del host subyacente, como el sistema de archivos, los dispositivos, las redes y el tiempo de ejecución del contenedor.

  • Redes: puede utilizar grupos de seguridad y ACL de red para controlar el tráfico entrante y saliente. Las tareas de Fargate reciben una dirección IP de la subred configurada en la VPC.