Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Controles de Amazon ECS
Estos controles están relacionados con los recursos de Amazon ECS.
Es posible que estos controles no estén disponibles en todos Regiones de AWS. Para obtener más información, consulte Disponibilidad de los controles por región.
[ECS.1] Las definiciones de tareas de Amazon ECS deben tener modos de red seguros y definiciones de usuario.
Requisitos relacionados: NIST.800-53.r5 AC-2(1), NIST.800-53.r5 AC-3, NIST.800-53.r5 AC-3(15), NIST.800-53.r5 AC-3(7), NIST.800-53.r5 AC-5, NIST.800-53.r5 AC-6
Categoría: Proteger - Administración de acceso seguro
Gravedad: alta
Tipo de recurso: AWS::ECS::TaskDefinition
Regla de AWS Config : ecs-task-definition-user-for-host-mode-check
Tipo de horario: provocado por un cambio
Parámetros:
-
SkipInactiveTaskDefinitions
:true
(no personalizable)
Este control comprueba si una definición de tarea de Amazon ECS activa con el modo de red de host tiene definiciones de contenedor de privileged
o user
. El control falla para definiciones de tarea que tienen modo de red host y definiciones de contenedor de privileged=false
, vacío y user=root
, o vacío.
Este control solo evalúa la última revisión activa de una definición de tarea de Amazon ECS.
El objetivo de este control es garantizar que el acceso se defina intencionalmente cuando se ejecutan tareas que utilizan el modo de red host. Si la definición de una tarea tiene privilegios elevados, es porque ha elegido esa configuración. Este control comprueba si hay una escalada inesperada de privilegios cuando la definición de una tarea tiene habilitada la red host y no se eligen privilegios elevados.
Corrección
Para obtener información sobre cómo actualizar una definición de tarea, consulte Actualización de una definición de tarea en la Guía para desarrolladores de Amazon Elastic Container Service.
Al actualizar una definición de tarea, no se actualizan las tareas en ejecución que se iniciaron a partir de la definición de tarea anterior. Para actualizar una tarea en ejecución, debe volver a implementar la tarea con la nueva definición de tarea.
[ECS.2] Los servicios de ECS no deberían tener direcciones IP públicas asignadas automáticamente
Requisitos relacionados: NIST.800-53.r5 AC-21, NIST.800-53.r5 AC-3, NIST.800-53.r5 AC-3(7), NIST.800-53.r5 AC-4, NIST.800-53.r5 AC-4(21), NIST.800-53.r5 AC-6, NIST.800-53.r5 SC-7, NIST.800-53.r5 SC-7(11), NIST.800-53.r5 SC-7(16), NIST.800-53.r5 SC-7(20), NIST.800-53.r5 SC-7(21), NIST.800-53.r5 SC-7(3), NIST.800-53.r5 SC-7(4), NIST.800-53.r5 SC-7(9)
Categoría: Proteger > Configuración de red segura > Recursos no accesibles públicamente
Gravedad: alta
Tipo de recurso: AWS::ECS::Service
Regla de AWS Config: ecs-service-assign-public-ip-disabled
(regla personalizada de Security Hub)
Tipo de horario: provocado por un cambio
Parámetros:
-
exemptEcsServiceArns
(no personalizable). Security Hub no rellena este parámetro. Lista separada por comas de los ARN de los servicios de Amazon ECS que están exentos de esta regla.Esta regla es
COMPLIANT
si un servicio de Amazon ECS tieneAssignPublicIP
establecido comoENABLED
y se especifica en esta lista de parámetros.Esta regla es
NON_COMPLIANT
si un servicio de Amazon ECS tieneAssignPublicIP
establecido comoENABLED
y no se especifica en esta lista de parámetros.
Este control comprueba si los servicios de Amazon ECS están configurados para asignar direcciones IP públicas de forma automática. Este control tiene errores si AssignPublicIP
figura como ENABLED
. Este control se aprueba si AssignPublicIP
figura como DISABLED
.
Una dirección IP pública es una dirección IP a la que se puede tener acceso desde Internet. Si lanza sus instancias de Amazon ECS con una dirección IP pública, podrá acceder a sus instancias de Amazon ECS desde Internet. Los servicios de Amazon ECS no deben ser de acceso público, ya que esto podría permitir el acceso no deseado a los servidores de aplicaciones contenedoras.
Corrección
Para deshabilitar la asignación automática de IP públicas, consulte Para configurar los ajustes de VPC y grupos de seguridad para su servicio en la Guía para desarrolladores de Amazon Elastic Container Service.
[ECS.3] Las definiciones de tareas de ECS no deben compartir el espacio de nombres de los procesos del anfitrión
Requisitos relacionados: NIST.800-53.r5 CA-9(1), NIST.800-53.r5 CM-2
Categoría: Identificar > Configuración de recursos
Gravedad: alta
Tipo de recurso: AWS::ECS::TaskDefinition
AWS Config regla: ecs-task-definition-pid-mode-check
Tipo de horario: provocado por un cambio
Parámetros: ninguno
Este control comprueba si las definiciones de tareas de Amazon ECS están configuradas para compartir el espacio de nombres de procesos de un host con sus contenedores. El control falla si la definición de la tarea comparte el espacio de nombres del proceso del host con los contenedores que se ejecutan en él. Este control solo evalúa la última revisión activa de una definición de tarea de Amazon ECS.
Un espacio de nombres de ID de proceso (PID) proporciona separación entre los procesos. Evita que los procesos del sistema estén visibles y permite reutilizar los PID, incluido el PID 1. Si el espacio de nombres PID del host se comparte con los contenedores, los contenedores podrían ver todos los procesos del sistema anfitrión. Esto reduce la ventaja del aislamiento a nivel de proceso entre el host y los contenedores. Estas circunstancias podrían provocar el acceso no autorizado a los procesos del propio host, incluida la posibilidad de manipularlos y cancelarlos. Los clientes no deberían compartir el espacio de nombres de los procesos del anfitrión con los contenedores que se ejecuten en él.
Corrección
Para configurar el pidMode
de la definición de una tarea, consulte Parámetros de definición de tareas en la Guía para desarrolladores de Amazon Elastic Container Service.
[ECS.4] Los contenedores de ECS deben ejecutarse sin privilegios
Requisitos relacionados: NIST.800-53.r5 AC-2(1), NIST.800-53.r5 AC-3, NIST.800-53.r5 AC-3(15), NIST.800-53.r5 AC-3(7), NIST.800-53.r5 AC-5, NIST.800-53.r5 AC-6
Categoría: Proteger > Gestión del acceso seguro > Restricciones de acceso para los usuarios raíz
Gravedad: alta
Tipo de recurso: AWS::ECS::TaskDefinition
Regla de AWS Config: ecs-containers-nonprivileged
Tipo de horario: provocado por un cambio
Parámetros: ninguno
Este control comprueba si el parámetro privileged
de la definición de contenedor de las definiciones de tareas de Amazon ECS se establece como true
. El control falla si este parámetro es igual a true
. Este control solo evalúa la última revisión activa de una definición de tarea de Amazon ECS.
Le recomendamos que elimine los privilegios elevados de las definiciones de tareas de ECS. Cuando el parámetro de privilegio es true
, al contenedor se le conceden privilegios elevados en la instancia de contenedor de host (similares a los de un usuario raíz).
Corrección
Para configurar el parámetro privileged
en una definición de tarea, consulte Parámetros de definición avanzada de contenedor en la Guía para desarrolladores de Amazon Elastic Container Service.
[ECS.5] Los contenedores ECS deben limitarse al acceso de solo lectura a los sistemas de archivos raíz
Requisitos relacionados: NIST.800-53.r5 AC-2(1), NIST.800-53.r5 AC-3, NIST.800-53.r5 AC-3(15), NIST.800-53.r5 AC-3(7), NIST.800-53.r5 AC-5, NIST.800-53.r5 AC-6
Categoría: Proteger - Administración de acceso seguro
Gravedad: alta
Tipo de recurso: AWS::ECS::TaskDefinition
Regla de AWS Config: ecs-containers-readonly-access
Tipo de horario: provocado por un cambio
Parámetros: ninguno
Este control comprueba si los contenedores de Amazon ECS están limitados al acceso de solo lectura a los sistemas de archivos raíz montados. El control falla si el parámetro readonlyRootFilesystem
se establece como false
o si el parámetro no existe en la definición del contenedor dentro de la definición de la tarea. Este control solo evalúa la última revisión activa de una definición de tarea de Amazon ECS.
Al habilitar esta opción, se reducen los vectores de ataque a la seguridad, ya que no se puede manipular ni escribir en el sistema de archivos de la instancia contenedora a menos que tenga permisos explícitos de lectura y escritura en sus carpetas y directorios del sistema de archivos. Este control también se adhiere al principio de privilegio mínimo.
Corrección
Limitar las definiciones de contenedor al acceso de solo lectura a los sistemas de archivos raíz
Abra la consola de Amazon ECS en https://console.aws.amazon.com/ecs/
. -
En el panel de navegación izquierdo, elija Definiciones de tareas.
-
Seleccione una definición de tarea que contenga definiciones de contenedores que deban actualizarse. Para cada uno, lleve a cabo los siguientes pasos:
-
En el menú desplegable, seleccione Crear nueva revisión con JSON.
-
Añada el parámetro
readonlyRootFilesystem
y configúrelo comotrue
en la definición del contenedor dentro de la definición de la tarea. -
Seleccione Crear.
-
[ECS.8] Los secretos no deben pasarse como variables de entorno del contenedor
Requisitos relacionados: NIST.800-53.r5 CA-9(1), NIST.800-53.r5 CM-2
Categoría: Proteger > Desarrollo seguro > Credenciales no codificadas
Gravedad: alta
Tipo de recurso: AWS::ECS::TaskDefinition
Regla de AWS Config: ecs-no-environment-secrets
Tipo de horario: provocado por un cambio
Parámetros:
secretKeys =
AWS_ACCESS_KEY_ID
,AWS_SECRET_ACCESS_KEY
yECS_ENGINE_AUTH_DATA
(no personalizables)
Este control comprueba si el valor clave de alguna variable del parámetro environment
de las definiciones de contenedores incluye AWS_ACCESS_KEY_ID
, AWS_SECRET_ACCESS_KEY
, o ECS_ENGINE_AUTH_DATA
. Este control falla si una sola variable de entorno en cualquier definición de contenedor es igual a AWS_ACCESS_KEY_ID
, AWS_SECRET_ACCESS_KEY
, o ECS_ENGINE_AUTH_DATA
. Este control no cubre las variables de entorno que se transmiten desde otras ubicaciones, como Amazon S3. Este control solo evalúa la última revisión activa de una definición de tarea de Amazon ECS.
AWS Systems Manager Parameter Store puede ayudarlo a mejorar la postura de seguridad de su organización. Le recomendamos que utilice el almacén de parámetros para almacenar los secretos y las credenciales en lugar de pasarlos directamente a las instancias contenedoras o codificarlos en el código.
Corrección
Para crear parámetros mediante SSM, consulte Creación de parámetros de Systems Manager en la Guía del usuario de AWS Systems Manager . Para obtener más información sobre cómo crear una definición de tarea que especifique un secreto, consulte Especificar datos confidenciales mediante Secrets Manager en la Guía para desarrolladores de Amazon Elastic Container Service.
[ECS.9] Las definiciones de tareas de ECS deben tener una configuración de registro
Requisitos relacionados: NIST.800-53.r5 AC-4(26), NIST.800-53.r5 AU-10, NIST.800-53.r5 AU-12, NIST.800-53.r5 AU-2, NIST.800-53.r5 AU-3, NIST.800-53.r5 AU-6(3), NIST.800-53.r5 AU-6(4), NIST.800-53.r5 CA-7, NIST.800-53.r5 SC-7(9), NIST.800-53.r5 SI-7(8)
Categoría: Identificar - Registro
Gravedad: alta
Tipo de recurso: AWS::ECS::TaskDefinition
AWS Config regla: ecs-task-definition-log -configuración
Tipo de horario: provocado por un cambio
Parámetros: ninguno
Este control comprueba si la última definición de tarea activa de Amazon ECS tiene una configuración de registro especificada. El control falla si la definición de la tarea no tiene la propiedad definida logConfiguration
o si el valor logDriver
es null en al menos una definición de contenedor.
El registro le ayuda a mantener la fiabilidad, la disponibilidad y el rendimiento de Amazon ECS. La recopilación de datos de las definiciones de tareas proporciona visibilidad, lo que puede ayudarle a depurar los procesos y encontrar la causa raíz de los errores. Si utiliza una solución de registro que no tiene que estar definida en la definición de tareas de ECS (como una solución de registro de terceros), puede deshabilitar este control después de asegurarse de que los registros se capturan y entregan correctamente.
Corrección
Para definir una configuración de registro para las definiciones de tareas de Amazon ECS, consulte Especificar una configuración de registro en la definición de tareas de la Guía para desarrolladores de Amazon Elastic Container Service.
[ECS.10] Los servicios Fargate de ECS deberían ejecutarse en la última versión de la plataforma Fargate
Requisitos relacionados: NIST.800-53.r5 SI-2, NIST.800-53.r5 SI-2(2), NIST.800-53.r5 SI-2(4), NIST.800-53.r5 SI-2(5)
Categoría: Identificar > Administración de vulnerabilidades, parches y versiones
Gravedad: media
Tipo de recurso: AWS::ECS::Service
Regla de AWS Config: ecs-fargate-latest-platform-version
Tipo de horario: provocado por un cambio
Parámetros:
latestLinuxVersion: 1.4.0
(no personalizable)latestWindowsVersion: 1.0.0
(no personalizable)
Este control comprueba si los servicios Fargate de Amazon ECS ejecutan la versión más reciente de la versión de la plataforma Fargate. Este control falla si la versión de la plataforma no es la más reciente.
AWS Fargate las versiones de plataforma se refieren a un entorno de ejecución específico para la infraestructura de tareas de Fargate, que es una combinación de versiones de ejecución de kernel y contenedor. Se lanzan nuevas versiones de la plataforma a medida que evoluciona el tiempo de ejecución. Por ejemplo, se puede lanzar una nueva versión de kernel o del sistema operativo, características nuevas, correcciones de errores o actualizaciones de seguridad. Las actualizaciones y los parches de seguridad se implementan automáticamente para las tareas de Fargate. Si se detecta un problema de seguridad que afecte a una versión de la plataforma, corrija AWS la versión de la plataforma.
Corrección
Para actualizar un servicio existente, incluida su versión de la plataforma, consulte Actualización de un servicio en la Guía para desarrolladores de Amazon Elastic Container Service.
[ECS.12] Los clústeres de ECS deben usar Container Insights
Requisitos relacionados: NIST.800-53.r5 AU-6(3), NIST.800-53.r5 AU-6(4), NIST.800-53.r5 CA-7, NIST.800-53.r5 SI-2
Categoría: Identificar - Registro
Gravedad: media
Tipo de recurso: AWS::ECS::Cluster
Regla de AWS Config: ecs-container-insights-enabled
Tipo de horario: provocado por un cambio
Parámetros: ninguno
Este control comprueba si los clústeres de ECS utilizan Container Insights. Este control falla si Container Insights no está configurado para un clúster.
La monitorización es una parte importante del mantenimiento de la fiabilidad, la disponibilidad y el rendimiento de los clústeres de Amazon ECS. Utilice CloudWatch Container Insights para recopilar, agregar y resumir las métricas y los registros de sus aplicaciones y microservicios contenerizados. CloudWatch recopila automáticamente las métricas de muchos recursos, como la CPU, la memoria, el disco y la red. Información de contenedores también proporciona información de diagnóstico, como, por ejemplo, errores de reinicio de contenedores, para ayudarle a aislar problemas y solucionarlos rápidamente. También puedes configurar CloudWatch alarmas en las métricas que recopila Container Insights.
Corrección
Para usar Container Insights, consulta Actualización de un servicio en la Guía del CloudWatch usuario de Amazon.