Marcio Cunha

Implementacao de Pipelines de Entrega Continua Seguros com Assinatura Criptografica de Artefatos Usando Cosign e Rekor

Descubra como blindar sua cadeia de suprimentos de software usando assinatura digital de artefatos com Cosign e registro imutavel no Rekor para garantir rastreabilidade ponta a ponta.

Marcio Cunha•4 min
Também disponível em:EnglishEspañol
Resumo
  • A assinatura digital de artefatos impede que codigos maliciosos sejam injetados silenciosamente apos a fase de construcao.
  • O Cosign simplifica a gerencia de chaves criptograficas sem a necessidade de infraestruturas complexas de chaves publicas tradicionais.
  • O Rekor funciona como um livro-razao publico e imutavel que registra cada assinatura realizada, garantindo auditoria forense confiavel.
  • A verificacao automatizada no momento da implantacao bloqueia imagens adulteradas antes que alcancem o ambiente produtivo.
  • A adocao conjunta dessas ferramentas estabelece uma base solida para conformidade com padroes modernos de seguranca de software.

O Desafio da Confianca em Cadeias de Suprimento Modernas

Na engenharia de software atual, mover codigo do ambiente de desenvolvimento ate a producao e um processo altamente automatizado. No entanto, essa velocidade traz um risco critico: como garantir que o pacote executavel que chega ao servidor e exatamente o mesmo codigo aprovado pelo desenvolvedor, sem alteracoes maliciosas no caminho? Na pratica, isso significa que atacantes podem interceptar repositorios, manipular dependencias ou modificar imagens de containers durante o transporte. Para combater essa vulnerabilidade silenciosa, a industria passou a adotar o conceito de cadeias de suprimento de software seguras.

Proteger essa jornada exige muito mais do que senhas fortes ou controle de acesso aos servidores. Exige garantias criptograficas de que cada artefato gerado possui uma identidade verificavel e uma prova inquestionavel de origem. A assinatura digital resolve esse problema ao anexar um carimbo matematico intransferivel ao arquivo binario ou imagem de container. Se qualquer byte desse artefato for alterado apos a assinatura, a verificacao falha imediatamente, impedindo a execucao do codigo comprometido.

Compreendendo o Cosign na Assinatura de Containers

O Cosign e uma ferramenta moderna desenvolvida sob o guarda-chuva da OpenSSF que simplifica drasticamente a assinatura de imagens de containers e outros artefatos OCI. Diferente de sistemas tradicionais de chaves PGP que exigem gerencia complexa e expiracoes manuais, o Cosign foi desenhado para fluxos nativos da nuvem e integracao simples com pipelines de CI/CD. Na pratica, ele permite assinar imagens usando pares de chaves locais, chaves gerenciadas em nuvem ou ate mesmo identidades baseadas em OpenID Connect, como contas do GitHub ou Google.

Quando um desenvolvedor finaliza uma tarefa, o pipeline executa o Cosign para gerar uma assinatura criptografica vinculada ao resumo SHA-256 da imagem. Esse resumo funciona como uma impressao digital unica do artefato. Qualquer modificacao minima na imagem geraria um hash totalmente diferente, invalidando a assinatura. Essa abordagem elimina a necessidade de confiar em tags mutaveis como latest, focando exclusivamente na integridade absoluta do hash imutavel.

O Papel do Rekor no Registro Imutavel de Assinaturas

Assinar um artefato e apenas metade do caminho; tambem e preciso provar quando a assinatura ocorreu e quem a realizou, sem depender de servidores centrais vulneraveis a adulteracao. E aqui que entra o Rekor, um servico de transparencia baseado em ledger criptografico imutavel. Na pratica, o Rekor funciona como um livro-razao publico onde cada assinatura gerada pelo Cosign e registrada de forma permanente e publicamente verificavel, semelhante a uma blockchain.

Cada entrada no Rekor recebe uma marca temporal criptografica que impede retroacoes ou falsificacoes de data. Isso e fundamental para auditorias de seguranca e conformidade regulatoria, pois cria uma trilha forense incontestavel. Se um incidente ocorrer, as equipes de seguranca podem consultar o Rekor para rastrear exatamente qual pipeline gerou o artefato, qual chave foi utilizada e em qual segundo exato a compilacao foi aprovada para o ambiente produtivo.

Implementacao Pratica no Pipeline de CI/CD

Para colocar essa arquitetura em funcionamento, precisamos integrar as etapas de geracao, assinatura e registro diretamente no nosso fluxo automatizado de entrega continua. A configuracao a seguir demonstra como executar essas operacoes utilizando um pipeline tipico em ambiente Linux. Certifique-se de que as ferramentas estao instaladas e que o ambiente possui permissoes adequadas para interagir com o registro de imagens.

cosign generate-key-pair
echo 'Construindo imagem de container'
docker build -t registry.empresa.com/app:v1.0.0 .
docker push registry.empresa.com/app:v1.0.0
IMAGE_DIGEST=$(docker inspect --format='{{index .RepoDigests 0}}' registry.empresa.com/app:v1.0.0)
cosign sign --key cosign.key ${IMAGE_DIGEST}
cosign verify --key cosign.pub registry.empresa.com/app:v1.0.0

No exemplo acima, a chave privada e usada para assinar o hash exato da imagem recem-enviada ao registro corporativo. Em seguida, o comando de verificacao valida se a assinatura confere antes de autorizar qualquer acao subsequente. Esse modelo garante que sistemas de implantacao, como o Kubernetes, recusem automaticamente qualquer imagem que nao possua uma assinatura valida emitida pelas chaves autorizadas pela organizacao.

Automatizacao e Verificacao em Ambientes de Producao

Assinar artefatos na origem perde o sentido se o destino nao verificar rigorosamente essa autenticidade antes de executar o codigo. Em ambientes baseados em Kubernetes, essa validacao pode ser automatizada utilizando controladores de admissao como o Kyverno ou o Policy Controller do OPA. Na pratica, esses controladores interceptam qualquer tentativa de criar um novo pod e consultam o Cosign para verificar se a imagem esta assinada corretamente.

Caso a imagem nao possua uma assinatura valida ou tenha sido modificada por um atacante, o controlador rejeita a criacao do pod imediatamente, gerando um alerta de seguranca. Essa barreira automatizada impede que falhas humanas ou ataques de injecao de codigo cheguem aos servidores de producao. A combinacao de politicas rigidas de admissao com o historico imutavel do Rekor eleva a maturidade operacional da empresa a patamares exigidos por normas financeiras e governamentais.

Consideracoes Finais e Proximos Passos

A adocao de assinaturas criptograficas com Cosign e Rekor transforma a seguranca da cadeia de suprimentos de software de uma promessa conceitual em uma garantia matematica verificavel. Ao eliminar a dependencia de segurancas baseadas apenas no perimetro da rede e focar na integridade do proprio artefato, as organizacoes ganham resiliencia contra invasoes sofisticadas. O esforço inicial de configuracao e rapidamente compensado pela tranquilidade operacional e pela conformidade automatizada obtida em cada implantacao.