2017-01-07 5 views
2

Notre base de données MongoDB dans Digital Ocean a soudainement disparu. Quand je lance mongod, il dit:MongoDB soudainement manquant/données non trouvées

MongoDB starting : pid=27161 port=27017 dbpath=/data/db 64-bit host=unifyhub-db 
2017-01-07T17:36:06.617+0800 I CONTROL [initandlisten] db version v3.0.11 
2017-01-07T17:36:06.617+0800 I CONTROL [initandlisten] git version: 48f8b49dc30cc2485c6c1f3db31b723258fcbf39 
2017-01-07T17:36:06.617+0800 I CONTROL [initandlisten] build info: Linux ip-10-65-215-98 3.13.0-24-generiC#46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49 
2017-01-07T17:36:06.617+0800 I CONTROL [initandlisten] allocator: tcmalloc 
2017-01-07T17:36:06.617+0800 I CONTROL [initandlisten] options: {} 
2017-01-07T17:36:06.676+0800 E NETWORK [initandlisten] listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:27017 
2017-01-07T17:36:06.677+0800 E NETWORK [initandlisten] addr already in use 
2017-01-07T17:36:06.677+0800 I STORAGE [initandlisten] exception in initAndListen: 29 Data directory /data/db not found., terminating 
2017-01-07T17:36:06.677+0800 I CONTROL [initandlisten] dbexit: rc: 100 

Avez-vous une idée de ce qui se passe ici? En fait, nous n'avons rien fait, nous avons juste découvert que l'application entière ne fonctionnait pas parce que la base de données ne peut pas être trouvée.

+0

Lorsque vous avez exécuté mongod précédemment, avez-vous spécifié un chemin différent? avec le paramètre '--dbpath'? – Alex

+1

aussi, je note 'Adresse déjà utilisée pour socket '- ressemble à mongod est déjà en cours d'exécution. Essayez 'sudo service mongod stop' puis réessayez de lancer mongod – Alex

+0

Faites aussi' ps aux | grep mongo' et éditez-le dans votre question dans un bloc préformaté, afin que nous puissions voir ce que les choses mongo fonctionnent actuellement s'il vous plaît. – halfer

Répondre

1

Je pense que vous avez été détourné!

Selon http://thehackernews.com/2017/01/secure-mongodb-database.html et http://securityaffairs.co/wordpress/55018/cyber-crime/mongodb-hacked.html il y a un pirate qui cible les bases de données MongoDB ouvertes, et demande une rançon pour retourner vos données.

J'ai fait face exactement au même problème que le vôtre. Je pensais que c'était quelque chose lié au numérique-océan mais après avoir lu ces messages, j'ai vérifié mon serveur et il est confirmé qu'il a été détourné.

J'ai ouvert une coquille mongo

mongo; 

a énuméré les bases de données

show dbs; 

trouvé une base de données appelée READ1 je l'ai vérifié et trouvé une collection avec un seul enregistrement, un message du pirate de l'air

use READ1; 
show collections; // found a collection called info 
db.info.find() 

trouvé ce document:

{ "_id": ObjectId ("5877674456ae6684507ac017"), "mail": "ha******@si*****.org", "texte": « ENVOYER 0,1 BTC À CETTE ADRESSE ***** ET CONTACTER CE COURRIEL AVEC IP DE VOTRE SERVEUR POUR RÉCUPÉRER VOTRE BASE DE DONNÉES ! " }

Malheureusement, je n'ai pas vérifié le serveur depuis un moment et je garde seulement les cinq dernières sauvegardes, j'ai donc perdu mes données. Mais heureusement, nous sommes toujours en mode développement et nous n'avons pas de données sensibles.

de toute façon, j'ai trouvé ma version Mongodb (2.4.10 distribution Tokumx) permet un accès à distance par défaut. J'ai essayé ce qui suit de ma machine locale et il est étonnamment connecté !!

mongo server-ip:27017/database-name 

Enfin, j'ai fait les étapes suivantes pour désactiver l'accès à distance

ps aux | grep mongo //found path of the configuration file (/etc/tokumx.conf) 

puis comme décrit here, je vim pour ajouter la ligne bind_ip = 127.0.0.1 aux fichiers de configuration puis redémarré mon service tokumx (mongodb dans votre cas)

sudo service tokumx restart 

Désormais, l'accès à distance est désactivé.

0

Assurez-vous que votre fichier de configuration est chargé en appelant explicitement lors de l'exécution mongod:

mongod --config /etc/mongod.conf 

Et dans/etc/mongod.fichier de configuration assurez-vous que vous avez

bindIp: 127.0.0.1 

Maintenant, après avoir redémarré avec ce fichier de configuration, comme Ahmed ElBayaa dit (je ne pouvais pas commenter en raison de la faible réputation), essayez d'une machine à distance pour se connecter en utilisant:

mongo server-ip:27017/ 

Si tout est configuré correctement, cette connexion doit être refusée!