¿Debe mantenerse secreto el ID de mi cuenta de AWS? ¿Se puede hacer algo con solo el ID de la cuenta de AWS?
De la documentación de AWS :
El ID de la cuenta de AWS es un número de 12 dígitos, como 123456789012, que se utiliza para crear nombres de recursos de Amazon (ARN). Cuando se refiere a recursos, como un usuario de IAM o una bóveda de Amazon Glacier, el ID de cuenta distingue sus recursos de los recursos de otras cuentas de AWS.
Respuesta
Se puede compartir un ID de cuenta de AWS, cuando sea necesario.
Como dice la documentación, lo más importante es que cualquiera puede usar su AWS El número de cuenta para es construir ARN. Por ejemplo, si tuviera una cuenta de AWS que tuviera una función de AWS Lambda, y alguien en otra cuenta, a quien le había otorgado permiso explícitamente, quisiera manipularlo, lo usaría por cuenta número en el ARN.
arn:aws:lambda:us-east-1:123456789012:function:ProcessKinesisRecords
De nuevo, esto está totalmente limitado por los permisos aplicados en su cuenta. Incluso si tuviera un ARN completo, a menos que me dé mi Acceso a la cuenta de AWS, no podré hacer nada con ella.
Las claves de API son las cosas que otorgan control remoto de las cosas y son peligrosas.
Comentarios
- Eso es correcto. AWS ahora le permite compartir capas lambda disponibles públicamente, que se comparten a través de ARN que contienen su ID de cuenta. Si bien siempre es mejor no compartir nada a menos que sea necesario, algo que solo tiene que compartir su ID de cuenta en forma de ARN.
Responder
Conocer un ID de cuenta de AWS no lo expone a ningún ataque en sí mismo, pero puede facilitar que un atacante obtenga otra información comprometedora.
Rhino Security Los laboratorios demuestran un vector de compromiso potencial a través de funciones de IAM mal configuradas en una publicación de blog aquí :
Los ID de cuenta de AWS identifican de forma única cada cuenta de AWS y son más confidenciales de lo que piensa. Si bien divulgar el ID no expone directamente una cuenta a un riesgo, un atacante puede aprovechar esta información en otros ataques. Se debe hacer un esfuerzo razonable para mantener AWS Los ID de cuenta son privados, pero en la práctica, a menudo se exponen al público de forma involuntaria.
[…]
Esta publicación, y la secuencia de comandos que la acompaña, se dirige a usi ng una ID de cuenta de AWS para identificar roles existentes. Como una extensión de este concepto, los atacantes pueden ir un paso más allá y asumir funciones de IAM mal configuradas para obtener acceso no autorizado.
Esto solo será efectivo en el caso donde un usuario permite la asunción de roles desde * o desde una gama demasiado amplia de recursos, pero en mi experiencia, los permisos de IAM son complejos y razonablemente difíciles de auditar bien, y ataques como este son difíciles de detectar:
Esta técnica de fuerza bruta y el script generarán una gran cantidad de registros de CloudTrail “iam: AssumeRole” en la cuenta que está utilizando para la enumeración. Cualquier cuenta a la que se dirija no verá nada en sus registros de CloudTrail hasta que asuma con éxito una función mal configurada, lo que significa que la enumeración está completamente libre de registros en la cuenta de destino.
En otras palabras, no es intrínsecamente un riesgo, pero reduce significativamente la superficie de ataque de su cuenta para mantener la identificación fuera del ojo público.
Comentarios
- Yo ' también leí ese artículo, esa publicación embellece un poco las cosas, necesitaban tener una credibilidad de IAM real + la cuenta de AWS. I ' d dice que si alguien tiene un inicio de sesión en la cuenta, ' ya está entrando en juego por el tipo de situación. Fugas de la ID de cuenta de AWS no es lo que precipitó el ataque.