Référence des ports
Port 3690 (TCP) – Subversion (svnserve)
Port par défaut du protocole svn:// de Subversion servi par svnserve.
État par défaut
Ouvert sur les hôtes exécutant svnserve. Souvent configuré pour un accès anonyme en lecture (voire en écriture).
Attaques courantes
- Récupération anonyme du code source et de l'historique du dépôt
- Force brute des identifiants du fichier passwd de svnserve
- Exposition de secrets commités dans l'historique (clés, mots de passe)
- Exploitation de vulnérabilités d'analyse de svnserve non corrigées
Durcissement
- Préférer svn+ssh:// ou HTTPS (mod_dav_svn) au protocole svn:// en clair
- Désactiver l'accès anonyme (anon-access = none) et exiger une authentification
- Restreindre les IP sources / exécuter derrière un VPN
- Nettoyer les secrets de l'historique et renouveler ceux qui ont fuité
- Maintenir Subversion à jour et exécuter svnserve en utilisateur non privilégié
Commande nmap
nmap -p3690 -sV <target>Remplacez <target> par l’hôte ou la plage que vous êtes autorisé à scanner.
Ce qui s'exécute sur le port 3690
Le port 3690 est le port enregistré du protocole svn:// de Subversion, servi
par le démon autonome svnserve. Il permet aux clients de récupérer, commiter et
parcourir l'historique complet d'un dépôt de gestion de versions via un protocole
personnalisé léger — une alternative au tunneling de Subversion via SSH ou HTTP(S).
Pourquoi c'est important pour la sécurité
svnserve est fréquemment déployé avec un accès anonyme en lecture, parfois en écriture, ce qui signifie que quiconque atteint 3690 peut cloner tout votre arbre source et son historique. Cet historique contient souvent des secrets — clés API, mots de passe, noms d'hôtes internes — commités puis « supprimés » mais toujours récupérables. Le protocole natif est aussi en clair, donc identifiants et code sont exposés sur le réseau.
Comment c'est attaqué
Les attaquants et les bots recherchent les ports 3690 ouverts et tentent une
récupération anonyme pour collecter le source et les secrets embarqués. Là où
une authentification existe, le fichier passwd de svnserve est brute-forcé,
surtout lorsqu'il utilise un hachage faible. Les versions de svnserve non corrigées
ont aussi eu des failles d'analyse de protocole pouvant planter ou compromettre le
démon.
Liste de durcissement
Préférez svn+ssh:// ou HTTPS via Apache mod_dav_svn afin que le trafic
soit chiffré et authentifié, et évitez d'exposer le port svn:// brut. Définissez
anon-access = none et exigez des identifiants, restreignez les IP sources
ou placez le service derrière un VPN, et nettoyez les secrets de l'historique
(en renouvelant tout ce qui a été exposé). Gardez Subversion à jour et exécutez
svnserve en utilisateur non privilégié. La commande nmap ci-dessus identifie la
version du service sur les hôtes que vous êtes autorisé à tester.
Ports liés
Questions fréquentes
- svnserve sur le port 3690 est-il chiffré ?
- Non. Le protocole natif svn:// est en clair, donc les identifiants et le code source transitent sans chiffrement. Utilisez plutôt svn+ssh:// ou HTTPS via Apache mod_dav_svn.
- N'importe qui peut-il lire mon dépôt sur le port 3690 ?
- Si anon-access reste à la valeur par défaut 'read', oui — quiconque atteint 3690 peut récupérer tout votre source et son historique. Définissez anon-access = none et exigez une authentification.