Cyber Security Academy · Leçon

Sécuriser la chaîne d’approvisionnement et les secrets

Renforcer les images et les secrets.

Leçon 4 sur 413 étapes

Sécuriser la chaîne d’approvisionnement et les secrets est une leçon Cyber Security Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cyber Security Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cyber Security Academy comprend 4 leçons au total.

La chaîne d'approvisionnement logicielle

Une image de conteneur est construite à partir d'images de base, de paquets OS et de dépendances applicatives, puis envoyée via un registre dans le cluster. Chaque étape est une occasion de compromission. Les attaques contre la chaîne d'approvisionnement insèrent du code malveillant avant même qu'il n'atteigne la production.

  • Images de base ou dépendances compromises.
  • Images altérées dans le registre.
  • Étapes malveillantes de la chaîne CI/CD.

Vulnérabilités des images

Les images contiennent souvent des paquets présentant des vulnérabilités connues. L'analyse permet de les détecter avant le déploiement.

  • Les anciennes images de base accumulent des CVE.
  • Les images volumineuses élargissent la surface d'attaque.
  • Les secrets intégrés dans les couches des images divulguent des identifiants.
# Scan an image for vulnerabilities
trivy image myorg/app:1.4.2

# Scan filesystem and secrets too
trivy image --scanners vuln,secret myorg/app:1.4.2

Images de base minimales et fiables

Réduisez la surface d'attaque en commençant par une base minimale et fiable.

  • Utilisez des images de base distroless ou minimales (sans interpréteur de commandes ni gestionnaire de paquets).
  • Figez les images de base à l'aide de leur condensat, plutôt que de balises flottantes.
  • Privilégiez les bases officielles ou contrôlées en interne.

Une image plus petite signifie moins de CVE et moins d'outils qu'un attaquant pourrait détourner après une compromission.

# Pin by digest for immutability
# FROM gcr.io/distroless/static@sha256:<digest>

Signature et provenance des images

La signature prouve qu'une image provient de votre chaîne CI/CD et n'a pas été altérée. La provenance (SLSA) retrace la manière dont elle a été construite.

  • Cosign signe et vérifie les images.
  • Générez un SBOM pour suivre chaque composant.
  • Ajoutez des attestations de provenance de la construction.
# Sign and verify with cosign
cosign sign myorg/app:1.4.2
cosign verify --key cosign.pub myorg/app:1.4.2

Vérification lors de l'admission

Faites en sorte que seules des images signées et analysées puissent être exécutées. Un contrôleur d'admission rejette les images non signées ou vulnérables au moment du déploiement.

# Kyverno policy: verify image signatures before admission
kubectl apply -f verify-image-signature.yaml

# Restrict pulls to a trusted registry only
kubectl apply -f allowed-registries.yaml

Sécuriser la chaîne CI/CD

Le système CI/CD lui-même est une cible de grande valeur : il contient des identifiants et peut envoyer des artefacts en production.

  • Limitez la portée des identifiants de la chaîne CI/CD selon le principe du moindre privilège et réduisez leur durée de validité.
  • Figez et vérifiez les actions et greffons CI tiers.
  • Isolez les exécutants de compilation ; ne les réutilisez pas entre différents niveaux de confiance.
  • Protégez le registre par une authentification et l'immuabilité.

Réalité des secrets Kubernetes

Par défaut, les secrets Kubernetes sont encodés en base64 et non chiffrés. Toute personne pouvant les lire, ou pouvant lire etcd, voit le texte en clair.

# A 'Secret' is trivially decoded
kubectl get secret db -o jsonpath='{.data.password}' | base64 -d

Chiffrement des secrets au repos

Protégez le contenu d'etcd afin qu'une sauvegarde volée ou un accès à etcd ne divulgue pas toutes les données.

  • Activez le chiffrement au repos avec une EncryptionConfiguration.
  • Appuyez-vous sur un fournisseur KMS cloud pour le chiffrement par enveloppe.
  • Limitez et auditez l'accès direct à etcd.

Gestionnaires de secrets externes

Le modèle le plus sûr consiste à conserver entièrement les secrets hors du magasin du cluster.

  • HashiCorp Vault ou des gestionnaires de secrets cloud détiennent la source de référence.
  • L'External Secrets Operator ou le pilote CSI les injecte à l'exécution.
  • Utilisez une identité de charge de travail afin que les pods récupèrent les secrets au moyen de jetons cloud à courte durée de vie, et non de clés statiques.

Hygiène des secrets

Les pratiques opérationnelles réduisent l'exposition des secrets.

  • N'intégrez jamais de secrets dans les images et ne les validez jamais dans Git.
  • Analysez les dépôts et les images à la recherche d'identifiants divulgués.
  • Renouvelez régulièrement les secrets et dès qu'une exposition est soupçonnée.
  • Limitez RBAC get/list secrets au strict minimum.
# Detect committed secrets in source
gitleaks detect --source .

Tester la chaîne d'approvisionnement

Lors de l'évaluation, vérifiez que les images non signées ou vulnérables sont effectivement bloquées, que les secrets sont chiffrés au repos et qu'aucun identifiant en clair ne se trouve dans les images ou dans Git. Présentez les résultats sans exfiltrer de vrais secrets au-delà de ce qui est nécessaire pour la preuve.

Signalez chaque lacune avec le contrôle concret qui la comble (politique de signature, chiffrement KMS, gestionnaire externe).

Vérification rapide

Confirmez vos connaissances sur la chaîne d'approvisionnement et les secrets.

Récapitulatif

Vous avez renforcé la chaîne d'approvisionnement des images et la gestion des secrets.

  • Analysez les images, utilisez des bases minimales figées et signez avec Cosign.
  • Imposez les images signées et analysées ainsi que les registres fiables lors de l'admission.
  • Les secrets Kubernetes sont uniquement encodés en base64 ; activez le chiffrement KMS au repos.
  • Privilégiez les gestionnaires de secrets externes et l'identité de charge de travail ; appliquez de bonnes pratiques de gestion des secrets.

Ce cours sur la sécurité de Kubernetes et cette série de leçons sont maintenant terminés.

Gratuit pour commencer

Apprends Cyber Security Academy avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
76
Leçons
303

Questions Fréquemment Posées

La leçon « Sécuriser la chaîne d’approvisionnement et les secrets » est-elle gratuite ?

Oui — le texte complet de « Sécuriser la chaîne d’approvisionnement et les secrets » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cyber Security Academy, passe à CoddyKit PRO. Le cours Cyber Security Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Sécuriser la chaîne d’approvisionnement et les secrets » ?

Renforcer les images et les secrets. Tu pratiques Cyber Security Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Cyber Security Academy ?

Aucune expérience préalable n'est requise. Cyber Security Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Sécuriser la chaîne d’approvisionnement et les secrets » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Cyber Security Academy ?

Oui. Chaque leçon Cyber Security Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Modèle de menace de Kubernetes
  2. RBAC et comptes de service
  3. Sécurité des pods et politiques réseau
  4. Sécuriser la chaîne d’approvisionnement et les secrets
← Retour à Cyber Security Academy