Docker simplifie le déploiement. Pas la sécurité.
Docker est devenu le standard de déploiement pour les applications web. Mais la facilité de mise en place masque des risques de sécurité majeurs. En audit, nous trouvons ces 5 erreurs de configuration chez la majorité des PME.
Configuration 1 : Socket Docker exposé sur le réseau
Le socket Docker (/var/run/docker.sock) donne un contrôle total sur le daemon Docker. Quand il est monté dans un conteneur ou exposé sur le réseau via l'API TCP (port 2375/2376), un attaquant peut créer des conteneurs, lire des volumes, et prendre le contrôle complet du serveur hôte.
Nous trouvons régulièrement des interfaces Portainer ou des API Docker exposées sans authentification sur internet. Un scan Shodan révèle des milliers d'instances en France.
Configuration 2 : Conteneurs exécutés en tant que root
Par défaut, les processus dans un conteneur Docker tournent en root. Si un attaquant exploite une faille applicative, il obtient les privilèges root dans le conteneur : et potentiellement sur l'hôte si le conteneur a des capabilities élevées ou des volumes sensibles montés.
La correction est simple : ajoutez USER nonroot dans votre Dockerfile et user: "1000:1000" dans votre docker-compose.
Configuration 3 : Secrets en variables d'environnement non protégées
Passer des mots de passe et clés API via des variables d'environnement dans docker-compose.yml ou en ligne de commande les expose dans les logs Docker, les inspections de conteneur (docker inspect), et les processus (/proc/*/environ).
Utilisez Docker Secrets ou un gestionnaire de secrets externe (Vault, AWS Secrets Manager). Ne commitez jamais de fichiers .env contenant des secrets.
Configuration 4 : Pas de segmentation réseau
Tous les conteneurs sur le même réseau Docker par défaut. Votre base de données PostgreSQL est accessible directement depuis votre conteneur frontend. Si le conteneur frontend est compromis, la base de données est directement atteignable.
Créez des réseaux Docker séparés : un réseau frontend, un réseau backend, un réseau base de données. Seuls les conteneurs qui doivent communiquer partagent un réseau.
Configuration 5 : Images non mises à jour avec des CVE connues
Des images Docker basées sur des versions obsolètes de Node.js, Python ou Alpine avec des vulnérabilités connues. Beaucoup de PME construisent une image Docker une fois et ne la reconstruisent jamais.
Utilisez docker scout ou Trivy pour scanner vos images. Automatisez la reconstruction hebdomadaire de vos images avec les dernières versions de base.
Comment nous détectons ces problèmes
Notre revue externe identifie les interfaces Docker exposées sur internet, les ports de management ouverts, et les headers qui révèlent des configurations Docker dangereuses. Pour les configurations internes (root, secrets, réseau), nous recommandons un audit de configuration ciblé.
Articles liés
Trois analyses proches pour continuer la lecture sur la meme surface de risque.
Kubernetes : 7 vulnérabilités critiques que nous trouvons en audit
Les sept failles de configuration Kubernetes les plus fréquentes dans nos audits : RBAC, secrets, network policies, pods privilégiés et plus.
Sécurité cloud AWS, GCP, Azure : les 10 erreurs IAM les plus courantes
Les erreurs de configuration IAM qui exposent votre infrastructure cloud : permissions excessives, credentials statiques, MFA manquant, et plus.
ZooKeeper et CVE-2026-24308 : quand la configuration fuit dans les logs
CVE-2026-24308 montre qu une mauvaise gestion des valeurs de configuration peut exposer des informations sensibles dans les logs client ZooKeeper.
Sources
Analyse éditoriale fondée sur la documentation officielle des éditeurs, projets et autorités concernées.
Services associés
Si ce sujet reflète un risque concret sur votre stack, voici les audits CleanIssue les plus pertinents.