Prácticas recomendadas de seguridad de red para Amazon ECS - Amazon Elastic Container Service

Prácticas recomendadas de seguridad de red para Amazon ECS

La seguridad de la red es un tema amplio que abarca varios subtemas. Estos incluyen el cifrado en tránsito, la segmentación y el aislamiento de la red, los firewalls, el enrutamiento del tráfico y la observabilidad.

Cifrado en tránsito

El cifrado del tráfico de la red evita que los usuarios no autorizados intercepten y lean los datos cuando esos se transmiten en una red. Con Amazon ECS, el cifrado de red se puede implementar de cualquiera de las siguientes formas.

Integración en red de las tareas

Las siguientes recomendaciones tienen en cuenta el funcionamiento de Amazon ECS. Amazon ECS no utiliza una red superpuesta. En su lugar, las tareas se configuran para funcionar en distintos modos de red. Por ejemplo, las tareas que están configuradas para usar el modo bridge adquieren una dirección IP no enrutable de una red Docker que se ejecuta en cada host. Las tareas que están configuradas para usar el modo de red awsvpc adquieren una dirección IP de la subred del host. Las tareas que se configuran con la red host utilizan la interfaz de red del host. awsvpc es el modo de red preferido. Esto se debe a que es el único modo que puede utilizar para asignar grupos de seguridad a las tareas. También es el único modo disponible para las tareas de AWS Fargate en Amazon ECS.

Grupos de seguridad para tareas

Se recomienda configurar las tareas para que utilicen el modo de red awsvpc. Tras configurar la tarea para utilizar este modo, el agente de Amazon ECS aprovisiona y adjunta automáticamente una interfaz de red elástica (ENI) a la tarea. Cuando se aprovisiona la ENI, la tarea se inscribe en un grupo de seguridad de AWS. Un grupo de seguridad funciona como un firewall virtual que puede utilizar para controlar el tráfico entrante y saliente.

AWS PrivateLink es una tecnología de red que permite crear puntos de conexión privados para distintos servicios de AWS, incluido Amazon ECS. Los puntos de conexión son necesarios en entornos aislados en los que no hay una puerta de enlace de Internet (IGW) conectada a la VPC de Amazon ni rutas alternativas a Internet. El uso de AWS PrivateLink garantiza que las llamadas al servicio de Amazon ECS permanezcan dentro de la VPC de Amazon y no atraviesen Internet. Para obtener instrucciones sobre cómo crear puntos de conexión de AWS PrivateLink para Amazon ECS y otros servicios relacionados, consulte Puntos de conexión de VPC de Amazon en la interfaz de Amazon ECS.

importante

Las tareas de AWS Fargate no requieren un punto de conexión de AWS PrivateLink para Amazon ECS.

Tanto Amazon ECR como Amazon ECS admiten políticas de puntos de conexión. Estas políticas le permiten restringir el acceso a las API de un servicio. Por ejemplo, podría crear una política de punto de conexión para Amazon ECR que solo permita enviar imágenes a los registros de determinadas cuentas de AWS. Una política como esta podría utilizarse para evitar que los datos se sustraigan a través de imágenes de contenedores y, al mismo tiempo, permitir a los usuarios acceder a registros autorizados de Amazon ECR. Para obtener más información, consulte Políticas de puntos de conexión de VPC.

La siguiente política permite a todas las entidades principales de AWS de su cuenta realizar todas las acciones únicamente contra los repositorios de Amazon ECR:

{ "Statement": [ { "Sid": "LimitECRAccess", "Principal": "*", "Action": "*", "Effect": "Allow", "Resource": "arn:aws:ecr:region:account_id:repository/*" }, ] }

Puede mejorarlo aún más estableciendo una condición que utilice la nueva propiedad de PrincipalOrgID. Esto evita que una entidad principal de IAM que no forma parte de su AWS Organizations inserte y extraiga imágenes. Para obtener más información, consulte aws:PrincipalOrgID.

Recomendamos aplicar la misma política tanto a los puntos de conexión com.amazonaws.region.ecr.dkr como a los com.amazonaws.region.ecr.api.

Configuración del agente de contenedor

