Référence des ports
Port 27017 (TCP) – MongoDB
Port par défaut de la base de données documentaire NoSQL MongoDB.
État par défaut
Les anciennes versions de MongoDB se liaient à 0.0.0.0 sans authentification activée par défaut. Les paquets modernes se lient à localhost et exigent l'authentification, mais d'innombrables instances héritées et mal configurées restent ouvertes.
Attaques courantes
- Accès non authentifié pour lire, extraire ou supprimer des bases entières
- Attaques par rançon qui effacent les données et laissent une note de paiement
- Injection NoSQL depuis des couches applicatives exposées
- Divulgation d'informations sur les collections et les identifiants
Durcissement
- Lier à localhost ou à une interface privée (bindIp) ; ne jamais exposer 27017 à Internet
- Activer l'authentification (--auth) et le contrôle d'accès basé sur les rôles
- Imposer des identifiants forts et uniques et des rôles au moindre privilège
- Exiger TLS pour le trafic client et intra-cluster ; filtrer par pare-feu vers les hôtes de confiance
- Maintenir MongoDB à jour et auditer les accès
Commande nmap
nmap -p27017 --script mongodb-info,mongodb-databases <target>Remplacez <target> par l’hôte ou la plage que vous êtes autorisé à scanner.
Que tourne sur le port 27017 ?
Le port 27017 est le port par défaut de MongoDB, une base de données
documentaire NoSQL populaire. Les serveurs d'application et les outils
d'administration comme mongosh et Compass se connectent via 27017 pour lire et
écrire des documents de type JSON dans des collections qui alimentent souvent des
applications web et mobiles.
Pourquoi c'est important pour la sécurité
MongoDB est l'exemple type de l'exposition de base de données qui tourne mal. Les anciennes versions se liaient à toutes les interfaces avec l'authentification désactivée par défaut ; quiconque atteignait 27017 avait donc un accès total. Cela a produit certaines des plus grandes fuites de bases ouvertes connues, suivies de vagues d'attaques par rançon qui effaçaient les collections et exigeaient un paiement pour leur restitution.
Comment c'est attaqué
Les attaquants scannent les ports 27017 ouverts et se connectent sans identifiants. Ils énumèrent et extraient chaque base, exfiltrant des données sensibles, puis suppriment souvent les collections et laissent une note de rançon. Lorsque la base alimente une application web, l'injection NoSQL peut aussi servir à contourner l'authentification ou à extraire des données.
Liste de durcissement
Liez MongoDB à localhost ou à une interface privée via bindIp et gardez
27017 hors d'Internet, derrière un pare-feu ou un VPN. Activez
l'authentification (--auth) avec un contrôle d'accès basé sur les rôles,
imposez des identifiants forts et uniques et des rôles au moindre privilège, et
exigez TLS pour le trafic client et cluster. Appliquez les correctifs
régulièrement et auditez les accès. Utilisez l'extrait nmap ci-dessus pour
détecter les instances ouvertes et non authentifiées sur les hôtes que vous êtes
autorisé à tester.
Ports liés
Questions fréquentes
- Est-il sûr d'exposer MongoDB sur le port 27017 ?
- Non. Les instances MongoDB ouvertes ont causé certaines des plus grandes fuites de données et vagues de rançons connues. Liez à localhost ou à un réseau privé, activez --auth, exigez TLS et filtrez le port.
- Pourquoi tant de bases MongoDB ont-elles été rançonnées ?
- Les anciens réglages par défaut se liaient à toutes les interfaces sans authentification ; quiconque pouvait se connecter, extraire et supprimer les données, puis laisser une note de rançon exigeant un paiement pour leur restitution.