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 Amazon ECS
Estos controles están relacionados con los recursos de Amazon ECS.
Es posible que estos controles no estén disponibles en todosRegiones de AWS. Para obtener más información, consulte Disponibilidad de controles por región.
[ECS.1] Las definiciones de tareas de Amazon ECS deben tener modos de red y definiciones de usuario seguros.
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 cronograma: cambio activado
Parámetros:
-
SkipInactiveTaskDefinitions
:true
Este control comprueba si una definición de tarea activa de Amazon ECS que tiene el modo de red host también tiene privileged
definiciones de user
contenedor. El control falla en las definiciones de tareas que tienen el modo de red host y las definiciones de contenedor privileged=false
o están vacías con user=root
o vacías. Este control solo evalúa la última revisión activa de una definición de tarea de Amazon ECS.
Si una definición de tarea tiene privilegios elevados, se debe a que el cliente ha optado específicamente por esa configuración. Este control comprueba si hay un aumento inesperado de privilegios cuando la definición de una tarea tiene habilitada la red host, pero el cliente no ha optado por obtener 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.
Tenga en cuenta que al actualizar una definición de tarea, no se actualizan las tareas en ejecución que se iniciaron desde 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, NIS.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 al público
Gravedad: alta
Tipo de recurso: AWS::ECS::Service
AWS Configregla: ecs-service-assign-public-ip-disabled
(regla personalizada de Security Hub)
Tipo de cronograma: cambio activado
Parámetros:
-
exemptEcsServiceArns
(Opcional). 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 se aplica
COMPLIANT
si un servicio de Amazon ECSAssignPublicIP
se ha establecido en esta lista de parámetrosENABLED
y se especifica en ella.Esta regla se aplica
NON_COMPLIANT
si un servicio de Amazon ECS estáAssignPublicIP
configurado en esta lista de parámetrosENABLED
y no está especificado en ella.
Este control comprueba si los servicios de Amazon ECS están configurados para asignar automáticamente direcciones IP públicas. Este control falla si AssignPublicIP
es asíENABLED
. Este control se aprueba si AssignPublicIP
es asíDISABLED
.
Una dirección IP pública es una dirección IP a la que se puede acceder desde Internet. Si lanza sus instancias de Amazon ECS con una dirección IP pública, podrá acceder a ellas desde Internet. Los servicios de Amazon ECS no deben ser de acceso público, ya que esto puede permitir el acceso no deseado a los servidores de aplicaciones en contenedores.
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 del proceso del host
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 Configregla: ecs-task-definition-pid-mode-check
Tipo de cronograma: cambio activado
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 una separación entre los procesos. Impide 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án ver todos los procesos del sistema host. Esto reduce el beneficio del aislamiento a nivel de proceso entre el huésped y los contenedores. Estas circunstancias podrían provocar un acceso no autorizado a los procesos del propio host, incluida la posibilidad de manipularlos y cancelarlos. Los clientes no deben compartir el espacio de nombres de procesos del host con los contenedores que se ejecutan en él.
Corrección
Para configurar la definición pidMode
de una tarea, consulte los parámetros de definición de tareas en la Guía para desarrolladores de Amazon Elastic Container Service.
[ECS.4] Los contenedores ECS deben ejecutarse como contenedores 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 usuarios raíz
Gravedad: alta
Tipo de recurso: AWS::ECS::TaskDefinition
Regla de AWS Config: ecs-containers-nonprivileged
Tipo de cronograma: cambio activado
Parámetros: ninguno
Este control comprueba si el privileged
parámetro de la definición de contenedor de las definiciones de tareas de Amazon ECS está establecido entrue
. El control falla si este parámetro es igual atrue
. 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 estrue
, el contenedor recibe privilegios elevados en la instancia del contenedor anfitrión (similares a los del usuario raíz).
Corrección
Para configurar el privileged
parámetro en una definición de tarea, consulte Parámetros avanzados de definición de contenedores 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 cronograma: cambio activado
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 readonlyRootFilesystem
parámetro está establecido en 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 el sistema de archivos de la instancia del contenedor no se puede manipular ni escribir en él a menos que tenga permisos de lectura y escritura explícitos en la carpeta y los directorios del sistema de archivos. Este control también se adhiere al principio del mínimo privilegio.
Corrección
Limitar las definiciones de contenedores al acceso de solo lectura a los sistemas de archivos raíz
Abra la consola clásica de Amazon ECS en https://console.aws.amazon.com/ecs/
. -
En el panel de navegación de la izquierda, seleccione Definiciones de tareas.
-
Seleccione una definición de tarea que contenga definiciones de contenedores que deban actualizarse. Para cada uno de ellos, complete los siguientes pasos:
-
En el menú desplegable, selecciona Crear nueva revisión con JSON.
-
Añada el
readonlyRootFilesystem
parámetro y configúrelotrue
en la definición de contenedor dentro de la definición de tarea. -
Seleccione Crear.
-
[ECS.8] Los secretos no deben pasarse como variables de entorno de 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 cronograma: cambio activado
Parámetros:
Claves secretas =
AWS_ACCESS_KEY_ID
,,AWS_SECRET_ACCESS_KEY
ECS_ENGINE_AUTH_DATA
Este control comprueba si el valor clave de alguna variable del environment
parámetro de las definiciones de contenedores incluye AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
, oECS_ENGINE_AUTH_DATA
. Este control falla si una única variable de entorno en cualquier definición de contenedor es igual a AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
, oECS_ENGINE_AUTH_DATA
. Este control no cubre las variables ambientales transferidas 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 ManagerEl almacén de parámetros puede ayudarlo a mejorar la postura de seguridad de su organización. Recomendamos utilizar el almacén de parámetros para almacenar secretos y credenciales en lugar de ordenarlos pasarlos a las instancias del contenedor o codificarlos de forma rígida 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 AWS Systems Manager usuario. 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.10] Los servicios de ECS Fargate deben ejecutarse en la versión más reciente 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 cronograma: cambio activado
Parámetros:
latestLinuxVersion: 1.4.0
latestWindowsVersion: 1.0.0
Este control comprueba si los servicios Fargate de Amazon ECS ejecutan la versión más reciente de la plataforma Fargate. Este control falla si la versión de la plataforma no es la más reciente.
AWS Fargatelas versiones de plataforma hacen referencia 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 del núcleo y del contenedor. Se lanzan nuevas versiones de la plataforma a medida que evoluciona el entorno de ejecución. Por ejemplo, se puede publicar una nueva versión para actualizar el núcleo o el sistema operativo, nuevas funciones, 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 encuentra un problema de seguridad que afecta a una versión de la plataforma, AWS parchea la versión de la plataforma.
Corrección
Para actualizar un servicio existente, incluida su versión de 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 cronograma: cambio activado
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 confiabilidad, la disponibilidad y el rendimiento de los clústeres de Amazon ECS. Utilice CloudWatch Container Insights para recopilar, agregar y resumir métricas y registros de sus aplicaciones en contenedores y microservicios. CloudWatchrecopila automáticamente las métricas de muchos recursos, como la CPU, la memoria, el disco y la red. Container Insights 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 puede establecer alarmas de CloudWatch en las métricas que recopila Container Insights.
Corrección
Para usar Container Insights, consulte Actualización de un servicio en la Guía del CloudWatch usuario de Amazon.