Référence des ports
Port 2375 (TCP) – API Docker Engine (non chiffrée)
API distante Docker en HTTP clair — contrôle non authentifié du démon Docker, équivalent à root sur l'hôte.
État par défaut
Non ouvert par défaut. Exposé uniquement quand un administrateur active le socket TCP (-H tcp://0.0.0.0:2375) sans TLS — une erreur de configuration dangereuse.
Attaques courantes
- Exécution de code à distance non authentifiée en tant que root sur l'hôte
- Évasion de conteneur via des conteneurs privilégiés / montages du système de fichiers hôte
- Déploiement de cryptominage via le démon exposé
- Mouvement latéral et persistance à travers le parc de conteneurs
Durcissement
- Ne jamais exposer le port 2375 — il n'a ni authentification ni chiffrement
- Utiliser le socket Unix local (/var/run/docker.sock) plutôt qu'un socket TCP
- Si un accès distant est requis, utiliser le 2376 avec TLS mutuel (tlsverify)
- Lier uniquement à localhost et placer un proxy authentifié et audité si nécessaire
- Restreindre par pare-feu/groupe de sécurité et garder Docker à jour (ex. CVE-2019-5736 runc)
Commande nmap
nmap -p2375 --script docker-version,http-title <target>Remplacez <target> par l’hôte ou la plage que vous êtes autorisé à scanner.
Ce qui s'exécute sur le port 2375
Le port 2375 expose l'API distante Docker Engine en HTTP clair. L'API permet aux clients de contrôler entièrement le démon Docker — créer, démarrer et arrêter des conteneurs, monter des chemins de l'hôte et y exécuter des commandes arbitraires. Surtout, sur le 2375 il n'y a ni authentification ni chiffrement. La variante sécurisée prévue, le port 2376, enveloppe la même API dans un TLS mutuel.
Pourquoi c'est important pour la sécurité
Le démon Docker s'exécute en tant que root, et l'API peut monter le système de fichiers de l'hôte et lancer des conteneurs privilégiés. Quiconque peut joindre un 2375 ouvert dispose donc d'une exécution de code à distance équivalente à root sur l'hôte — il peut lire chaque secret, s'évader vers l'hôte et pivoter dans tout le parc. C'est l'une des expositions les plus dangereuses sur Internet, scannée en masse par des botnets de cryptominage qui déploient des mineurs en quelques secondes après avoir trouvé un démon ouvert.
Comment c'est attaqué
Les scanners atteignent le 2375 et le confirment avec le script nmap
docker-version ou une simple requête HTTP /version. Une fois trouvé,
l'attaquant utilise l'API pour lancer un conteneur privilégié qui monte la
racine de l'hôte (/), dépose une charge utile et obtient root sur l'hôte — puis
déploie des cryptomineurs, vole des identifiants ou se déplace latéralement.
Des failles d'évasion de conteneur comme le bug runc CVE-2019-5736 peuvent
aggraver l'impact.
Liste de durcissement
N'exposez jamais le 2375. Préférez le socket Unix local
(/var/run/docker.sock) à tout socket TCP. Si vous avez réellement besoin d'une
gestion à distance, utilisez le 2376 avec TLS mutuel (--tlsverify), ou liez
à localhost derrière un reverse proxy authentifié et audité. Verrouillez le port
avec des règles de pare-feu et de groupe de sécurité, exécutez Docker en mode
rootless si possible, et gardez Docker et runc à jour. Utilisez la commande nmap
ci-dessus pour détecter les démons exposés sur les systèmes que vous êtes autorisé
à évaluer.
Ports liés
Questions fréquentes
- Pourquoi le port 2375 est-il si dangereux ?
- L'API Docker sur le 2375 n'a ni authentification ni chiffrement. Quiconque l'atteint peut lancer un conteneur privilégié et obtenir un contrôle équivalent à root sur l'hôte — une exécution de code à distance complète.
- Quelle différence entre le port 2375 et le 2376 ?
- Le 2375 est l'API Docker en clair, non authentifiée, à ne jamais exposer. Le 2376 est la variante sécurisée par TLS utilisant l'authentification mutuelle par certificat pour l'accès distant.