Files
DEV_42_Docker/08_docker-security.md
2026-03-11 15:12:05 +01:00

4.4 KiB

marp, theme, paginate, header, footer, style
marp theme paginate header footer style
true default true Sécurisation avancée des images Docker BUT2 section { font-size: 28px; } h1 { color: #0066cc; } h2 { color: #0099cc; }

Sécurisation avancée des images Docker

Stratégies et outils pour une conteneurisation robuste


Introduction

  • Approche holistique nécessaire pour une protection efficace
  • Combinaison de bonnes pratiques validées par l'industrie
  • Cycle de vie complet : de l'image de base à l'exécution

1. Sélection et validation des images de base

Types d'images et niveaux de confiance

  • Images officielles : 68% de vulnérabilités en moins
  • Images minimalistes : Alpine Linux (5MB), Distroless (sans shell)
  • Images certifiées : Audits indépendants et signature numérique
docker scout recommendations my-image:latest

1. Sélection et validation des images de base (suite)

Gestion des dépendances

  • SBOM (Software Bill of Materials) pour tracer l'origine des composants
  • Détection des licences non conformes et dépendances obsolètes
syft my-image:latest -o json > sbom.json

2. Hardening des Dockerfiles

Architecture des builds sécurisés

  • Mode non-privilégié :
USER 1001:2001  # UID/GID non-root
  • Builds multi-étapes :
FROM golang:1.21 AS builder
# Compilation
FROM gcr.io/distroless/base
# Runtime

2. Hardening des Dockerfiles (suite)

Bonnes pratiques

  • Nettoyage des couches intermédiaires :
RUN apt-get update && apt-get install -y \
    package1 \
    package2 \
 && rm -rf /var/lib/apt/lists/*

3. Analyse des vulnérabilités

Outils d'analyse continue

Outil Type Avantages
Trivy SAST/DAST Analyse OS packages et langages
Snyk SCA Correction automatisée des CVE
Clair Dynamique Surveillance en temps réel
Anchore Politiques Vérification CIS Benchmarks

3. Analyse des vulnérabilités (suite)

Intégration CI/CD

# .github/workflows/security.yml
name: Security Scan
on: [push]
jobs:
  trivy-scan:
    steps:
      - name: Scan image
        uses: aquasecurity/trivy-action@master
        with:
          severity: HIGH,CRITICAL
          exit-code: 1

3. Analyse des vulnérabilités (suite)

Gestion des correctifs

  • Rebuilds hebdomadaires pour appliquer les correctifs OS
  • Patchs critiques en 24h via des processus d'urgence
  • Analyse différentielle des SBOM pour identifier les changements
{ 
  "docker": { 
    "enabled": true, 
    "schedule": ["every weekend"] 
  } 
}

4. Sécurité runtime

Isolation au niveau du noyau

  • Mécanismes SELinux/AppArmor pour renforcer l'isolation
  • Profils personnalisés bloquant 89% des tentatives d'évasion
docker run --security-opt "apparmor=docker-custom" my-image

4. Sécurité runtime (suite)

Gestion des secrets

  • Intégration avec HashiCorp Vault pour éviter le stockage en clair
RUN --mount=type=secret,id=db_pass \
    export DB_PASSWORD=$(cat /run/secrets/db_pass) \
    && ./init-db.sh
  • Politiques de rotation automatique des secrets

5. Gouvernance et conformité

Adhésion aux standards OWASP Docker Top 10

ID Risque Contrôle
D01 Images vulnérables Analyse SBOM + CVE
D02 Runtime non durci Profils AppArmor/SELinux
D03 Secrets exposés Intégration Vault
  • L'implémentation complète réduit les incidents de 76%

5. Gouvernance et conformité (suite)

Automatisation IaC

  • Templates Terraform pour appliquer des configurations sécurisées
  • Intégration des politiques de gestion des secrets
resource "docker_image" "secure" {
  name = "my-image:${var.version}"
  build {
    context = "."
    args = { USER_ID = 1001 }
  }
}

6. Perspectives futures

  • Confidential Computing : Exécution dans des enclaves SGX/SEV
  • SBOM dynamiques : Tracking en temps réel des composants
  • MLOps Security : Détection automatique des dérives de comportement

Conclusion

  • Sécurité Docker = pratiques techniques + processus organisationnels
  • Adoption d'outils modernes (Trivy, Snyk, Vault)
  • Automatisation CI/CD pour maintenir la productivité
  • Innovations futures: confidential computing et vérification cryptographique