DevOpsFacile
AccueilParcours de formationCertificationsModulesCheat SheetÀ Propos
DevOpsFacile

Une plateforme d'apprentissage complète pour maîtriser les pratiques DevOps modernes, du débutant à l'expert.

contact@devopsfacile.fr

Formation

  • Parcours de formation
  • Modules

Informations

  • À Propos
  • Conditions d'utilisation
  • Confidentialité
  • Mentions légales

© 2026 DevOps Facile. Tous droits réservés.

Fait avec pour la communauté DevOps

ModulesSécuriser ses pipelines et applications (DevSecOps)

Module

Sécurisez vos pipelines et applications : scanning, secrets, supply chain et bonnes pratiques.

  • 1h30
  • Avancé
  • 6 exercices
Voir les exercices

Formation 100 % Linux

Tous les modules nécessitent un environnement Linux. Si vous êtes sur Windows, installez d'abord WSL (Windows Subsystem for Linux) avant de continuer.

Sécuriser ses pipelines et applications (DevSecOps)

🎯 Objectifs

  • Intégrer la sécurité dans le cycle de développement
  • Gérer les secrets de manière sécurisée
  • Scanner les images Docker et les dépendances
  • Sécuriser les pipelines CI/CD
  • Connaître les principes de la supply chain security

📖 Prérequis

  • CI/CD niveau introduction
  • Docker niveau intermédiaire
  • Notions de Git et GitHub

🤔 Pourquoi DevSecOps ?

Shift Left Security

Intégrer la sécurité le plus tôt possible dans le cycle de développement.

Phase de détectionCoût de correction
Design1x
Développement6x
Tests15x
Production100x

💡 La sécurité n'est pas la responsabilité d'une seule équipe - c'est l'affaire de tous.


🔐 Gestion des Secrets

Règle n°1

⚠️ Ne jamais stocker de secrets dans le code source ou les images Docker.

Où stocker les secrets ?

SolutionUsageComplexité
Variables d'environnementDéveloppement localFaible
GitHub SecretsCI/CD GitHub ActionsFaible
HashiCorp VaultProduction, équipesÉlevée
.env (gitignored)Développement localFaible

Détecter les secrets leakés

bash
# Installation de gitleaks
brew install gitleaks  # ou via binaire GitHub

# Scanner un dépôt
gitleaks detect --source=. --verbose

# Scanner avant chaque commit (pre-commit hook)
gitleaks protect --staged

⚠️ Si un secret a été commité, changez-le immédiatement. L'historique Git conserve tout.


🐳 Sécurité des Images Docker

Bonnes pratiques

  • ✅ Utilisez des images officielles et vérifiées
  • ✅ Spécifiez un tag précis (pas :latest)
  • ✅ Utilisez des images minimales (alpine, distroless)
  • ✅ Exécutez en non-root
  • ✅ Utilisez le multi-stage build

Dockerfile sécurisé

dockerfile
FROM node:20-alpine AS build
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build

FROM node:20-alpine
RUN addgroup -S app && adduser -S app -G app
USER app
WORKDIR /app
COPY --from=build /app/dist ./dist
COPY --from=build /app/node_modules ./node_modules
CMD ["node", "dist/index.js"]

Scanner les vulnérabilités

bash
# Avec Trivy (recommandé)
trivy image mon-app:latest

# Avec Docker Scout
docker scout cves mon-app:latest
OutilTypeGratuit
TrivyScanner complet✅
Docker ScoutIntégré Docker Desktop✅ (limité)
Snyk ContainerScanner + fix✅ (limité)

🔍 Analyse de Code

Types d'analyse

TypeCibleQuand
SASTCode sourceAvant le build
DASTApplication en cours d'exécutionAprès le déploiement
SCADépendances (npm, pip…)En continu

Outils recommandés

OutilTypeUsage
SonarQubeSASTQualité et sécurité du code
OWASP ZAPDASTTests d'intrusion automatisés
SnykSCAVulnérabilités des dépendances
DependabotSCAMises à jour automatiques (GitHub)

GitHub Dependabot

yaml
# .github/dependabot.yml
version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10

💡 Activez Dependabot sur tous vos dépôts GitHub - c'est gratuit et automatique.


🏗️ Sécurité des Pipelines CI/CD

Règles essentielles

  • ✅ Pinnez les versions des actions (SHA, pas @main)
  • ✅ Privilèges minimaux pour les tokens CI
  • ✅ Audit trail : loggez tous les déploiements
  • ✅ Branch protection : reviews obligatoires, tests requis
  • ✅ Commits signés (GPG)

Exemple : action pinnée

yaml
# ❌ Dangereux - l'action peut changer
- uses: actions/checkout@main

# ✅ Sécurisé - version pinnée
- uses: actions/checkout@v4

# ✅✅ Encore mieux - SHA pinnée
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11

Permissions minimales

yaml
permissions:
  contents: read
  packages: write

