DevSecOps: Assinatura de Artefatos com Cosign e Hardening CI/CD
🛡️ Exercícios Práticos — DevSecOps: Assinatura de Artefatos com Cosign e Hardening CI/CD
Instruções Gerais:
- Resolva as atividades em ordem progressiva de maturidade.
- Cada nível adiciona requisitos técnicos, tratamento de erros e casos de borda reais.
- Consulte o gabarito comentado ao final de cada questão para autoavaliação.
🎯 Nível 1: Fundamentos
Problema 17.1 — Assinatura Criptográfica de Imagens Docker com Cosign (Sigstore)
Contexto: Assinatura Criptográfica de Imagens Docker com Cosign (Sigstore) no contexto de DevSecOps: Assinatura de Artefatos com Cosign e Hardening CI/CD.
Requisitos de Execução:
- Assinar imagem de container OCI publicando a assinatura no registro de containers.
Resultado Esperado
Imagem Docker assinada criptograficamente.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_17_1_SeuNome - Envie na tarefa:
Atividade Cap 17 - DevSecOps: Assinatura de Artefatos com Cosign e Hardening CI/CD
🔑 Gabarito de Código & Solução Comentada
# Assinatura de container com Sigstore Cosign
cosign sign --key cosign.key ghcr.io/empresa/portal-backend:v1.0.0
echo "Imagem container assinada com sucesso."
# Checagem de status
STATUS=200
echo "Concluido com status $STATUS"
exit 0
🔍 Nível 2: Prática
Problema 17.2 — Verificação de Assinatura antes do Deploy no Kubernetes (Kyverno / Gatekeeper)
Contexto: Verificação de Assinatura antes do Deploy no Kubernetes (Kyverno / Gatekeeper) no contexto de DevSecOps: Assinatura de Artefatos com Cosign e Hardening CI/CD.
Requisitos de Execução:
- Configurar política de admissão no cluster bloqueando execução de pods sem assinatura válida.
Resultado Esperado
Cluster Kubernetes protegido contra execução de imagens não homologadas.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_17_2_SeuNome - Envie na tarefa:
Atividade Cap 17 - DevSecOps: Assinatura de Artefatos com Cosign e Hardening CI/CD
🔑 Gabarito de Código & Solução Comentada
# Verificacao de assinatura Cosign
cosign verify --key cosign.pub ghcr.io/empresa/portal-backend:v1.0.0
echo "Assinatura do container verificada: Deploy autorizado no Kubernetes."
# Checagem de status
STATUS=200
echo "Concluido com status $STATUS"
exit 0
⚡ Nível 3: Integração
Problema 17.3 — Geração de Lista de Materiais de Software (SBOM - Software Bill of Materials)
Contexto: Geração de Lista de Materiais de Software (SBOM - Software Bill of Materials) no contexto de DevSecOps: Assinatura de Artefatos com Cosign e Hardening CI/CD.
Requisitos de Execução:
- Gerar arquivo SBOM no padrão CycloneDX ou SPDX catalogando todos os pacotes e licenças da aplicação.
Resultado Esperado
Inventário SBOM gerado para rastreabilidade de supply chain security.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_17_3_SeuNome - Envie na tarefa:
Atividade Cap 17 - DevSecOps: Assinatura de Artefatos com Cosign e Hardening CI/CD
🔑 Gabarito de Código & Solução Comentada
# Geracao de SBOM com Syft
syft packages dir:. -o cyclonedx-json=sbom.json
echo "SBOM CycloneDX gerado para conformidade de Supply Chain."
# Checagem de status
STATUS=200
echo "Concluido com status $STATUS"
exit 0
🏆 Nível 4: Desafio Corporativo
Problema 17.4 — Hardening de Permissões de CI/CD e Runners Isolados
Contexto: Hardening de Permissões de CI/CD e Runners Isolados no contexto de DevSecOps: Assinatura de Artefatos com Cosign e Hardening CI/CD.
Requisitos de Execução:
- Configurar permissões mínimas no GitHub Actions (
permissions: contents: read) e mascaramento de segredos.
Resultado Esperado
Pipeline CI/CD blindado contra ataques de Supply Chain e envenenamento de runners.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_17_4_SeuNome - Envie na tarefa:
Atividade Cap 17 - DevSecOps: Assinatura de Artefatos com Cosign e Hardening CI/CD
🔑 Gabarito de Código & Solução Comentada
permissions:
contents: read
security-events: write
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
| ⬅️ Voltar ao Índice de Exercícios | 📚 Sumário de Tópicos |