ECSControles de Amazon - AWS Security Hub

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.

ECSControles de Amazon

Estos controles están relacionados con los ECS recursos de Amazon.

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 ECS tareas de Amazon deben tener modos de red seguros y definiciones de usuario.

Requisitos relacionados: NIST .800-53.r5 AC-2 (1), .800-53.r5 AC-3, .800-53.r5 AC-3 (15), NIST .800-53.r5 AC-3 (7), .800-53.r5 AC-5, NIST .800-53.r5 AC-6 NIST NIST NIST

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 ECS tarea de Amazon activa con el modo de red de host tiene definiciones de user contenedor privileged o definiciones. 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 ECS tarea de Amazon.

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] ECS los servicios no deberían tener direcciones IP públicas asignadas automáticamente

Requisitos relacionados: NIST .800-53.r5 AC-21, .800-53.r5 AC-3, NIST .800-53.r5 AC-3 (7), NIST .800-53.r5 AC-4, .800-53.r5 AC-6, .800-53.r5 SC-7, NIST .800-53.r5 SC-7 (11), NIST .800-53.r5 SC-7 (16)), .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) NIST NIST NIST NIST NIST

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 ECS servicios de ARNs Amazon que están exentos de esta regla.

    Esta regla se aplica COMPLIANT si un ECS servicio de Amazon AssignPublicIP se ha establecido ENABLED y se especifica en esta lista de parámetros.

    Esta regla se aplica NON_COMPLIANT si un ECS servicio de Amazon AssignPublicIP se ha establecido ENABLED y no se ha especificado en esta lista de parámetros.

Este control comprueba si ECS los servicios de Amazon están configurados para asignar automáticamente direcciones IP públicas. 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 lanzas tus ECS instancias de Amazon con una dirección IP pública, podrás acceder a tus ECS instancias de Amazon desde Internet. ECSLos servicios de Amazon 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 direcciones IP públicas, consulte Para configurar VPC los ajustes de grupos de seguridad para su servicio en la Guía para desarrolladores de Amazon Elastic Container Service.

[ECS.3] las definiciones de ECS tareas no deben compartir el espacio de nombres de los procesos del anfitrión

Requisitos relacionados: NIST .800-53.r5 CA-9 (1), .800-53.r5 CM-2 NIST

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 ECS tareas de Amazon 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 ECS tarea de Amazon.

Un espacio de nombres de ID de proceso (PID) proporciona una separación entre los procesos. Evita que los procesos del sistema sean visibles y PIDs permite su reutilización, incluido 1. PID Si el espacio de PID nombres 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 ECS contenedores deberían ejecutarse sin privilegios

Requisitos relacionados: NIST .800-53.r5 AC-2 (1), .800-53.r5 AC-3, .800-53.r5 AC-3 (15), NIST .800-53.r5 AC-3 (7), .800-53.r5 AC-5, NIST .800-53.r5 AC-6 NIST NIST NIST

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 privileged parámetro de la definición de contenedor de Amazon ECS Task Definitions está establecido entrue. 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 ECS tarea de Amazon.

Le recomendamos que elimine los privilegios elevados de las definiciones de sus ECS tareas. 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] ECS Los contenedores deben limitarse al acceso de solo lectura a los sistemas de archivos raíz

Requisitos relacionados: NIST .800-53.r5 AC-2 (1), .800-53.r5 AC-3, .800-53.r5 AC-3 (15), NIST .800-53.r5 AC-3 (7), .800-53.r5 AC-5, .800-53.r5 AC-6 NIST NIST NIST NIST

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 ECS contenedores de Amazon 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 ECS tarea de Amazon.

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
  1. Abre la consola Amazon ECS Classic en https://console.aws.amazon.com/ecs/.

  2. En el panel de navegación izquierdo, elija Definiciones de tareas.

  3. 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, selecciona Crear nueva revisión con JSON.

    • Añada el parámetro readonlyRootFilesystem y configúrelo como true 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), .800-53.r5 CM-2 NIST

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_SECRET_ACCESS_KEY=ECS_ENGINE_AUTH_DATA, (no personalizable) AWS_ACCESS_KEY_ID

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 ECS tarea de Amazon.

AWS Systems Manager Parameter Store puede ayudarle 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 medianteSSM, 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.9] las definiciones de ECS tareas deben tener una configuración de registro

Requisitos relacionados: NIST .800-53.r5 AC-4 (26), .800-53.r5 AU-10, NIST .800-53.r5 AU-12, .800-53.r5 AU-2, NIST .800-53.r5 AU-3, .800-53.r5 AU-6 (3), NIST .800-53.r5 AU-6 (4), NIST .800-53.r5 CA-7, .800-53.r5 SC-7 (9), NIST .800-53.r5 SI-7 (8) NIST NIST NIST NIST

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 ECS tarea activa de Amazon 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 te ayuda a mantener la fiabilidad, la disponibilidad y el rendimiento de AmazonECS. 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 utilizas una solución de registro que no tiene que estar definida en la definición de la ECS tarea (como una solución de registro de terceros), puedes desactivar este control después de asegurarte de que tus registros se capturan y entregan correctamente.

