Skip to content

Référence des ports

Port 2376 (TCP) – Docker Engine API (TLS)

API distante du moteur Docker sur TLS — contrôle les conteneurs, images et volumes d'un hôte Docker.

tcpRegisteredSouvent attaqué

État par défaut

Ouvert lorsque le démon Docker est configuré pour l'accès distant TLS ; la contrepartie sécurisée du 2375 en clair.

Attaques courantes

  • Abus d'un TLS mal configuré sans authentification par certificat client
  • Évasion de conteneur vers l'hôte via exécutions privilégiées/bind-mount
  • Vol d'images et de secrets via l'API distante
  • Cryptojacking par lancement de conteneurs malveillants

Durcissement

  • Exiger le TLS mutuel (vérifier les certificats clients, tlsverify)
  • Ne jamais exposer l'API Docker sur Internet
  • Restreindre l'accès aux hôtes d'administration et IP de confiance
  • Renouveler et protéger les certificats CA/serveur/client
  • Privilégier SSH ou un proxy de socket plutôt qu'une API TCP brute

Commande nmap

nmap -p2376 --script ssl-cert <target>

Remplacez <target> par l’hôte ou la plage que vous êtes autorisé à scanner.

Ce qui s'exécute sur le port 2376

Le port 2376 est l'API distante du moteur Docker sécurisée par TLS. C'est la contrepartie chiffrée du 2375 en clair et il permet à un client distant (la CLI docker, des systèmes CI, des outils d'orchestration) de gérer conteneurs, images, volumes et réseaux d'un hôte Docker. Correctement configuré, il exige un TLS mutuel pour que seuls les clients détenant un certificat valide puissent émettre des commandes.

Pourquoi c'est important pour la sécurité

L'API Docker est équivalente à root sur l'hôte. Tout client qui peut l'atteindre peut lancer un conteneur privilégié qui monte en bind / et lire ou écrire le système de fichiers de l'hôte en root — une voie directe vers la RCE hôte. Le TLS sur le 2376 n'aide que si la vérification du certificat client (--tlsverify) est réellement imposée ; un démon mal configuré qui saute l'auth client est tout aussi exposé que le 2375 en clair.

Comment il est attaqué

Les attaquants scannent l'API et vérifient si les certificats clients sont imposés. Là où l'auth manque ou où le TLS est mal configuré, ils appellent l'API pour exécuter un conteneur privilégié qui monte l'hôte et s'évade vers root, volent des images et secrets, ou déploient des charges de cryptojacking.

Liste de durcissement

Exigez le TLS mutuel avec --tlsverify pour que les certificats clients soient validés, et n'exposez jamais l'API sur Internet. Restreignez l'accès aux hôtes d'administration de confiance par IP, renouvelez et protégez les certificats CA, serveur et client, et privilégiez le transport SSH ou un proxy de socket durci plutôt qu'une API TCP brute. Utilisez la commande nmap ci-dessus pour inspecter le certificat TLS sur les hôtes que vous êtes autorisé à tester.

Ports liés

Questions fréquentes

En quoi le port 2376 diffère-t-il du 2375 ?
Le 2375 est l'API Docker en clair et sans authentification — extrêmement dangereux s'il est exposé. Le 2376 est le port TLS et est censé exiger une authentification par certificat client, mais seulement si tlsverify est configuré.
Pourquoi une API Docker exposée signifie-t-elle compromission de l'hôte ?
L'API peut lancer un conteneur privilégié qui monte le système de fichiers de l'hôte, donnant root sur l'hôte. Quiconque peut appeler l'API possède de fait la machine.