Lançador Produtos Bitnami Documentaçãoimaxe CLI Blog Contacto

Gestão de segredos: nunca embuta credenciais numa AMI

Uma palavra-passe dentro de uma imagem é uma fuga à espera de acontecer: copia-se, partilha-se e fica para sempre num snapshot. A regra é simples e não admite exceções: os segredos nunca vão na imagem. É assim que se faz bem.

Porta blindada da câmara-forte de um banco
Porta blindada da câmara-forte de um banco Foto: Aldo Moisio · Domínio público · Wikimedia Commons

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çoNuvem ou ambienteIdeal para
AWS Secrets ManagerAWSCredenciais rotáveis, integração nativa
AWS SSM Parameter StoreAWSParâmetros e segredos simples, baixo custo
HashiCorp VaultMulticloudSegredos dinâmicos e controlo fino
Azure Key Vault / Google Secret ManagerAzure / GCPEquivalentes 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.

segredosvaultiamimdsv2secrets manager
IM

Equipa imaxe

Construímos e mantemos as AMIs do catálogo. Quando publicamos uma versão, usamo-la em produção antes de qualquer outra pessoa.

Do catálogo

AMIs relacionadas com este artigo

Continua a ler

Artigos relacionados