Corrección

Para definir una configuración de registro para las definiciones de las ECS tareas de Amazon, consulte Especificar una configuración de registro en la definición de la tarea en la Guía para desarrolladores de Amazon Elastic Container Service.

[ECS.10] Los servicios de ECS Fargate deberían ejecutarse en la última versión de la plataforma Fargate

Requisitos relacionados: NIST .800-53.r5 SI-2, .800-53.r5 SI-2 (2), NIST .800-53.r5 SI-2 (4), .800-53.r5 SI-2 (5) NIST NIST

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 de Amazon ECS Fargate 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 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] ECS los clústeres deben usar Container Insights

Requisitos relacionados: NIST .800-53.r5 AU-6 (3), .800-53.r5 AU-6 (4), NIST .800-53.r5 CA-7, .800-53.r5 SI-2 NIST NIST

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 ECS los clústeres utilizan Container Insights. Este control falla si Container Insights no está configurado para un clúster.

La supervisión es una parte importante del mantenimiento de la fiabilidad, la disponibilidad y el rendimiento de los ECS clústeres de Amazon. 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 memoriaCPU, 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 función de 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.

[ECS.13] ECS los servicios deben estar etiquetados

Categoría: Identificar > Inventario > Etiquetado

Gravedad: baja

Tipo de recurso: AWS::ECS::Service

Regla de AWS Config: tagged-ecs-service (regla personalizada de Security Hub)

Tipo de horario: provocado por un cambio

Parámetros:

Parámetro Descripción Tipo Valores personalizados permitidos Valor predeterminado de Security Hub
requiredTagKeys Lista de claves de etiquetas no relacionadas con el sistema que debe contener el recurso evaluado. Las claves de etiqueta distinguen entre mayúsculas y minúsculas. StringList Lista de etiquetas que cumplen AWS los requisitos Sin valor predeterminado

Este control comprueba si un ECS servicio de Amazon tiene etiquetas con las claves específicas definidas en el parámetrorequiredTagKeys. El control falla si el servicio no tiene ninguna clave de etiqueta o si no tiene todas las claves especificadas en el parámetrorequiredTagKeys. Si requiredTagKeys no se proporciona el parámetro, el control solo comprueba la existencia de una clave de etiqueta y produce un error si el servicio no está etiquetado con ninguna clave. Las etiquetas del sistema, que se aplican automáticamente y comienzan por ellaaws:, se ignoran.

Una etiqueta es una etiqueta que se asigna a un AWS recurso y consta de una clave y un valor opcional. Puede crear etiquetas para clasificar los recursos según su finalidad, propietario, entorno u otro criterio. Las etiquetas pueden ayudarle a identificar, organizar, buscar y filtrar los recursos. El etiquetado también te ayuda a realizar un seguimiento de las acciones y notificaciones de los propietarios de los recursos responsables. Al utilizar el etiquetado, puede implementar el control de acceso basado en atributos (ABAC) como estrategia de autorización, que define los permisos en función de las etiquetas. Puede adjuntar etiquetas a IAM las entidades (usuarios o roles) y a los recursos. AWS Puede crear una ABAC política única o un conjunto de políticas independiente para sus IAM directores. Puede diseñar estas ABAC políticas para permitir las operaciones cuando la etiqueta del principal coincida con la etiqueta del recurso. Para obtener más información, consulte ¿ABACPara qué sirve AWS? en la Guía IAM del usuario.

nota

No añada información de identificación personal (PII) ni ningún otro tipo de información confidencial o delicada en las etiquetas. Muchas personas pueden acceder a las etiquetas Servicios de AWS, entre ellas AWS Billing. Para obtener más información sobre las mejores prácticas de etiquetado, consulte Etiquetar sus AWS recursos en el. Referencia general de AWS

Corrección

Para añadir etiquetas a un ECS servicio, consulta Cómo etiquetar tus ECS recursos de Amazon en la Guía para desarrolladores de Amazon Elastic Container Service.

[ECS.14] los ECS clústeres deben estar etiquetados

Categoría: Identificar > Inventario > Etiquetado

Gravedad: baja

Tipo de recurso: AWS::ECS::Cluster

Regla de AWS Config: tagged-ecs-cluster (regla personalizada de Security Hub)

Tipo de horario: provocado por un cambio

Parámetros:

Parámetro Descripción Tipo Valores personalizados permitidos Valor predeterminado de Security Hub
requiredTagKeys Lista de claves de etiquetas no relacionadas con el sistema que debe contener el recurso evaluado. Las claves de etiqueta distinguen entre mayúsculas y minúsculas. StringList Lista de etiquetas que cumplen AWS los requisitos Sin valor predeterminado

