Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Image Signing Cosign

devsecops

Définition

Cosign est un outil open source de la CNCF (Cloud Native Computing Foundation) appartenant au projet Sigstore, dédié à la signature et à la vérification cryptographique d'images de containers (OCI artifacts). Cosign permet aux équipes DevSecOps de signer les images Docker avec une clé privée ou via le mode keyless (sans gestion de clé privée, via une identité OIDC), et de vérifier ces signatures avant tout déploiement, garantissant que seules les images produites par des pipelines autorisés peuvent être déployées en production. La signature d'images containers répond à un risque fondamental de la supply chain logicielle : sans signature, rien n'empêche un attaquant ayant accès au registre de conteneurs de remplacer une image légitime par une image malveillante, ou un développeur de pousser manuellement une image non validée directement en production, contournant les pipelines CI. La vérification de signature à l'admission (via des policies OPA/Kyverno ou des admission controllers) garantit que seules les images signées et vérifiées peuvent être démarrées dans le cluster Kubernetes. Le mode keyless de Cosign (Sigstore keyless signing) est la méthode recommandée pour les pipelines CI : au lieu d'une clé privée stockée comme secret CI, le pipeline s'authentifie via un token OIDC (GitHub Actions, GitLab CI, Google Cloud Build fournissent ces tokens), obtient un certificat éphémère de courte durée (5 minutes) de Sigstore Fulcio, signe l'image avec ce certificat, et publie l'entrée de signature dans le Rekor transparency log public. Cette approche élimine la gestion des clés privées tout en garantissant la traçabilité via le transparency log public. La vérification des signatures Cosign s'effectue avec cosign verify --certificate-identity ou --key selon le mode de signature. L'intégration dans Kubernetes se fait via des admission controllers : policy-controller (Sigstore), Kyverno, ou Gatekeeper avec des policies de vérification de signature.

Signature keyless Cosign dans GitHub Actions

Workflow de signature keyless dans GitHub Actions : 1) Build et push de l'image (docker build + push). 2) Obtenir le digest SHA de l'image poussée. 3) cosign sign --yes ghcr.io/owner/repo@sha256:abc123 (signe avec l'identité OIDC GitHub Actions, log dans Rekor automatiquement). La signature utilise automatiquement l'identité OIDC du workflow (github.com/owner/repo/.github/workflows/build.yml@refs/heads/main). La permissions idtoken: write est requise dans le workflow pour accéder au token OIDC GitHub Actions.

Vérification avec policy-controller Sigstore

Le policy-controller (Sigstore) est un admission controller Kubernetes qui vérifie les signatures Cosign à l'admission de chaque Pod. Configuration : ClusterImagePolicy CRD définissant les images nécessitant une vérification (registry: ghcr.io/myorg/**), les identités acceptées (issuer: https://token.actions.githubusercontent.com, subject: https://github.com/owner/repo/.github/workflows/build.yml@refs/heads/main). Tout Pod utilisant une image non signée ou signée par une identité non autorisée est rejeté par l'admission controller.

Attacher des SBOMs et attestations à l'image

Cosign permet d'attacher des artefacts additionnels à l'image OCI : cosign attach sbom --sbom sbom.cdx.json image:tag (attache le SBOM CycloneDX), cosign attest --predicate slsa-provenance.json --type slsaprovenance image:tag (attache une attestation SLSA), cosign verify-attestation --type slsaprovenance image:tag (vérifie l'attestation SLSA). Cette capacité fait de Cosign le hub central des métadonnées de sécurité (signature, SBOM, provenance, attestations de conformité) d'une image OCI.

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis