RousselTMLEARNING

TP · DevOps : de la découverte à l'expertise

TP : Sécuriser le pipeline : secrets, vulnérabilités, SBOM et signature

Ce que vous allez apprendre dans ce TP
  • Détecter secrets et vulnérabilités
  • Produire une SBOM
  • Signer et vérifier une image

Introduction #

Ce que vous allez apprendre dans cette section
  • Détecter secrets et vulnérabilités
  • Produire une SBOM
  • Signer et vérifier une image

Contexte. Un audit révèle qu'aucun contrôle de sécurité n'est automatisé. Vous ajoutez à la chaîne de livraison les contrôles DevSecOps essentiels, en local d'abord, puis dans le pipeline.

Prérequis : Docker et Git installés sur votre poste  ·  Durée estimée : 50 min

Une image analysée, inventoriée et signée, et un pipeline qui bloque les risques critiques.

Mise en place #

Étapes guidées, avec leur correction.

  1. 1. Détecter un secret commité

    Pourquoi ? Un secret dans l'historique Git reste exploitable même après suppression du fichier.

    Créez un dépôt, commitez puis supprimez un fichier contenant une fausse clé AWS, et analysez l'historique avec Gitleaks.
  2. 2. Analyser les dépendances

    Pourquoi ? La plupart des vulnérabilités viennent des bibliothèques, pas du code écrit par l'équipe.

    Déclarez une dépendance ancienne dans requirements.txt et analysez le projet avec Trivy en mode système de fichiers, en échouant sur HIGH et CRITICAL.
  3. 3. Construire et analyser l'image

    Pourquoi ? L'image embarque aussi les paquets du système de base, souvent la première source de CVE.

    Démarrez un registre local, construisez une image minimale, poussez-la et analysez-la avec Trivy.
  4. 4. Produire une SBOM

    Pourquoi ? La SBOM permet de répondre en minutes à « sommes-nous concernés par cette nouvelle faille ? ».

    Générez la SBOM SPDX de l'image avec Syft, cherchez la version de requests qu'elle contient, puis analysez la SBOM avec Trivy.
  5. 5. Signer et vérifier l'image

    Pourquoi ? La signature prouve que l'image vient de votre pipeline et n'a pas été modifiée ; on signe le digest, jamais un tag.

    Générez une paire de clés Cosign, signez l'image par son digest (registre local, sans journal de transparence), vérifiez la signature, puis montrez qu'une autre image n'est pas vérifiable.
  6. 6. Intégrer au pipeline

    Pourquoi ? Les contrôles n'ont de valeur que s'ils s'exécutent à chaque changement.

    Ajoutez au workflow GitHub Actions du TP CI/CD un job de sécurité (Gitleaks, Trivy) et, après la publication, la SBOM et une signature sans clé (OIDC). Nettoyez ensuite le registre local.

Niveau de difficulté : ●●●○○ (3/5)

Mon suivi

  • ⏱ Durée estimée : ≈ 50 min

Connectez-vous pour suivre votre progression et prendre des notes. Se connecter

✉️ Poser une question

Glossaire de la formation

DevOps

Culture, mouvement et pratiques visant à unifier le développement logiciel (Dev) et l'administration des infrastructures informatiques (Ops).Découvrir...

DevSecOps

Intégration native de la sécurité (Security) dès la conception et tout au long du cycle de vie DevOps (approche "Shift-Left").Voir comment intégrer la...

AIOps (Artificial Intelligence for IT Operations)

Utilisation de l'intelligence artificielle et de l'apprentissage automatique pour automatiser et améliorer les opérations informatiques (ex: détection...

NoOps

Concept où l'environnement informatique est tellement automatisé et abstrait (ex: Serverless, PaaS) qu'il ne nécessite quasiment plus d'équipe opérati...

GitOps

Pratique de déploiement continu où un dépôt Git sert de source unique de vérité déclarative pour l'infrastructure et les applications.Maîtriser le dép...

FinOps (Financial Operations)

Culture de responsabilité financière du Cloud visant à maximiser la valeur métier en optimisant les coûts. Elle permet une collaboration étroite entre...

SRE (Site Reliability Engineering)

Discipline qui applique les principes de l'ingénierie logicielle aux problématiques d'exploitation. Le but est de créer des systèmes hautement scalabl...

Platform Engineering

Discipline consistant à concevoir et construire des chaînes d'outils et des flux de travail permettant aux développeurs de gérer leur infrastructure e...

Articles recommandés

DevSecOps : sécuriser la chaîne logicielle de bout en bout

Intégrer la sécurité dans le pipeline DevOps : shift-left, modélisation des menaces, détection de...

Mur de la confusion

Le 'mur de la confusion' (ou 'wall of confusion') est une métaphore souvent utilisée dans le cont...

Soutien Logistique Intégré

Soutien Logistique Intégré (SLI) (L'Integrated Logistics Support (ILS) en anglais), est une appro...

Application 12 Facteurs

Un guide détaillé sur la méthodologie des 12 facteurs pour le développement d'applications modern...

Le framework CALMS : Les 5 piliers du DevOps

Découvrez le framework CALMS, le socle indispensable pour réussir votre transformation DevOps à t...

Bonnes pratiques DevOps : culture, CI/CD, infrastructure as code et mesure

Bonnes pratiques DevOps : culture et collaboration, intégration et livraison continues, trunk-bas...

Tests de charge avec Grafana k6 : pourquoi et quels types de tests

Pourquoi tester la performance avant la production, les types de tests (smoke, charge, stress, pi...

Écrire des scripts k6 : requêtes, vérifications, scénarios et exécuteurs

La structure d'un script k6 (init, setup, default, teardown), les requêtes HTTP, les checks, les ...

Seuils, métriques et résultats d'un test k6

Lire le résumé d'un test k6, comprendre les métriques intégrées (http_req_duration, http_req_fail...