Référence des ports
Port 9418 (TCP) – Protocole Git
Le transport Git natif (git://) servi par git daemon — rapide, non authentifié et non chiffré.
État par défaut
Ouvert uniquement là où git daemon est explicitement exécuté. Non activé par défaut ; parfois laissé exposé sur des serveurs de dev/CI.
Attaques courantes
- Clonage anonyme / vol de code source depuis des dépôts exposés
- Écoute du trafic en clair des dépôts (aucun chiffrement ni intégrité)
- Exposition involontaire de dépôts privés via export-all / configuration laxiste
- Énumération de dépôts et divulgation d'informations
Durcissement
- Désactiver git daemon ; servir les dépôts via SSH (22) ou HTTPS à la place
- Ne jamais activer receive-pack (push anonyme) sur un démon public
- Utiliser des contrôles d'export (pas d'export-all) et des listes d'autorisation explicites par dépôt
- Filtrer TCP/9418 par pare-feu ; ne jamais l'exposer à Internet
- Garder Git corrigé contre les CVE de transport/parsing
Commande nmap
nmap -p9418 --script banner <target>Remplacez <target> par l’hôte ou la plage que vous êtes autorisé à scanner.
Ce qui tourne sur le port 9418
Le port 9418 est le port TCP enregistré pour le protocole Git natif (git://),
servi par git daemon. C'est le transport rapide et léger que Git peut utiliser
pour cloner et récupérer des dépôts, distinct de Git-sur-SSH (port 22) et de
Git-sur-HTTPS (443). Il n'est pas activé par défaut et doit être démarré
délibérément, typiquement sur des serveurs de développement, de miroir ou de CI.
Pourquoi c'est important pour la sécurité
Le protocole Git n'a ni authentification ni chiffrement. Tout client capable d'atteindre le démon peut cloner les dépôts qu'il sert, et tout le trafic — y compris le contenu des dépôts — circule en clair. Il n'y a ni identité, ni intégrité, ni confidentialité ; un git daemon exposé est donc en pratique un point anonyme, lisible-par-tous, pour tout ce qu'il partage.
Comment c'est attaqué
Le risque principal est le vol de code source : les attaquants clonent
anonymement les dépôts exposés, ou écoutent le transfert en clair. Une
configuration laxiste — export-all ou des listes d'autorisation trop larges — peut
divulguer des dépôts privés jamais censés être publics. Si receive-pack (push
anonyme) est activé, les attaquants peuvent écrire dans les dépôts. L'énumération
divulgue les noms et la structure des dépôts.
Liste de durcissement
Le durcissement le plus simple est de ne pas exécuter git daemon et de servir via
SSH ou HTTPS avec authentification. Si vous devez l'exécuter, n'activez jamais
receive-pack publiquement, utilisez des contrôles d'export stricts par dépôt (pas
d'export-all), et filtrez TCP/9418 vers des réseaux de confiance — jamais
Internet. Gardez Git corrigé contre les CVE de transport et de parsing. Le script
de bannière nmap ci-dessus identifie le démon sur les hôtes que vous êtes autorisé à
tester.
Ports liés
Questions fréquentes
- Le protocole git:// sur le port 9418 est-il sûr ?
- Non. Le protocole Git est non authentifié et non chiffré — quiconque peut atteindre le 9418 peut lire les dépôts servis et le trafic est en clair. Utilisez SSH ou HTTPS pour tout accès non public ou en écriture.
- Faut-il exposer le port 9418 à Internet ?
- Non. Un git daemon exposé peut divulguer du code source et, si receive-pack est activé, accepter des push anonymes. Désactivez-le ou restreignez-le aux réseaux de confiance et utilisez plutôt SSH/HTTPS authentifié.