AWS Security Token

Para abordar la implementación y manejo de AWS Security Tokens de manera eficaz, es crucial establecer un entorno seguro y controlado que minimice los riesgos asociados con su gestión. Este entorno debe caracterizarse por una infraestructura bien configurada, políticas de seguridad robustas, y una constante vigilancia sobre las prácticas de acceso y autenticación. En este contexto, se subraya la importancia de utilizar AWS Identity and Access Management (IAM) para crear y administrar usuarios y permisos de forma segura, aprovechando las capacidades de los AWS Security Tokens para otorgar acceso temporal y restringido a los recursos de AWS.

Los AWS Security Tokens juegan un papel fundamental en el ecosistema de AWS al permitir a los usuarios, incluidos los desarrolladores que utilizan herramientas como Terraform o servicios de AWS, obtener acceso limitado para realizar tareas específicas. Estos tokens efímeros se convierten en una solución óptima para aplicaciones y servicios configurados con roles de IAM en instancias EC2, ya que facilitan la adquisición de credenciales para acceder a servicios adicionales, simplificando la autenticación cruzada entre servicios para los desarrolladores. Sin embargo, esta comodidad no está exenta de riesgos. Los tokens comprometidos pueden ser explotados por atacantes, lo que subraya la importancia de implementar medidas de seguridad adecuadas.

La obtención de estas credenciales se realiza a través del servicio de metadatos de AWS, accesible a través de URLs específicas. Las categorías de metadatos más relevantes incluyen 'iam/info', que detalla los roles de IAM asociados, y 'iam/security-credentials/role-name', que alberga las credenciales de seguridad temporales vinculadas a un rol. AWS ha incorporado tokens en su Version 2 del Instance Metadata Service (IMDSv2) para establecer acceso basado en sesiones sin requerir autenticación adicional, mitigando así las vulnerabilidades de Server Side Request Forgery (SSRF) dentro de las aplicaciones.

El proceso para manejar estos tokens es el siguiente:

TOKEN=$(curl -s -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600")
echo $TOKEN
curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/dynamic/instance-identity/document
curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/iam/info
curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/iam/security-credentials/ServerManager
[default]
aws_access_key_id = ASIAWA6NVTVY5CNUKIUO
aws_secret_access_key = wSHLoJrGVnjfo+xxKwt1cblFpiZgWF20DMxXpTXn
aws_session_token = IQoJb3JpZ2luX2VjECEaDGV1LWNlbnRhbC0x...

Es esencial entender y aplicar correctamente estos pasos para maximizar la seguridad y eficiencia en el acceso y manejo de recursos en AWS, garantizando así una gestión efectiva de los AWS Security Tokens en un entorno protegido.

Última actualización

¿Te fue útil?