Skip to content

Référence des ports

Port 10250 (TCP) – API kubelet Kubernetes

API HTTPS du kubelet de chaque nœud Kubernetes pour le cycle de vie des pods, les logs, exec et les métriques.

tcpRegisteredSouvent attaqué

État par défaut

Ouvert sur chaque nœud exécutant un kubelet. Les clusters durcis exigent une authentification ; les mal configurés autorisent l'accès anonyme à exec et run.

Attaques courantes

  • Accès anonyme à /exec et /run pour une RCE conteneur et nœud
  • Liste des pods et lecture des logs pour récolter secrets et jetons
  • Pivot d'un nœud compromis vers le serveur API sur 6443
  • Mouvement latéral entre charges via les jetons de compte de service

Durcissement

  • Désactiver l'auth anonyme du kubelet (--anonymous-auth=false)
  • Activer l'autorisation Webhook (--authorization-mode=Webhook)
  • Ne jamais exposer le 10250 à Internet ; restreindre au plan de contrôle
  • Utiliser des NetworkPolicies et filtrer les ports des nœuds
  • Renouveler les identifiants et maintenir Kubernetes à jour

Commande nmap

nmap -p10250 --script ssl-cert,http-title <target>

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

Qu'est-ce qui tourne sur le port 10250 ?

Le port 10250 est l'API kubelet de Kubernetes, servie en HTTPS sur chaque nœud du cluster. Le plan de contrôle et le serveur API (6443) l'utilisent pour gérer le cycle de vie des pods, diffuser les logs, collecter les métriques et exécuter des commandes dans les conteneurs en cours. C'est l'un des endpoints les plus puissants d'un nœud.

Pourquoi c'est important pour la sécurité

Le kubelet peut exécuter des commandes dans n'importe quel conteneur de son nœud. Un kubelet correctement durci exige authentification et autorisation, mais les mal configurés autorisent l'accès anonyme, transformant le 10250 en surface d'exécution de code à distance non authentifiée. Depuis un seul nœud, un attaquant peut lire secrets et jetons de compte de service et pivoter vers l'ensemble du cluster.

Comment il est attaqué

Les attaquants trouvent un 10250 anonyme, listent les pods et appellent /exec et /run pour exécuter des commandes dans les conteneurs et sur le nœud lui-même. Ils lisent les logs pour récolter secrets et jetons de compte de service, puis pivotent vers le serveur API sur 6443 et se déplacent latéralement entre charges de travail et comptes cloud connectés.

Liste de durcissement

Désactivez l'auth anonyme (--anonymous-auth=false) et activez l'autorisation Webhook (--authorization-mode=Webhook). N'exposez jamais le 10250 à Internet — restreignez-le au plan de contrôle avec des NetworkPolicies et des pare-feux hôtes. Renouvelez les identifiants, appliquez des comptes de service à moindre privilège et maintenez Kubernetes à jour. Utilisez la commande nmap pour vérifier l'exposition sur les clusters que vous êtes autorisé à tester. </content>

Ports liés

Questions fréquentes

À quoi sert le port 10250 ?
C'est l'API kubelet de Kubernetes, servie en HTTPS sur chaque nœud. Le plan de contrôle l'utilise pour gérer les pods, diffuser les logs et exécuter des commandes dans les conteneurs. C'est l'un des endpoints les plus sensibles d'un nœud.
Pourquoi un kubelet exposé sur le 10250 est-il dangereux ?
Si l'auth anonyme est activée, quiconque atteint le 10250 peut appeler /exec et /run pour exécuter des commandes dans les conteneurs et sur le nœud, puis pivoter vers le serveur API sur 6443. Désactivez l'auth anonyme, imposez l'autorisation Webhook et gardez le 10250 privé.