Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Docker Container Forensics

forensics

Définition

La forensique des conteneurs Docker est une spécialité forensique émergente répondant à la généralisation des architectures microservices et cloud-native. Elle couvre l'acquisition de preuves depuis des environnements conteneurisés : logs de conteneurs, images Docker, réseaux overlay, et la corrélation avec les logs du système hôte. Un conteneur Docker est une instance d'une image Docker s'exécutant dans un espace de noms Linux isolé (namespace : PID, réseau, montages, UTS, IPC) avec un système de fichiers en couches (Union File System : overlayfs2). Cette architecture crée des défis forensiques spécifiques : les données d'un conteneur sont éphémères par défaut (supprimées à l'arrêt si non persistées via des volumes), les logs sont gérés différemment du système hôte, et l'image sous-jacente influence profondément le comportement du conteneur. Pour l'investigation forensique d'un conteneur suspect : docker inspect [container_id] révèle la configuration complète du conteneur (image de base, variables d'environnement — potentiellement sensibles, volumes montés, réseau, commande exécutée). docker logs [container_id] affiche la sortie stdout/stderr du conteneur depuis son démarrage. docker diff [container_id] liste tous les fichiers modifiés dans le système de fichiers du conteneur par rapport à l'image de base, révélant les fichiers créés ou modifiés par l'attaquant. docker history [image] montre les couches de l'image Docker avec les commandes Dockerfile qui les ont créées. L'acquisition des couches système de fichiers d'un conteneur est réalisable avec docker export [container_id] > container.tar (export du système de fichiers complet du conteneur) ou docker save [image] > image.tar (export de l'image avec toutes ses couches). Ces archives tar peuvent ensuite être analysées avec des outils forensiques standard. Pour les clusters Kubernetes, l'investigation s'étend aux logs du plan de contrôle (API server audit logs, etcd logs), aux events Kubernetes (kubectl get events -A), et aux logs de chaque pod dans tous les namespaces.

Fonctionnement

Les conteneurs Docker utilisent overlayfs pour le système de fichiers en couches (image layers + une couche container R/W). Les logs sont par défaut dans /var/lib/docker/containers/[ID]/[ID]-json.log (format JSON) et gérés par le logging driver Docker. Le runtime Docker (containerd, runc) journalise ses activités dans le journal journald/syslog de l'hôte. Les espaces de noms Linux (PID, NET, MNT) isolent les conteneurs du système hôte.

Application DFIR

Investigation Docker : 1) docker ps -a → tous les conteneurs (running + stopped), 2) docker inspect [ID] → configuration complète (env vars avec secrets, volumes, network), 3) docker logs [ID] → stdout/stderr, 4) docker diff [ID] → fichiers modifiés vs image de base (malware installé ?), 5) docker export [ID] | tar -xvf - -C /forensics/container/ → extraction FS pour analyse Autopsy, 6) Corréler avec les logs hôte (auditd, syslog) en corrélant les PIDs conteneur avec les PIDs hôte (cat /proc/[PID]/cgroup → container ID).

Outils

Docker CLI (inspect, logs, diff, export, history), containerd CLI (ctr containers info), Sysdig (forensics conteneurs live : sysdig -r trace.scap), Falco (runtime security + forensics K8s), Docker Bench Security (audit configuration). Analyse layers Docker : dive (visualisation interactive des layers), skopeo (inspection images). K8s forensics : kubectl, kube-forensics, kube-hunter, Kubescape.

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis