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.
Remediación de exposiciones para los servicios de Amazon ECS
AWS Security Hub puede generar resultados de exposición para los servicios de Amazon Elastic Container Service (Amazon ECS).
El servicio de Amazon ECS involucrado en un resultado de exposición y su información identificatoria se incluyen en la sección Recurso de los detalles del resultado. Puede recuperar estos detalles de los recursos en la consola de Security Hub o mediante programación con el GetFindingsV2funcionamiento de la API CSPM de Security Hub.
Después de identificar el recurso involucrado en un resultado de exposición, puede eliminar el recurso si no lo necesita. Eliminar un recurso no esencial puede reducir su perfil de exposición y sus costes. AWS Si el recurso es esencial, siga estos pasos de remediación recomendados para ayudar a mitigar el riesgo. Los temas de remediación se dividen según el tipo de condición.
Un único resultado de exposición puede incluir problemas identificados en varios temas de remediación. También es posible abordar un resultado de exposición y disminuir su nivel de gravedad con solo tratar uno de los temas de remediación. El enfoque de remediación adecuado depende de los requisitos y cargas de trabajo de la organización.
nota
La guía de remediación que se proporciona en este tema puede requerir consultas adicionales en otros AWS recursos.
Contenido
Condiciones de configuración incorrecta para servicios de Amazon ECS
El servicio Amazon ECS utiliza una definición de tareas configurada con privilegios elevados.
El servicio de Amazon ECS tiene un grupo de seguridad abierto
El rol de IAM asociado al servicio de Amazon ECS tiene una política de acceso administrativo
La función de IAM asociada al servicio ECS tiene una política de administración del servicio
Condiciones de vulnerabilidad para los servicios de Amazon ECS
Condiciones de configuración incorrecta para servicios de Amazon ECS
Estas son las condiciones de configuración incorrecta para servicios de Amazon ECS y los pasos de remediación sugeridos.
El servicio Amazon ECS utiliza una definición de tareas configurada con privilegios elevados.
Los contenedores de Amazon ECS que se ejecutan con privilegios elevados tienen capacidades similares a las del sistema host, lo que puede permitir el acceso a los recursos del host y a otros contenedores. Esta configuración aumenta el riesgo de que un contenedor comprometido se pueda utilizar para acceder a recursos o modificarlos fuera del alcance previsto, lo que podría dar lugar a un escape de contenedor, acceso no autorizado al host subyacente y filtraciones que afecten a otros contenedores en el mismo host. De acuerdo con los principios estándar de seguridad, AWS recomienda conceder privilegios mínimos, lo que significa otorgar únicamente los permisos necesarios para realizar una tarea.
Revisión y modificación de definiciones de tarea
En el resultado de exposición, identifique el ARN de la definición de tarea. Abra la definición de tarea en la consola de Amazon ECS. En la definición de tarea, busque el indicador de privilegios establecido en verdadero en las definiciones de contenedor. Si no se requiere el modo de privilegios, cree una nueva revisión de la definición de tarea sin el indicador de privilegios. Si se requiere el modo de privilegios, considere configurar el contenedor de modo que use un sistema de archivos de solo lectura y evite modificaciones no autorizadas.
El servicio de Amazon ECS usa una definición de tarea que permite que los contenedores accedan a los sistemas de archivos raíz
Los contenedores de Amazon ECS con acceso al sistema de archivos raíz del host pueden leer, modificar o ejecutar archivos críticos en el sistema del host. Esta configuración aumenta el riesgo de que un contenedor comprometido se pueda usar para acceder a recursos o modificarlos fuera del alcance previsto, lo que podría exponer información confidencial en el sistema de archivos del host. De acuerdo con los principios estándar de seguridad, AWS recomienda conceder privilegios mínimos, lo que significa otorgar únicamente los permisos necesarios para realizar una tarea.
Revisión y modificación de contenedores con acceso al sistema de archivos del host
En el resultado de exposición, identifique el ARN de la definición de tarea. Abra la definición de tarea en la consola de Amazon ECS. Busque la sección volúmenes en la definición de tarea que define las asignaciones de rutas del host. Revise la definición de tarea para determinar si el acceso al sistema de archivos del host es necesario para la funcionalidad del contenedor. Si no se requiere acceso al sistema de archivos del host, cree una nueva revisión de la definición de tarea y elimine cualquier definición de volumen que use rutas del host. Si se requiere acceso al sistema de archivos del host, considere configurar el contenedor para que use un sistema de archivos de solo lectura y evitar modificaciones no autorizadas.
El servicio de Amazon ECS usa una definición de tarea configurada para compartir el espacio de nombres de procesos del host.
Los contenedores de Amazon ECS que se ejecutan con espacios de nombres expuestos pueden acceder potencialmente a recursos del sistema del host y a espacios de nombres de otros contenedores. Esta configuración podría permitir que un contenedor comprometido escape su límite de aislamiento, lo que podría dar lugar al acceso a procesos, interfaces de red u otros recursos fuera del alcance previsto. Un espacio de nombres de ID de proceso (PID) proporciona separación entre los procesos. Evita que los procesos del sistema sean visibles y PIDs permite su reutilización, 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. Estos factores podrían dar lugar a acceso no autorizado a procesos en el propio host, incluida la capacidad de manipularlos y terminarlos. Siguiendo los principios de seguridad estándar, AWS recomienda mantener un aislamiento adecuado del espacio de nombres para los contenedores.
Actualización de las definiciones de tareas con espacios de nombres expuestos
Abra la pestaña Recursos del resultado de exposición e identifique la definición de tarea con el espacio de nombres expuesto. Abra la definición de tarea en la consola de Amazon ECS. Busque la configuración de pidMode con el valor host, lo que compartiría los espacios de nombres de ID de proceso con el host. Elimine la configuración pidMode: host de las definiciones de tarea para garantizar que los contenedores se ejecuten con un aislamiento adecuado de espacios de nombres.
El servicio de Amazon ECS usa una definición de tarea configurada con credenciales en texto plano en las variables de entorno.
Los contenedores de Amazon ECS con credenciales en texto plano en las variables de entorno exponen información de autenticación confidencial que podría verse comprometida si un atacante obtiene acceso a la definición de tarea, al entorno del contenedor o a los registros del contenedor. Esto crea un riesgo de seguridad importante, ya que las credenciales filtradas podrían usarse para acceder a otros AWS servicios o recursos.
Cómo reemplazar credenciales en texto plano
En el resultado de exposición, identifique la definición de tarea que contiene credenciales en texto plano. Abra la definición de tarea en la consola de Amazon ECS. Busque variables de entorno en la definición del contenedor que contengan valores confidenciales como claves de acceso de AWS , contraseñas de bases de datos o tokens de API.
Considere las siguientes alternativas para transferir credenciales:
-
En lugar de utilizar claves de AWS acceso, utilice funciones de ejecución de tareas y funciones de tareas de IAM para conceder permisos a sus contenedores.
-
Guarde las credenciales como secretas AWS Secrets Manager y haga referencia a ellas en la definición de la tarea.
Actualizar definiciones de tareas
Cree una nueva revisión de la definición de tarea que gestione las credenciales de forma segura. Luego, actualice el servicio de Amazon ECS para usar la nueva revisión de la definición de tarea.
El servicio de Amazon ECS tiene un grupo de seguridad abierto
Los grupos de seguridad funcionan como firewalls virtuales para las tareas de Amazon ECS y controlan el tráfico de entrada y salida. Los grupos de seguridad abiertos, que permiten acceso sin restricciones desde cualquier dirección IP, pueden exponer los contenedores a acceso no autorizado, lo que aumenta el riesgo de exposición a herramientas automatizadas de detección y a ataques dirigidos. Siguiendo los principios de seguridad estándar, AWS recomienda restringir el acceso de los grupos de seguridad a direcciones IP y puertos específicos.
Revisión de las reglas del grupo de seguridad y evaluación de la configuración actual
Abra el recurso del grupo de seguridad de Amazon ECS. Evalúe qué puertos están abiertos y accesibles desde rangos amplios de direcciones IP, como (0.0.0.0/0 or ::/0).
Modificación de reglas del grupo de seguridad
Modifique las reglas del grupo de seguridad para restringir el acceso únicamente a direcciones IP o rangos específicos y de confianza. Al actualizar las reglas del grupo de seguridad, considere separar los requisitos de acceso para distintos segmentos de red mediante la creación de reglas para cada rango de IP de origen requerido o la restricción del acceso únicamente a puertos específicos.
Modificación de reglas del grupo de seguridad
Considere las siguientes opciones para métodos de acceso alternativos:
-
Session Manager proporciona un acceso seguro desde el shell a sus EC2 instancias de Amazon sin necesidad de puertos de entrada, administrar claves SSH ni mantener hosts bastiones.
-
NACLs proporcionan una capa adicional de seguridad a nivel de subred. A diferencia de los grupos de seguridad, no NACLs tienen estado y requieren que las reglas de entrada y salida se definan de forma explícita.
El servicio Amazon ECS tiene direcciones IP públicas.
A los servicios de Amazon ECS con direcciones IP públicas asignadas a sus tareas se accede directamente desde Internet. Si bien esto puede ser necesario para los servicios que deben estar disponibles públicamente, amplía la superficie expuesta a ataques y aumenta el riesgo de accesos no autorizados.
Identificación de servicios con direcciones IP públicas
En el resultado de exposición, identifique el servicio de Amazon ECS que tiene direcciones IP públicas asignadas a sus tareas. Busque el ajuste assignPublicIp con el valor ENABLED en la configuración del servicio.
Actualizar definiciones de tareas
Cree una nueva revisión de la definición de tarea que desactive las direcciones IP públicas. Luego, actualice el servicio de Amazon ECS para usar la nueva revisión de la definición de tarea.
Implementación de patrones de acceso de red privada
Para las instancias que ejecutan aplicaciones web, considere la posibilidad de utilizar un Load Balancer (LB). LBs se puede configurar para permitir que las instancias se ejecuten en subredes privadas mientras que el LB se ejecuta en una subred pública y gestiona el tráfico de Internet.
El servicio de Amazon ECS utiliza una definición de tarea configurada con el modo de redes del host habilitado.
Los contenedores de Amazon ECS que se ejecutan con el modo de redes del host comparten el espacio de nombres de red con el host, lo que permite acceso directo a las interfaces de red, puertos y tablas de enrutamiento del host. Esta configuración evita el aislamiento de red que proporcionan los contenedores, lo que puede exponer directamente a redes externas los servicios que se ejecutan en el contenedor y permitir que los contenedores modifiquen la configuración de red del host. Siguiendo los principios de seguridad estándar, AWS recomienda mantener un aislamiento de red adecuado para los contenedores.
Desactivación del modo de redes del host
En el resultado de exposición, identifique la definición de tarea con el modo de redes del host. Abra la definición de tarea en la consola de Amazon ECS. Busque el ajuste networkMode con el valor host en la definición de tarea.
Considere las siguientes opciones para desactivar el modo de redes del host:
-
El modo de red
awsvpcproporciona el nivel más sólido de aislamiento de red al asignar a cada tarea su propia interfaz de red elástica. -
El modo de red
bridgeproporciona aislamiento y permite asignaciones de puertos para exponer puertos específicos del contenedor al host.
Actualizar definiciones de tareas
Cree una nueva revisión de la definición de tarea con la configuración de modo de red actualizada. Luego, actualice el servicio de Amazon ECS para usar la nueva revisión de la definición de tarea.
El rol de IAM asociado al servicio de Amazon ECS tiene una política de acceso administrativo
Los roles de IAM con políticas de acceso administrativo asociadas a tareas de Amazon ECS proporcionan permisos amplios que exceden lo que normalmente se requiere para el funcionamiento de los contenedores. Esta configuración aumenta el riesgo de que un contenedor comprometido se utilice para acceder a los recursos del AWS entorno o modificarlos. Siguiendo los principios de seguridad estándar, AWS recomienda implementar el acceso con privilegios mínimos concediendo solo los permisos necesarios para que una tarea funcione.
Revisión e identificación de políticas administrativas
En el ID de recurso, identifique el nombre del rol de IAM. Vaya al panel de IAM y seleccione el rol identificado. Revise la política de permisos asociada al rol de IAM. Si la política es una política AWS gestionada, busqueAdministratorAccess. De lo contrario, en el documento de la política, busque declaraciones que incluyan juntas las declaraciones "Effect": "Allow", "Action": "*",
and "Resource": "*".
Implementación del acceso a los privilegios mínimos
Reemplace las políticas administrativas por aquellas que conceden únicamente los permisos específicos que la instancia requiere para funcionar. Para identificar permisos innecesarios, puede usar el Analizador de acceso de IAM y así entender cómo modificar la política en función del historial de acceso. Como alternativa, puede crear un nuevo rol de IAM para evitar afectar a otras aplicaciones que usan el rol existente. En este caso, cree un nuevo rol de IAM y luego asócielo a la instancia.
Consideraciones para configuraciones seguras
Si la instancia requiere permisos administrativos a nivel de servicio, considere implementar estos controles de seguridad adicionales para mitigar el riesgo:.
-
MFA agrega una capa adicional de seguridad al requerir una forma adicional de autenticación. Esto ayuda a evitar accesos no autorizados incluso si las credenciales se ven comprometidas.
-
La configuración de elementos de condición permite restringir cuándo y cómo se pueden usar permisos administrativos en función de factores como la dirección IP de origen o la antigüedad del MFA.
Actualizar definiciones de tareas
Cree una nueva revisión de la definición de tarea que haga referencia a los roles de IAM nuevos o actualizados. Luego, actualice el servicio de Amazon ECS para usar la nueva revisión de la definición de tarea.
La función de IAM asociada al servicio ECS tiene una política de administración del servicio
Las políticas de administración de servicios proporcionan a las tareas y servicios de Amazon ECS permisos para realizar todas las acciones dentro de AWS servicios específicos. Estas políticas suelen incluir los permisos necesarios para la funcionalidad de las tareas de Amazon ECS. Proporcionar una función de IAM con una política de administración de servicios para las tareas de Amazon ECS, en lugar del conjunto mínimo de permisos necesario, puede aumentar el alcance de un ataque si un contenedor se ve comprometido. Siguiendo los principios de seguridad estándar, se AWS recomienda conceder los privilegios mínimos, es decir, conceder únicamente los permisos necesarios para realizar una tarea.
Revisión e identificación de políticas administrativas
En el ID de recurso, identifique los nombres de la función de tarea y de ejecución de Amazon ECS. Vaya al panel de control de IAM"s3": "*", "ecr": "*"). Para obtener instrucciones sobre cómo editar las políticas de IAM, consulte Editar las políticas de IAM en la Guía del usuario de IAM.
Implementación del acceso a los privilegios mínimos
Sustituya las políticas de administración de servicios por aquellas que concedan únicamente los permisos específicos necesarios para que las tareas de Amazon ECS funcionen. Para identificar permisos innecesarios, puede usar el Analizador de acceso de IAM y así entender cómo modificar la política en función del historial de acceso. Como alternativa, puede crear un nuevo rol de IAM para evitar afectar a otras aplicaciones que usan el rol existente. En este caso, cree un nuevo rol de IAM y luego asócielo a la instancia.
Consideraciones para configuraciones seguras
Si se necesitan permisos administrativos a nivel de servicio para las tareas de Amazon ECS, considere la posibilidad de implementar estos controles de seguridad adicionales:
-
Condiciones de IAM: configure los elementos de condición para restringir cuándo y cómo se pueden usar los permisos administrativos en función de factores como los puntos de enlace de la VPC o clústeres específicos de Amazon ECS. Para obtener más información, consulte Uso de condiciones en las políticas de IAM para restringir aún más el acceso en la Guía del usuario de IAM.
-
Límites de permisos: establezca los permisos máximos que puede tener un rol, proporcionando barreras para los roles con acceso administrativo. Para obtener más información, consulte Usar límites de permisos para delegar la administración de permisos dentro de una cuenta en la Guía del usuario de IAM.
Actualizar definiciones de tareas
Cree una nueva revisión de la definición de tarea que haga referencia a los roles de IAM nuevos o actualizados. Luego, actualice el servicio de Amazon ECS para usar la nueva revisión de la definición de tarea.
Condiciones de vulnerabilidad para los servicios de Amazon ECS
Aquí se presentan condiciones de vulnerabilidad para Amazon ECS y los pasos de remediación sugeridos.
El servicio de Amazon ECS tiene un contenedor con vulnerabilidades de software explotables a través de la red y con una alta probabilidad de explotación
-
Comprensión de la exposición
Los hallazgos de vulnerabilidades de los paquetes identifican los paquetes de software de su AWS entorno que están expuestos a vulnerabilidades y exposiciones comunes (CVEs). Los atacantes pueden aprovechar las vulnerabilidades no parcheadas y poner en riesgo la confidencialidad, integridad o disponibilidad de los datos, así como acceder a otros sistemas. Las imágenes de contenedor de ECR pueden presentar resultados de vulnerabilidades de paquetes.
-
Remediación de la exposición
-
Actualización de la versión del paquete
Revise el resultado de vulnerabilidad del paquete correspondiente a la imagen de contenedor de ECR. Actualice la versión del paquete según lo sugerido por Amazon Inspector. Para obtener más información, consulte Consulta de los detalles de los resultados de Amazon Inspector en la Guía del usuario de Amazon Inspector. La sección Remediación de los detalles del resultado en la consola de Amazon Inspectori ndica qué comandos puede ejecutar para actualizar el paquete.
-
Actualización de las imágenes base de contenedor
Vuelva a compilar y actualice periódicamente las imágenes base de contenedor para mantener los contenedores actualizados. Al volver a compilar una imagen, no incluya componentes innecesarios para reducir la superficie expuesta a ataques. Para obtener instrucciones sobre cómo volver a compilar una imagen de contenedor, consulte Cómo volver a compilar las imágenes con frecuencia
.
-
El servicio de Amazon ECS tiene un contenedor con vulnerabilidades de software
Los paquetes de software que se instalan en los contenedores de Amazon ECS pueden estar expuestos a vulnerabilidades y exposiciones comunes (CVEs). Las vulnerabilidades de prioridad baja representan debilidades de seguridad con una gravedad o capacidad de explotación menor en comparación con las vulnerabilidades de prioridad alta. Aunque estas vulnerabilidades representan un riesgo menos inmediato, los atacantes aún pueden aprovechar estas vulnerabilidades sin parches para comprometer la confidencialidad, integridad o disponibilidad de los datos, o para acceder a otros sistemas.
Actualizaciones de las imágenes de contenedores afectadas
Consulte la sección Referencias en la pestaña Vulnerabilidad de la condición. La documentación del proveedor puede incluir instrucciones específicas de remediación.
Aplique la remediación correspondiente según estas pautas generales:
-
Actualice las imágenes de contenedor para usar versiones con parches de los paquetes afectados.
-
Actualice las dependencias afectadas en la aplicación a sus versiones seguras más recientes.
Después de actualizar la imagen de contenedor, publíquela en el registro de contenedores y actualice la definición de tarea de Amazon ECS para usar la nueva imagen.
Consideraciones futuras
Para fortalecer aún más la posición de seguridad de las imágenes de contenedor, considere seguir las prácticas recomendadas de seguridad para tareas y contenedores de Amazon ECS. Amazon Inspector se puede configurar para CVEs que escanee automáticamente sus contenedores. Amazon Inspector también se puede integrar con el CSPM de Security Hub para realizar remediaciones automáticas. Considere implementar una programación regular de aplicación de parches mediante Systems Manager Maintenance Windows para minimizar las interrupciones en los contenedores.
El servicio Amazon ECS tiene un contenedor con un sistema End-Of-Life operativo
El contenedor Amazon ECS se basa en un sistema end-of-life operativo que el desarrollador original ya no admite ni mantiene. Esto expone el contenedor a vulnerabilidades de seguridad y a posibles ataques. Cuando los sistemas operativos llegan end-of-life, los proveedores suelen dejar de publicar nuevos avisos de seguridad. Los avisos de seguridad existentes también pueden eliminarse de los ficheros de proveedores. Como resultado, Amazon Inspector podría dejar de generar hallazgos de forma conocida CVEs, lo que crearía más brechas en la cobertura de seguridad.
Consulte Sistemas operativos descatalogados en la Guía del usuario de Amazon Inspector para obtener información sobre los sistemas operativos que han llegado al final de su vida útil y que Amazon Inspector puede detectar.
Actualice a una versión de sistema operativo compatible
Se recomienda actualizar el sistema operativo a una versión compatible. En la búsqueda de exposición, abra el recurso para acceder al recurso afectado. Antes de actualizar la versión del sistema operativo en la imagen de su contenedor, consulte las versiones disponibles en Sistemas operativos compatibles en la Guía del usuario de Amazon Inspector para obtener una lista de las versiones de sistemas operativos compatibles actualmente. Después de actualizar la imagen de contenedor, publíquela en el registro de contenedores y actualice la definición de tarea de Amazon ECS para usar la nueva imagen.
El servicio Amazon ECS tiene un contenedor con paquetes de software malintencionado.
Los paquetes maliciosos son componentes de software que contienen código dañino diseñado para comprometer la confidencialidad, integridad y disponibilidad de sus sistemas y datos. Los paquetes maliciosos representan una amenaza activa y crítica para las imágenes de sus contenedores de Amazon ECS, ya que los atacantes pueden ejecutar código malicioso automáticamente sin aprovechar una vulnerabilidad. Siguiendo las prácticas recomendadas de seguridad, AWS recomienda eliminar los paquetes maliciosos para proteger sus contenedores de posibles ataques.
Elimine los paquetes maliciosos
Revise los detalles de los paquetes maliciosos en la sección Referencias de la pestaña Vulnerabilidad de la característica para comprender la amenaza. Elimine los paquetes maliciosos identificados de las imágenes del contenedor y vuelva a crearlos. Para obtener más información, consulte ContainerDependency en la AWS Referencia de la API de Amazon ECS. Después de actualizar la imagen de contenedor, publíquela en el registro de contenedores y actualice la definición de tarea de Amazon ECS para usar la nueva imagen. Para obtener más información, consulte Actualización de una definición de tarea de Amazon ECS mediante la consola en la Guía para desarrolladores de AWS Amazon ECS.