Meu ID da conta da AWS deve ser mantido em segredo? É possível fazer algo usando apenas o ID da conta da AWS?
Da documentação da AWS :
O ID da conta AWS é um número de 12 dígitos, como 123456789012, que você usa para construir Amazon Resource Names (ARNs). Quando você se refere a recursos, como um usuário IAM ou um cofre do Amazon Glacier, o ID da conta distingue seus recursos dos recursos em outras contas AWS.
Resposta
Um ID de conta AWS pode ser compartilhado, quando necessário.
Como diz a documentação, a principal coisa que qualquer um pode usar seu AWS O número da conta para é construir ARNs. Por exemplo, se eu tivesse uma conta AWS que detinha uma função AWS Lambda e alguém em outra conta, a quem eu tivesse concedido permissão explicitamente, quisesse manipulá-la, eles usariam por conta número no ARN.
arn:aws:lambda:us-east-1:123456789012:function:ProcessKinesisRecords
Novamente, isso é totalmente limitado pelas permissões aplicadas à sua conta. Mesmo se eu tivesse um ARN completo, a menos que você forneça meu Acesso à conta da AWS, não poderei fazer nada com ela.
Chaves de API são coisas que concedem controle remoto de coisas e são perigosas.
Comentários
- Correto. AWS agora permite que você compartilhe camadas lambda publicamente disponíveis, que são compartilhadas por meio de ARNs que contêm o ID da sua conta. Embora seja sempre melhor não compartilhar nada, a menos que seja necessário – algo que você só precisa compartilhar o ID da sua conta na forma de um ARN.
Resposta
Saber um ID de conta da AWS não o expõe a nenhum ataque, mas pode tornar mais fácil para um invasor obter outras informações comprometedoras.
Rhino Security Os laboratórios demonstram um vetor de comprometimento potencial por meio de funções IAM configuradas incorretamente em uma postagem do blog aqui :
Os IDs de conta da AWS identificam exclusivamente cada conta da AWS e são mais confidenciais do que você imagina. Embora divulgar o ID não exponha diretamente uma conta ao comprometimento, um invasor pode aproveitar essas informações em outros ataques. Um esforço razoável deve ser feito para manter a AWS IDs de contas privadas, mas, na prática, muitas vezes são expostos ao público de forma não intencional.
[…]
Esta postagem – e o script que a acompanha, lançamos – se dirigem a nós ng um ID de conta AWS para identificar funções existentes. Como uma extensão desse conceito, os invasores podem dar um passo adiante e assumir funções do IAM configuradas incorretamente para obter acesso não autorizado.
Isso só será eficaz no caso onde um usuário permite a suposição de função de * ou de uma gama muito ampla de recursos, mas em minhas experiências as permissões de IAM são complexas e razoavelmente difíceis de auditar bem, e ataques como esse são difíceis de detectar:
Esta técnica e script de força bruta gerará uma grande quantidade de logs “iam: AssumeRole” do CloudTrail na conta que você está usando para enumeração. Qualquer conta que você direcionar não verá nada em seus logs do CloudTrail até que você assuma com sucesso uma função configurada incorretamente, o que significa que a enumeração é completamente livre de log na conta de destino.
Em outras palavras – não é intrinsecamente um risco, mas reduz significativamente a superfície de ataque da sua conta para manter o ID fora do olhar público.
Comentários
- Eu ' li esse artigo também, essa postagem embeleza um pouco as coisas, eles precisavam ter um crédito real do IAM + a conta da AWS. Eu ' d dizer que se alguém tem um login para a conta, ' já está entrando em jogo sobre o tipo de situação. Vazamento do ID da conta AWS dificilmente foi o que precipitou o ataque.