MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Auf den MongoDB-Server kann weiterhin ohne Anmeldeinformationen zugegriffen werden

Die Authentifizierung verhindert, dass Sie Aktionen an der Datenbank ausführen (wie Ihr Screenshot zeigt - Sie können nicht einmal Datenbanken auflisten), sie verhindert keine Verbindungen - schließlich müssen Sie in der Lage sein, eine Verbindung herzustellen, um sich authentifizieren zu können.

Es gibt eine Funktionsanfrage zum Hinzufügen von Zeitüberschreitungen, aber im Moment ist dies im Wesentlichen das Verhalten des Servers.

Es ist erwähnenswert, dass dies, bis Sie versuchen, etwas zu tun, wirklich nichts anderes ist, als sich einfach mit telnet mit dem Port zu verbinden - der am Anfang angezeigte Text "connecting to:" etc. stammt vom Client, nicht vom Server. Sobald es versucht, etwas nicht authentifiziert zu tun, sogar die Serverwarnungen aufzulisten, wird ein Fehler ausgegeben, weil es nicht über ausreichende Berechtigungen verfügt.

Wenn Sie Dinge aus Sicht der Verbindung sperren möchten, besteht die einzige Option aus MongoDB-Perspektive darin, die IP-Adressen, auf denen es lauscht (standardmäßig alle), mithilfe von bindIp einzuschränken Möglichkeit. Mit 127.0.0.1 würde es zum Beispiel für die lokale Verwendung sperren (aber Sie könnten dann keine Verbindung von einem entfernten Host herstellen), was die Replikation zu einem Problem macht. Seien Sie also vorsichtig, wenn Sie Ihre gebundene Adresse auswählen.

Außerhalb von MongoDB sollten Sie sich die Sperrung aus Firewall-Perspektive ansehen. Unter Linux wären dies IPTables, ufw, hosts.allow/deny oder ähnliches. Die Windows-Firewall ist nicht mein Fachgebiet, aber ich könnte mir vorstellen, dass Sie dort auch ähnliches tun können.