--- marp: true theme: default paginate: true header: "Sécurisation avancée des images Docker" footer: "BUT2" style: | 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 ```bash 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 ```bash 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** : ```dockerfile 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** : ```dockerfile 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 ```yaml # .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 ```json { "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 ```bash 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 ```dockerfile 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 ```terraform 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**