Quando embute uma credencial numa AMI, essa credencial propaga-se com cada cópia da imagem, fica gravada nos snapshots e pode acabar em contas ou regiões que nunca imaginou. Basta que alguém com acesso de leitura à imagem a extraia. E como as imagens se conservam por versões, o segredo pode sobreviver muito depois de julgar tê-lo rodado.
A regra de ouro: a imagem define a máquina; os segredos entregam-se em tempo de execução.
Onde devem viver os segredos
| Serviço | Nuvem ou ambiente | Ideal para |
|---|---|---|
| AWS Secrets Manager | AWS | Credenciais rotáveis, integração nativa |
| AWS SSM Parameter Store | AWS | Parâmetros e segredos simples, baixo custo |
| HashiCorp Vault | Multicloud | Segredos dinâmicos e controlo fino |
| Azure Key Vault / Google Secret Manager | Azure / GCP | Equivalentes nativos em cada nuvem |
Guarde os segredos num gestor dedicado, nunca na imagem nem em user-data em claro.
O padrão correto: identidade, não palavras-passe
A forma mais segura de uma instância aceder a recursos não é dar-lhe uma palavra-passe, mas dar-lhe uma identidade. Na AWS, um papel IAM associado à instância permite-lhe obter credenciais temporárias e rodadas automaticamente, sem que nenhuma chave viaje na imagem.
- Papéis IAM de instância: a instância assume um papel e obtém credenciais temporárias.
- IRSA no Kubernetes: identidade por pod, sem chaves partilhadas no nó.
- Segredos dinâmicos com Vault: credenciais de curta duração geradas a pedido.
- Injeção em runtime: a aplicação lê o segredo do gestor ao arrancar, não de um ficheiro embutido.
Proteja os metadados: IMDSv2
As credenciais temporárias do papel obtêm-se através do serviço de metadados da instância. Um atacante que explore uma falha de SSRF poderia tentar roubá-las. O IMDSv2 exige um token de sessão e mitiga essa classe de ataques: torne-o obrigatório nos seus lançamentos.
Higiene: não deixe rastos na imagem
- Antes de selar a AMI, apague históricos de shell, logs com credenciais, chaves SSH temporárias e ficheiros de configuração com segredos.
- Analise a imagem à procura de segredos com ferramentas como gitleaks ou trufflehog adaptadas a sistemas de ficheiros.
- Não deixe chaves autorizadas a mais em
~/.ssh/authorized_keys. - Evite AMIs públicas com segredos: se publicar, verifique que não deixa escapar nada.
Checklist rápida
- Zero segredos embutidos na imagem.
- Gestor de segredos com papéis ou identidade federada.
- IMDSv2 obrigatório.
- Análise de segredos na pipeline.
- Limpeza de rastos antes de selar.
Perguntas frequentes
E se a minha aplicação precisar do segredo no arranque?
Que o leia do gestor de segredos em tempo de execução usando a identidade da instância. Assim o segredo nunca viaja dentro da imagem e pode ser rodado sem reconstruir.
É seguro usar user-data para passar segredos?
Não em texto simples: o user-data é legível a partir dos metadados. Use-o, quando muito, para indicar que segredo puxar do gestor, protegendo os metadados com IMDSv2.
Como deteto se uma imagem já tem segredos embutidos?
Analisando-a com ferramentas de deteção de segredos sobre o seu sistema de ficheiros e revendo ficheiros de configuração, históricos e chaves autorizadas antes de a usar.
Na imaxe.cloud construímos imagens limpas de credenciais e pensadas para se integrarem com gestores de segredos e identidade federada.



