Skip to content

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

tcpRegisteredSouvent attaqué

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