Το MongoDB δεν είναι ασφαλές από προεπιλογή. Εάν εγκαθιστάτε το MongoDB και το εκ��ινείτε χωρίς να το ρυθμίσετε για έλεγχο ταυτότητας, θα περάσετε άσχημα. Οι άνθρωποι μπορούν να διαβάσουν, να γράψουν, να καταστρέψουν ή να αλλάξουν δεδομένα στον διακομιστή σας χωρίς να χρειάζεται να κάνουν είσοδο ή έλεγχο ταυτότητας. Η ασφάλεια της βάσης δεδομένων δεν είναι δύσκολη και μπορεί να γίνει σε λίγα βήματα.
Πρώτα, ξεκινήστε τον πελάτη σας Mongo. Στο Linux είναι η εντολή mongo. Εισαγάγετε αυτό το μπλοκ κειμένου, αλλάζοντας φυσικά τα μέρη κράτησης θέσης στις δικές σας πληροφορίες.
db.createUser({ user: "USERNAME", pwd: "PASSWORD", roles: [ { role: "readWrite", db: "YOUR_DATABASE" } ] });
Αφού τελειώσετε, κλείστε τον πελάτη mongo και επεξεργαστείτε το αρχείο διαμόρφωσης MongoDB. Ανάλογα με το λειτουργικό σύστημα και τη διανομή σας, θα το βρείτε σε ένα από αυτά τα μέρη.
/etc/mongodb.conf /etc/mongod.conf
Αλλάξτε την ακόλουθη γραμμή, #security:στην ακόλουθη.
security: authorization: enabled
Θα πρέπει να εξετάσετε το ενδεχόμενο να αλλάξετε τη θύρα bind σε localhost ( 127.0.0.1) ή να τη συνδέσετε σε μια ιδιωτική IP που δεν εκτίθεται στο διαδίκτυο. Η έκθεση της βάσης δεδομένων σας στο διαδίκτυο είναι απλώς μια κακή ιδέα γενικά. Αυτό είναι που πρέπει να αλλάξετε.
# network interfaces net: port: 27017 bindIp: 634.234.102.6
Προσοχή στους χώρους σας! Πάντα σε δύο, ποτέ καρτέλες. Στη συνέχεια επανεκκινήστε τη βάση δεδομένων MongoDB. Στο Linux θα είναι μία από τις ακόλουθες εντολές με βάση τη διανομή της επιλογής σας.
systemctl restart mongod systemctl restart mongodb