Segurança de container — Cadeia de CI/CD
Por quê usar CI/CD, automação e outras ferramentas?
É uma resposta simples de ser respondida: melhor do que que fazer o trabalho diário, é melhorar esse trabalho.
Ao automatizar, o processo fica simples, fácil de replicar, deixa de ser moroso, e pode ser feito quando quiser. Vamos ver mais sobre isso.
Práticas recomendadas de segurança de imagens de containers
• Crie imagens mínimas (docker-slim)
— Reduza a área de ataque do container com purpose-built images
— Reduzir o número de camadas em uma imagem
— Confira a sessão slim.ai Containers from the Couch
• Use uma imagem base mínima, como imagens base e distroless
– Elimine binários que não são necessários em tempo de execução
– Remover o acesso ao ambiente de shell do container
– Containers efêmeros do Kubernetes poderá ajudar
• Os containers devem ter uma imagem de single-concern e ser self-contained
– Usar padrões e princípios de design documentados
• Faça um Lint no seu Dockerfile (dockle, hadolint, etc.)
• Desfragmente containers (remova SETUID e SETGID em executáveis binários)
• Realize análise de código estático e teste estático de segurança de aplicativos (SAST)
– Feito no pipeline de CI antes da criação da imagem do container
• Não inclua dados confidenciais / credenciais dentro da imagem
• Siga a metodologia 12-Factor App e não coloque configurações em imagens
• Monte segredos em memória em tempo de execução.
• Use tags imutável
• Faça scan de imagens de container para verificar vulnerabilidade
— Idealmente integrado ao pipeline de CI/CD antes de enviar imagens para um repositório
– Geralmente feito como parte do armazenamento/curadoria de imagens no registro de container
• Assinar imagens de container
Amazon Elastic Container Registry (ECR)

• Imutabilidade da tag
• Scan de imagens (código aberto Clair ou Inspetor da Amazon)
• Gerenciamento do ciclo de vida de imagens usando políticas
• Acessível em endpoints de interface VPC
• Controle de acesso usando políticas do IAM (Restringir pelo menor privilégio)
• Replicação entre regiões
• Use políticas de endpoint e endpoints privados com o ECR
Chegamos ao fim dessa primeira parte de um conjunto de 6, então fique ligado no blog GFT e acompanhe mais sobre Segurança de Container.