Skip to content

Référence des ports

Port 8009 (TCP) – AJP (Apache JServ Protocol)

Connecteur binaire AJP qui permet à un serveur web frontal de relayer les requêtes vers un backend Tomcat.

tcpRegisteredSouvent attaqué

État par défaut

Ouvert sur les installations Tomcat par défaut (connecteur AJP activé). Prévu pour un usage interne, mais historiquement lié à toutes les interfaces et exposé.

Attaques courantes

  • Ghostcat (CVE-2020-1938) lecture arbitraire de fichiers de l'application web
  • Exécution de code à distance en combinant upload de fichier et la faille AJP
  • Lecture de la configuration et des identifiants depuis WEB-INF
  • Scan des connecteurs AJP exposés en regard des applications web sur 8080

CVE-2020-1938

Durcissement

  • Désactiver le connecteur AJP si vous n'utilisez pas de proxy frontal
  • Lier AJP à localhost (address="127.0.0.1") et ne jamais l'exposer
  • Définir un requiredSecret sur le connecteur et corriger Tomcat
  • Filtrer le 8009 aux seuls hôtes proxy inverse autorisés
  • Auditer le contenu de WEB-INF à la recherche de secrets

Commande nmap

nmap -p8009 --script ajp-methods,http-vuln-cve2020-1938 <target>

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

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

Le port 8009 est le port par défaut d'AJP (Apache JServ Protocol), le connecteur binaire qui permet à un serveur web frontal (Apache httpd, Nginx) de relayer les requêtes vers un backend Tomcat. Il fonctionne avec le connecteur HTTP sur le 8080 et est destiné strictement au trafic interne entre serveurs, pas à un accès client direct.

Pourquoi c'est important pour la sécurité

AJP fait confiance au proxy frontal et expose des attributs de requête puissants. Lorsque le connecteur est lié à toutes les interfaces et joignable, cette confiance peut être détournée. Les installations Tomcat par défaut activaient historiquement AJP sur toutes les interfaces, transformant un protocole interne en protocole exposé à Internet — les conditions qui ont rendu Ghostcat si répandu.

Comment il est attaqué

Ghostcat (CVE-2020-1938) permet à un attaquant de lire des fichiers arbitraires dans l'application web, dont la configuration WEB-INF et les identifiants. En chaînant la lecture de fichier avec la possibilité d'uploader un fichier (ex. un répertoire d'uploads), les attaquants passent à l'exécution de code à distance. Les scanners recherchent un 8009 exposé près des applications web 8080 pour identifier un Tomcat vulnérable.

Liste de durcissement

Désactivez entièrement le connecteur AJP si vous ne placez pas Tomcat derrière un proxy. Si vous en avez besoin, liez-le à localhost (address="127.0.0.1"), définissez un requiredSecret et filtrez le 8009 aux seuls hôtes proxy inverse autorisés. Corrigez Tomcat vers une version corrigée et auditez WEB-INF à la recherche de secrets. Utilisez la commande nmap pour tester la faille Ghostcat sur les systèmes que vous êtes autorisé à tester. </content>

Ports liés

Questions fréquentes

À quoi sert le port 8009 ?
Il fait tourner AJP (Apache JServ Protocol), le connecteur binaire que Tomcat utilise pour recevoir les requêtes relayées par un serveur web frontal comme Apache httpd ou Nginx. Il est destiné au trafic interne uniquement.
Qu'est-ce que Ghostcat (CVE-2020-1938) ?
Ghostcat est une faille AJP qui permet de lire des fichiers arbitraires dans une application web Tomcat (comme WEB-INF) et, combinée à un upload de fichier, d'obtenir une RCE. Désactivez ou restreignez le connecteur AJP et corrigez Tomcat.