MongoDB : Plus de 40 000 BDD accessibles publiquement via le web

Des étudiants d’une université ont effectué des études vis-à-vis du moteur de bases de données « MongoBD » et ont fait une surprenante découverte : Plus de 40 000 bases de données sont accessibles simplement et « librement » via l’Internet !!

[pullquote cite= »Jens Heyens, Kai Greshake, Eric Petryka » type= »left »]Without any special tools and without circumventing any security measures, we would have been able to get read and write access to thousands of databases, including, e.g., sensitive customer data or live backends of Web shops.[/pullquote]

Il n’y a pas eu de piratage à proprement parlé, seulement l’utilisation d’un moteur de recherche (« Shodan ») et du logiciel « nmap » pour retrouver tous les serveurs NoSQL accessibles via le web.

Les bases de données sont accessibles en lecture (première grosse faille), mais aussi en écriture !! Et c’est là que les choses se compliquent, puisqu’il serait possible de modifier / altérer les données de ces bases et ainsi compromettre l’activité d’une entreprise « victime » !

Après cette découverte, les étudiants ont contacté rapidement les autorités (CNIL, CERT…) pour leur faire parvenir leur travail. Des mesures sont actuellement prises pour résorber et combler les trous de sécurité des différentes grandes entreprises touchées.

Vous pouvez retrouver leur rapport complet à cette adresse.


Avis personnel

Que faut-il retenir de cette découverte ? Le système de base de données MongoDB est-il vraiment faillible ou est-ce un problème de configuration de la part des SysAdmin ?
Je pense surtout que de (trop) nombreux SysAdmin installent les systèmes de bases de données rapidement et (malheureusement) avec les configurations de base. Ainsi, même si les documentations fournies permettent d’avoir un un système rapidement mis en place, il est primordial de revoir entièrement la configuration pour la sécuriser au maximum…

Et il ne faut surtout pas oublier de tester la sécurité mise en place pour s’assurer de son bon fonctionnement !

Source

Julien H

Passionné depuis toujours par l'informatique, je transforme ma passion en expertise. J'utilise quotidiennement les outils et systèmes Microsoft. Je ne délaisse pas mon côté ouvert, notamment via l'utilisation des OS Debian et Archlinux. L'infosec m'ouvre les yeux sur les enjeux actuels et futurs de l'IT.

2 Comments

  1. Vite fait, parce que j’ai une base en test à la maison : par défaut, pas d’authentification sur un serveur MongoDB, par contre, la plupart du temps, notamment sous Debian, le comportement est d’écouter, à l’instar de MySQL/MariaDB, sur l’interface loopback. Le problème est bien là : la plupart des bases vulnérables le sont parce que les administrateurs des machines, ayant leur application sur un serveur différent de celui de la base, se sont juste contentés d’ouvrir la connexion sans faire plus de travail.

    Il y a plusieurs façons de protéger un serveur MongoDB : si on veut vraiment ouvrir l’accès brut au serveur, on peut au moins, à l’aide du pare-feu de l’OS, limiter la connexion au serveur/client qui devra y accéder. Pas parfait, mais c’est déjà un début. L’autre solution est de ne pas autoriser de connexion directe, et de développer une API qui sera en écoute sur le même serveur, API qui pourra reposer sur des mécanismes comme OAuth 2 et j’en passe.

    Bref comme tu dis, du travail de sagouin, et par des diplômés en plus…

    1. Mettre plusieurs « rôles » sur un seul et même serveur est parfois dû aux contraintes budgétaires ou encore matérielles imposées par la direction de la société, mais quand même… ! Il est quand même vraiment « fou » de mettre en production une installation à peine testée et éprouvée !!!
      A chacun sa méthode d’un côté – A la vue des dégâts que ça cause, il y a quelques leçons à tirer… !

      Comme tu le dis, il existe notamment des solutions assez simple, peu couteuses et rapide à mettre en place – La sécurité n’en sera qu’augmentée un minimum et permettra d’essuyer quelques plâtres…

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Close
Close