⚠️ Ne donnez jamais permissions: write-all à un workflow.


📦 Supply Chain Security

SBOM (Software Bill of Materials)

Liste complète de tous les composants de votre application.

bash
# Générer un SBOM avec Trivy
trivy sbom --format cyclonedx mon-app:latest

Signature de conteneurs

bash
# Signer une image avec cosign
cosign sign mon-registry/mon-app:latest

# Vérifier la signature
cosign verify mon-registry/mon-app:latest

Attestation de provenance

Prouve qui a construit l'image et comment. GitHub Actions génère automatiquement des attestations SLSA.


🌐 Réseau et Infrastructure

  • ✅ Principe du moindre privilège : accès minimum nécessaire
  • ✅ TLS partout : chiffrez toutes les communications
  • ✅ Network Policies (Kubernetes) : isolez les pods
  • ✅ Firewall : n'exposez que les ports nécessaires
yaml
# Kubernetes NetworkPolicy - isoler un namespace
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: deny-all
spec:
  podSelector: {}
  policyTypes:
    - Ingress
    - Egress

🛡️ OWASP Top 10 (2021)

#VulnérabilitéDescription
1Broken Access ControlAccès non autorisé à des ressources
2Cryptographic FailuresDonnées sensibles mal protégées
3InjectionSQL, NoSQL, OS command injection
4Insecure DesignFailles architecturales
5Security MisconfigurationConfigurations par défaut dangereuses
6Vulnerable ComponentsDépendances avec des failles connues
7Auth FailuresAuthentification/session mal implémentée
8Data Integrity FailuresMises à jour non vérifiées
9Logging FailuresMonitoring insuffisant
10SSRFRequêtes forgées côté serveur

💡 Consultez owasp.org/Top10 pour les détails.


✅ Checklist Sécurité DevOps

  • ✅ Secrets dans un vault, jamais dans le code
  • ✅ Images scannées et minimales
  • ✅ Dépendances mises à jour et auditées
  • ✅ Actions CI/CD pinnées (version ou SHA)
  • ✅ Branch protection activée
  • ✅ TLS sur tous les endpoints
  • ✅ Audits de sécurité réguliers
  • ✅ SBOM généré pour chaque release
  • ✅ Logs centralisés et monitoring actif
  • ✅ OWASP Top 10 connu de l'équipe

🔑 Points Clés

ConceptÀ retenir
Shift LeftSécurité dès le début du cycle
SecretsVault ou variables d'environnement, jamais dans le code
ImagesMinimales, scannées, non-root
SAST/DAST/SCAAnalyse statique, dynamique et des dépendances
Supply ChainSBOM, signatures, attestations
OWASP Top 10Les 10 vulnérabilités web les plus critiques

📚 Ressources

  • OWASP Top 10
  • Trivy Documentation
  • HashiCorp Vault
  • GitHub Security Features
  • SLSA Framework

🚀 Prochaines étapes

Félicitations ! Vous avez terminé le parcours DevOps complet. Pour aller plus loin :

  1. Voir tous les modules - Revenez sur les modules qui vous intéressent
  2. Parcours de formation - Retrouvez votre progression dans le parcours complet

Exercices Pratiques

6 exercices pour mettre en pratique

01

01 - Scanner des images Docker avec Trivy

20 minutesDébutant
02

02 - Gérer les secrets sans les exposer

20 minutesDébutant
03

03 - Sécuriser un Dockerfile contre les vulnérabilités

20 minutesIntermédiaire
04

04 - Intégrer l'analyse de code statique (SAST) dans le pipeline

25 minutesIntermédiaire
05

05 - Sécuriser la chaîne d'approvisionnement logicielle

30 minutesAvancé
06

06 - Projet Capstone : Sécuriser un pipeline CI/CD et ses images Docker (DevSecOps)

1hAvancé
Retour aux modules

Sur cette page

  • 🎯 Objectifs
  • 📖 Prérequis
  • 🤔 Pourquoi DevSecOps ?
  • Shift Left Security
  • 🔐 Gestion des Secrets
  • Règle n°1
  • Où stocker les secrets ?
  • Détecter les secrets leakés
  • 🐳 Sécurité des Images Docker
  • Bonnes pratiques
  • Dockerfile sécurisé
  • Scanner les vulnérabilités
  • 🔍 Analyse de Code
  • Types d'analyse
  • Outils recommandés
  • GitHub Dependabot
  • 🏗️ Sécurité des Pipelines CI/CD
  • Règles essentielles
  • Exemple : action pinnée
  • Permissions minimales
  • 📦 Supply Chain Security
  • SBOM (Software Bill of Materials)
  • Signature de conteneurs
  • Attestation de provenance
  • 🌐 Réseau et Infrastructure
  • 🛡️ OWASP Top 10 (2021)
  • ✅ Checklist Sécurité DevOps
  • 🔑 Points Clés
  • 📚 Ressources
  • 🚀 Prochaines étapes