Skip to content

Référence des ports

Port 28017 (TCP) – MongoDB HTTP Status (hérité)

Page de statut/admin HTTP héritée de MongoDB exposant des informations serveur et base de données.

tcpRegisteredSouvent attaqué

État par défaut

Les anciennes versions de MongoDB activaient une interface de statut HTTP sur 28017, souvent sur 0.0.0.0 sans authentification. Elle divulgue des détails de base, serveur et opérationnels, et a été supprimée dans MongoDB 3.6.

Attaques courantes

  • Divulgation d'informations sur les bases, le statut et les détails de build du serveur
  • Reconnaissance pour pivoter vers le port MongoDB principal (27017)
  • Abus de l'interface REST pour interroger des données sur les versions où elle est activée
  • Énumération des métriques de replica set et opérationnelles

Durcissement

  • Désactiver l'interface de statut HTTP (--nohttpinterface) ou mettre à jour au-delà de MongoDB 3.6
  • Lier à localhost ou à une interface privée ; ne jamais exposer 28017 à Internet
  • Activer l'authentification sur MongoDB et exiger TLS
  • Filtrer 28017 et 27017 vers les hôtes de confiance
  • Maintenir MongoDB à jour et auditer les accès

Commande nmap

nmap -p28017 --script mongodb-info <target>

Remplacez <target> par l’hôte ou la plage que vous êtes autorisé à scanner.

Que tourne sur le port 28017 ?

Le port 28017 servait l'interface de statut HTTP héritée de MongoDB, une page web intégrée affichant le statut serveur, les bases, l'état du replica set et les détails de build. Elle complétait le protocole MongoDB principal sur 27017. L'interface HTTP a été dépréciée puis supprimée dans MongoDB 3.6, elle n'apparaît donc que sur les installations anciennes.

Pourquoi c'est important pour la sécurité

La page de statut était généralement non authentifiée et liée à toutes les interfaces, ce qui en faisait une cible facile de divulgation d'informations. Les détails serveur et base divulgués donnent aux attaquants tout ce qu'il faut pour préparer une attaque contre la base principale sur 27017, et sur certaines versions l'interface REST permettait des requêtes de données directes.

Comment c'est attaqué

Les attaquants scannent les ports 28017 ouverts et lisent la page de statut pour énumérer bases, versions et métriques opérationnelles. Cette reconnaissance sert à pivoter vers 27017 pour un accès non authentifié, ou à abuser de l'interface REST lorsqu'elle est activée pour interroger directement les données.

Liste de durcissement

Désactivez l'interface de statut HTTP (--nohttpinterface) ou mettez à jour au-delà de MongoDB 3.6, qui la supprime entièrement. Liez MongoDB à localhost ou à une interface privée, activez l'authentification et exigez TLS. Filtrez 28017 et 27017 vers les hôtes de confiance, appliquez les correctifs régulièrement et auditez les accès. Utilisez l'extrait nmap ci-dessus pour détecter les interfaces héritées exposées sur les hôtes que vous êtes autorisé à tester.

Ports liés

Questions fréquentes

À quoi servait le port 28017 dans MongoDB ?
28017 servait l'ancienne page de statut HTTP de MongoDB, une interface web affichant le statut serveur, les bases et les infos de build. Elle était non authentifiée par défaut et supprimée dans MongoDB 3.6, donc elle doit être désactivée et jamais exposée.
Le port 28017 est-il encore un risque aujourd'hui ?
Uniquement sur les installations MongoDB héritées qui exécutent encore l'interface HTTP. Lorsqu'elle est présente, elle divulgue des informations utiles pour attaquer le port principal 27017. Mettez à jour au-delà de 3.6 ou désactivez l'interface et filtrez les deux ports.