Skip to content

Référence des ports

Port 8000 (TCP) – HTTP alternatif / Serveur de dev

HTTP alternatif — souvent un serveur web de développement (Django runserver, Python http.server), pas de service fixe.

tcpRegisteredSouvent attaqué

État par défaut

Ouvert lorsqu'un serveur de dev ou d'applications tourne. Souvent en HTTP simple et lié à toutes les interfaces par erreur.

Attaques courantes

  • Serveurs de débogage/développement exposés par accident avec traces complètes
  • Interception en clair (généralement du HTTP simple, pas du TLS)
  • Listing de répertoires et divulgation de source via http.server
  • RCE en mode débogage du framework et fuite d'informations

Durcissement

  • Ne jamais exécuter un serveur de dev sur le 8000 en production ou sur une interface publique
  • Lier à 127.0.0.1 et accéder via un proxy inverse TLS avec authentification
  • Désactiver le mode débogage du framework (ex. Django DEBUG=False) si joignable
  • Restreindre par liste d'IP / VPN et ajouter une authentification
  • Journaliser les accès et corriger le serveur d'applications

Commande nmap

nmap -p8000 --script http-title,http-headers,http-enum <target>

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

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

Le port 8000 est un port HTTP alternatif très utilisé, surtout associé aux serveurs web de développement. C'est le port par défaut de runserver de Django, de python -m http.server et de nombreux autres frameworks et outils. Il n'y a aucun service fixe unique ici : le 8000 peut aller d'un partage de fichiers rapide à un serveur d'applications complet. Il sert presque toujours du HTTP simple sans TLS.

Pourquoi c'est important pour la sécurité

Les serveurs de dev sont conçus pour la commodité, pas pour l'exposition. Un service sur le 8000 est souvent lié à toutes les interfaces et exposé à Internet par accident. Avec le mode débogage du framework activé, les erreurs renvoient des traces complètes, la configuration et parfois une console interactive — un chemin direct vers l'exécution de code. http.server peut aussi révéler des listings de répertoires et du code source.

Comment il est attaqué

Les attaquants recherchent les serveurs de dev exposés, déclenchent des erreurs pour récolter traces et secrets, et abusent des consoles de débogage pour du RCE. Les instances http.server ouvertes sont parcourues pour leurs fichiers source et de config. Comme le trafic est en clair, identifiants et jetons sont interceptés, et le serveur non durci est une cible de déni de service facile.

Liste de durcissement

N'exécutez jamais un serveur de développement sur une interface publique. Liez-le à 127.0.0.1 et accédez-y via un proxy inverse terminant le TLS et exigeant une authentification. Désactivez le mode débogage (ex. DEBUG=False dans Django) partout où il est joignable, restreignez l'accès par liste d'IP ou VPN, et maintenez l'application à jour. La commande nmap vérifie titres, en-têtes et chemins courants sur les systèmes que vous êtes autorisé à tester.

Ports liés

Questions fréquentes

À quoi sert le port 8000 ?
C'est un port HTTP alternatif courant, le plus souvent un serveur web de développement comme runserver de Django ou http.server de Python. Il n'y a pas de service fixe unique, donc identifiez toujours ce qui écoute réellement.
Est-il sûr d'exposer le port 8000 à Internet ?
Non. Les serveurs de dev sur le 8000 sont mono-thread, non durcis, et tournent souvent en mode débogage, exposant des traces et parfois permettant l'exécution de code. Liez-le à localhost et placez-le derrière un proxy TLS authentifié.