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.
É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
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.