Pular para o conteúdo

Segurança de imagem

Avançado18 min de leituracontainers

Segurança de imagem é uma cadeia: reduzir o que entra, saber o que entrou, provar quem publicou e decidir o que pode executar. Um scan isolado não impede imagem vulnerável nem resolve uma vulnerabilidade sem correção disponível.

Janela do terminal
trivy image --severity HIGH,CRITICAL --ignore-unfixed registry.exemplo.com/api@sha256:...
syft registry.exemplo.com/api@sha256:... -o cyclonedx-json > sbom.cdx.json
cosign sign --yes registry.exemplo.com/api@sha256:...
cosign verify registry.exemplo.com/api@sha256:...

Fixe as versões das ferramentas e trate o digest como entrada. O scanner compara pacotes contra bases de vulnerabilidade e pode errar versão, não reconhecer pacote compilado ou reportar CVE sem caminho explorável. Para cada achado relevante, registre pacote, versão, explorabilidade, dono, prazo e decisão: atualizar, mitigar, aceitar temporariamente ou remover a dependência. --ignore-unfixed reduz ruído, mas não deve esconder risco que exige mitigação operacional.

O SBOM descreve componentes para inventário e resposta a incidentes; não prova que a imagem foi construída pelo seu pipeline. A assinatura associa o digest a uma identidade de publicação. Em CI, prefira assinatura keyless com OIDC e restrinja a verificação ao emissor, repositório e workflow esperados. Uma chave privada em variável de CI recria o problema de segredo de longa duração.

Antes de aplicar política de admissão, rode-a em modo de auditoria: ela deve exigir digest, assinatura válida e origem permitida, mas precisa de exceção com dono e expiração para não bloquear uma recuperação crítica. Depois de observar os impactos, torne a regra impeditiva primeiro em ambiente não produtivo e mantenha um procedimento de break-glass auditável.

Multi-stage build, dependências de produção apenas, base mínima atualizada e usuário não-root reduzem quantidade de CVEs e impacto de exploração. Não confunda “zero CVEs” com segurança: permissões, segredos, rede e runtime continuam importando. Nunca copie token para ARG ou ENV; camadas e logs podem preservá-lo.

Próximo passo: publique somente o digest assinado em Registries e distribuição e implemente gates e rollback na trilha de CI/CD.