docker-compose.yml - segredos do docker-compose

Por que Docker-compose.yml é uma superfície de risco de segurança?

Se você acha que seu docker-compose.yml é apenas uma cola de infraestrutura, pense novamente. Esses arquivos frequentemente se tornam armazenamentos não intencionais para segredos, credenciais codificadas, tokens de API e variáveis ​​de ambiente que acabam no controle de versão. Uma vez sincronizados com o GitHub ou qualquer repositório, esses segredos podem permanecer para sempre em commit história.

Os desenvolvedores frequentemente tratam docker-compose.yml como um arquivo não sensível, ignorando como ele pode servir como um vetor de ataqueUm pequeno vazamento aqui pode significar acesso a serviços privados, APIs internas ou infraestrutura inteira. Esses são os tipos de segredos do Docker-Compose que os invasores procuram.

Maneiras comuns de vazamento de segredos do docker-compose Docker-Compose.yml

Aqui estão alguns erros cotidianos que os desenvolvedores cometem:

1. Codificação direta das credenciais

				
					services:
db:
image: postgres
environment:
POSTGRES_USER: admin
POSTGRES_PASSWORD: supersecret123
				
			

A senha neste docker-compose.yml agora faz parte do seu histórico do git. Pior, pode ser usado também em produção. Esta é uma das formas mais diretas de segredos do docker-compose exposição.

2. Copiar e colar de configurações compartilhadas ou StackOverflow

Práticas ruins se espalham rapidamente. Copiar amostras inseguras e usá-las como estão leva à disseminação de segredos em todos os ambientes, do desenvolvimento à produção.

3. Montagem .env arquivos diretamente sem protegê-los

arquivo_env: – .env

.env os arquivos geralmente contêm chaves de API ou credenciais, e os desenvolvedores esquecem de adicioná-los .gitignoreIsso torna os segredos visíveis se o repositório for público ou compartilhado. Eles se tornam indiretamente segredos do Docker Compose quando referenciados.

O verdadeiro impacto dos segredos do Docker-Compose em CI/CD

In CI/CD pipelines, segredos comprometidos de um docker-compose.yml pode:

  • Acionar compilações não autorizadas
  • Acesso restrito a serviços de preparação ou produção
  • Injetar código malicioso em implantações
  • Abra portas traseiras por meio de movimento lateral

Atacantes escaneando o público Repos do GitHub procurar docker-compose.yml arquivos usando dorks do GitHub ou ferramentas automatizadas. Assim que descobrem segredos, eles podem se passar por executores de CI, abusar de créditos na nuvem ou, pior, implantar ransomware em cadeias de suprimentos. Esses segredos do Docker Compose representam um problema sério e frequentemente vulnerabilidade negligenciada.

Detectando e gerenciando segredos com segurança

Use ferramentas de digitalização:

  • TruffleHog, Gileaks, ou Xygeni pode detectar segredos em seu repositório, incluindo antigos commits.
  • Execute varreduras em seu CI pipeline para bloquear PRs contendo segredos.

Substitua segredos diretos por variáveis ​​de ambiente:

Serviços:

aplicativo:

imagem: myapp

meio Ambiente:

SENHA_BD: ${DB_PASSWORD}

Use um gerenciador de segredos para injetar DB_SENHA em tempo de execução, mantendo-o fora do seu docker-compose.yml. Essa abordagem ajuda a mitigar os riscos dos segredos do Docker Compose.

Integrar gerenciadores secretos:

Ferramentas como Vault, AWS Secrets Manager ou Doppler manipulam segredos com segurança e fornecem políticas de rotação.

Melhores práticas para desenvolvedores em DevSecOps para evitar a exposição de segredos do Docker-Compose

  • Nunca codifique segredos in docker-compose.yml.
  • Adicione .env para .gitignore, sempre.
  • Uso ferramentas secretas de digitalização no seu dev local e CI/CD pipeline.
  • Revisar arquivos de composição como parte da sua lista de verificação de RP de segurança.
  • Automatizar rotação secreta, especialmente para tokens e credenciais de serviço.
  • Exemplos de auditoria de composição de terceiros antes de copiá-los para sua base de código.
  • Trate todos os dados confidenciais nesses arquivos como segredos do Docker Compose e gerencie-os adequadamente.

Sua Docker-Compose.yml Pode ser seu maior ponto cego de segurança

Sua docker-compose.yml é mais do que apenas configuração; faz parte da superfície de ataque do seu aplicativo. Trate-o como código. Segredos escondidos nesses arquivos representam riscos reais, especialmente quando sincronizados com o controle de versão e integrados a CI/CD.

Ferramentas como o Xygeni ajudam a detectar e gerenciar segredos do Docker Compose em bases de código e pipelines, reduzindo o risco de ataques à cadeia de suprimentos. Integre-o ao seu fluxo de trabalho para obter visibilidade e controle sobre o que seus docker-compose.yml pode estar expondo.

sca-tools-software-composição-análise-ferramentas
Priorize, corrija e proteja seus riscos de software
Crie sua conta gratuita.
Nenhum cartão de crédito é necessário.

Garanta o desenvolvimento e a entrega do seu software.

com o Suíte de Produtos da Xygeni