El archivo de configuración del agente de contenedor de Amazon ECS incluye distintas variables de entorno relacionadas con la seguridad de la red. ECS_AWSVPC_BLOCK_IMDS y ECS_ENABLE_TASK_IAM_ROLE_NETWORK_HOST se utilizan para bloquear el acceso de una tarea a los metadatos de Amazon EC2. HTTP_PROXY se utiliza para configurar el agente para que se dirija a través de un proxy HTTP para conectarse a Internet. Para obtener instrucciones sobre cómo configurar el agente y el tiempo de ejecución de Docker para que se enruten a través de un proxy, consulte Configuración del proxy HTTP.

importante

Estos ajustes no están disponibles cuando utilice AWS Fargate.

Recomendaciones de seguridad de red

Le recomendamos que haga lo siguiente al configurar la VPC de Amazon, los equilibradores de carga y la red.

Uso del cifrado de red cuando corresponda con Amazon ECS

Debe utilizar el cifrado de red cuando corresponda. Algunos programas de conformidad, como el PCI DSS, exigen que se cifren los datos en tránsito si estos contienen datos del titular de la tarjeta. Si su carga de trabajo tiene requisitos similares, configure el cifrado de red.

Los navegadores modernos advierten a los usuarios cuando se conectan a sitios inseguros. Si su servicio se presenta mediante un equilibrador de carga público, utilice TLS/SSL para cifrar el tráfico del navegador del cliente hacia el equilibrador de carga y, si es necesario, vuelva a cifrarlo al backend.

Uso del modo de red awsvpc y los grupos de seguridad para controlar el tráfico entre tareas y otros recursos en Amazon ECS

Debe utilizar el modo de red y los grupos de seguridad awsvpc cuando necesite controlar el tráfico entre tareas o entre tareas y otros recursos de la red. Si su servicio está basado en un ALB, utilice grupos de seguridad para permitir únicamente el tráfico entrante desde otros recursos de red que utilicen el mismo grupo de seguridad que el ALB. Si su aplicación está basada en un NLB, configure el grupo de seguridad de la tarea para que solo permita el tráfico entrante del rango CIDR de la VPC de Amazon y las direcciones IP estáticas asignadas al NLB.

Los grupos de seguridad también se deben usar para controlar el tráfico entre las tareas y otros recursos de la VPC de Amazon, como las bases de datos de Amazon RDS.

Creación de clústeres de Amazon ECS en VPC de Amazon independientes cuando es necesario aislar estrictamente el tráfico de red

Debe crear clústeres en VPC de Amazon independientes cuando sea necesario aislar estrictamente el tráfico de red. Evite ejecutar cargas de trabajo que tengan requisitos de seguridad estrictos en clústeres con cargas de trabajo que no tengan que cumplir dichos requisitos. Cuando sea obligatorio aislar la red de forma estricta, cree clústeres en VPC de Amazon independientes y exponga los servicios de forma selectiva a otras VPC de Amazon mediante puntos de conexión de VPC de Amazon. Para obtener más información, consulte Puntos de conexión de VPC de Amazon.

Debe configurar los puntos de conexión de AWS PrivateLink cuando esté justificado. Si su política de seguridad le impide adjuntar una puerta de enlace de Internet (IGW) a sus VPC de Amazon, configure los puntos de conexión de AWS PrivateLink para Amazon ECS y otros servicios, como Amazon ECR, AWS Secrets Manager y Amazon CloudWatch.

Uso de los registros de flujo de VPC de Amazon para analizar el tráfico hacia y desde las tareas de larga ejecución en Amazon ECS

Debe utilizar los registros de flujo de VPC de Amazon para analizar el tráfico hacia y desde las tareas de larga ejecución. Las tareas que utilizan el modo de red awsvpc tienen su propia ENI. De este modo, puede supervisar el tráfico que va y viene de tareas individuales mediante registros de flujo de VPC de Amazon. Una actualización reciente de los registros de flujo de VPC de Amazon (v3) enriquece los registros con metadatos de tráfico, incluidos el ID de VPC, el ID de subred y el ID de instancia. Estos metadatos se pueden utilizar para ayudar a enfocar una investigación. Para obtener más información, consulte Registros de flujo de VPC de Amazon.

nota

Debido a la naturaleza temporal de los contenedores, es posible que los registros de flujo no siempre sean una forma eficaz de analizar los patrones de tráfico entre diferentes contenedores o entre contenedores y otros recursos de la red.