Este control comprueba si un ECS clúster de Amazon tiene etiquetas con las claves específicas definidas en el parámetrorequiredTagKeys. El control falla si el clúster no tiene ninguna clave de etiqueta o si no tiene todas las claves especificadas en el parámetrorequiredTagKeys. Si requiredTagKeys no se proporciona el parámetro, el control solo comprueba la existencia de una clave de etiqueta y genera un error si el clúster no está etiquetado con ninguna clave. Las etiquetas del sistema, que se aplican automáticamente y comienzan por ellaaws:, se ignoran.

Una etiqueta es una etiqueta que se asigna a un AWS recurso y consta de una clave y un valor opcional. Puede crear etiquetas para clasificar los recursos según su finalidad, propietario, entorno u otro criterio. Las etiquetas pueden ayudarle a identificar, organizar, buscar y filtrar los recursos. El etiquetado también te ayuda a realizar un seguimiento de las acciones y notificaciones de los propietarios de los recursos responsables. Al utilizar el etiquetado, puede implementar el control de acceso basado en atributos (ABAC) como estrategia de autorización, que define los permisos en función de las etiquetas. Puede adjuntar etiquetas a IAM las entidades (usuarios o roles) y a los recursos. AWS Puede crear una ABAC política única o un conjunto de políticas independiente para sus IAM directores. Puede diseñar estas ABAC políticas para permitir las operaciones cuando la etiqueta del principal coincida con la etiqueta del recurso. Para obtener más información, consulte ¿ABACPara qué sirve AWS? en la Guía IAM del usuario.

nota

No añada información de identificación personal (PII) ni ningún otro tipo de información confidencial o delicada en las etiquetas. Muchas personas pueden acceder a las etiquetas Servicios de AWS, entre ellas AWS Billing. Para obtener más información sobre las mejores prácticas de etiquetado, consulte Etiquetar sus AWS recursos en el. Referencia general de AWS

Corrección

Para añadir etiquetas a un ECS clúster, consulta Cómo etiquetar tus ECS recursos de Amazon en la Guía para desarrolladores de Amazon Elastic Container Service.

[ECS.15] las definiciones de ECS tareas deben estar etiquetadas

Categoría: Identificar > Inventario > Etiquetado

Gravedad: baja

Tipo de recurso: AWS::ECS::TaskDefinition

Regla de AWS Config: tagged-ecs-taskdefinition (regla personalizada de Security Hub)

Tipo de horario: provocado por un cambio

Parámetros:

Parámetro Descripción Tipo Valores personalizados permitidos Valor predeterminado de Security Hub
requiredTagKeys Lista de claves de etiquetas no disponibles que debe contener el recurso evaluado. Las claves de etiqueta distinguen entre mayúsculas y minúsculas. StringList Lista de etiquetas que cumplen AWS los requisitos Sin valor predeterminado

Este control comprueba si una definición de ECS tarea de Amazon tiene etiquetas con las claves específicas definidas en el parámetrorequiredTagKeys. El control falla si la definición de la tarea no tiene ninguna clave de etiqueta o si no tiene todas las claves especificadas en el parámetrorequiredTagKeys. Si requiredTagKeys no se proporciona el parámetro, el control solo comprueba la existencia de una clave de etiqueta y falla si la definición de la tarea no está etiquetada con ninguna clave. Las etiquetas del sistema, que se aplican automáticamente y comienzan por ellaaws:, se ignoran.

Una etiqueta es una etiqueta que se asigna a un AWS recurso y consta de una clave y un valor opcional. Puede crear etiquetas para clasificar los recursos según su finalidad, propietario, entorno u otro criterio. Las etiquetas pueden ayudarle a identificar, organizar, buscar y filtrar los recursos. El etiquetado también te ayuda a realizar un seguimiento de las acciones y notificaciones de los propietarios de los recursos responsables. Al utilizar el etiquetado, puede implementar el control de acceso basado en atributos (ABAC) como estrategia de autorización, que define los permisos en función de las etiquetas. Puede adjuntar etiquetas a IAM las entidades (usuarios o roles) y a los recursos. AWS Puede crear una ABAC política única o un conjunto de políticas independiente para sus IAM directores. Puede diseñar estas ABAC políticas para permitir las operaciones cuando la etiqueta del principal coincida con la etiqueta del recurso. Para obtener más información, consulte ¿ABACPara qué sirve AWS? en la Guía IAM del usuario.

nota

No añada información de identificación personal (PII) ni ningún otro tipo de información confidencial o delicada en las etiquetas. Muchas personas pueden acceder a las etiquetas Servicios de AWS, entre ellas AWS Billing. Para obtener más información sobre las mejores prácticas de etiquetado, consulte Etiquetar sus AWS recursos en el. Referencia general de AWS

Corrección

Para añadir etiquetas a una definición de ECS tarea, consulta Cómo etiquetar tus ECS recursos de Amazon en la Guía para desarrolladores de Amazon Elastic Container Service.