En el ecosistema de Amazon Web Services (AWS), los roles de Identity and Access Management (IAM) son fundamentales para gestionar el acceso a recursos y servicios. Sin embargo, la creación automática o recomendada de ciertos roles predeterminados durante la configuración inicial de servicios como Amazon SageMaker, AWS Glue, EMR y Lightsail puede introducir riesgos de seguridad significativos si no se gestionan adecuadamente.
El Problema de los Roles Predeterminados
Algunos servicios de AWS generan roles IAM con políticas de permisos amplias, como AmazonS3FullAccess
, que otorgan acceso completo a todos los buckets de Amazon S3 en una cuenta. Esta configuración puede ser aprovechada por actores maliciosos para realizar movimientos laterales dentro del entorno de AWS, escalar privilegios y, en casos extremos, comprometer toda la cuenta.
Ejemplos de Roles con Permisos Excesivos
- Amazon SageMaker: Crea roles como
AmazonSageMaker-ExecutionRole-<Date&Time>
con políticas que incluyenAmazonS3FullAccess
. - AWS Glue: Genera el rol
AWSGlueServiceRole
con acceso completo a S3. - Amazon EMR: Produce roles como
AmazonEMRStudio_RuntimeRole_<Epoch-time>
también conAmazonS3FullAccess
.
Estos roles, si no se ajustan adecuadamente, pueden ser vectores para ataques que comprometan múltiples servicios dentro de una cuenta de AWS.
Medidas de Mitigación
AWS ha tomado medidas para abordar estos riesgos:
- Modificación de políticas como
AmazonS3FullAccess
para roles de servicio predeterminados en servicios como Glue, EMR, SageMaker y CDK. - Actualización de la documentación de Amazon Lightsail para recomendar la limitación del alcance de los buckets S3.
- Ajustes en AWS CDK para asegurar que los activos solo se carguen en buckets dentro de la cuenta del usuario.
Recomendaciones para Administradores de AWS
Para minimizar los riesgos asociados a roles IAM predeterminados:
- Auditoría Regular: Revisar periódicamente los roles IAM existentes y sus políticas asociadas.
- Principio de Menor Privilegio: Asegurar que los roles tengan solo los permisos necesarios para sus funciones específicas.
- Herramientas de Análisis: Utilizar herramientas como IAM Access Analyzer para identificar permisos no utilizados o excesivos.
- Separación de Privilegios: Implementar una separación clara de privilegios entre diferentes servicios y roles.
La gestión cuidadosa de los roles IAM predeterminados es esencial para mantener la seguridad y la integridad de las cuentas y recursos en AWS.