sichere Datenbank in mongodb erstellen

7

Ich möchte die Datenbank in mongodb erstellen, die sicher ist.

Sicher bedeutet, dass die Anwendung Benutzername / Passwort übergeben muss, um sich mit meiner Datenbank in mongodb zu verbinden.

    
javaamtho 23.03.2011, 14:33
quelle

2 Antworten

18

Von Mongo Java Tutorial

MongoDB kann in einem sicheren Modus ausgeführt werden, in dem der Zugriff auf Datenbanken durch die Authentifizierung von Name und Passwort gesteuert wird. In diesem Modus muss jede Clientanwendung einen Namen und ein Kennwort angeben, bevor Operationen ausgeführt werden. Im Java-Treiber machen Sie einfach folgendes mit dem verbundenen Mongo-Objekt:

%Vor%

Wenn der Name und das Passwort für die Datenbank gültig sind, wird auth wahr. Andernfalls wird es falsch sein. Sie sollten im MongoDB-Protokoll nach weiteren Informationen suchen, falls verfügbar.

Die meisten Benutzer führen MongoDB ohne Authentifizierung in einer vertrauenswürdigen Umgebung aus.

Konfigurieren von Authentifizierung und Sicherheit

Die Authentifizierung wird in der system.users-Auflistung jeder Datenbank gespeichert. Zum Beispiel enthält projectx.system.users in einem Datenbankprojekt x Benutzerinformationen.

Wir sollten zuerst einen Administrator-Benutzer für den gesamten Db-Server-Prozess konfigurieren. Dieser Benutzer wird in der speziellen Admin-Datenbank gespeichert.

Wenn in admin.system.users keine Benutzer konfiguriert sind, kann man von der Schnittstelle localhost auf die Datenbank zugreifen, ohne sich zu authentifizieren. Führen Sie daher auf dem Server, auf dem die Datenbank (und damit auf localhost) ausgeführt wird, die Datenbankshell aus und konfigurieren Sie einen Benutzer mit Verwaltungsaufgaben:

%Vor%

Wir haben jetzt einen Benutzer für den Datenbankadministrator erstellt. Beachten Sie, dass wir jetzt, wenn wir uns noch nicht authentifiziert haben, weitere Operationen ausführen müssen, da sich in admin.system.users ein Benutzer befindet.

%Vor%

Wir können vorhandene Benutzer für die Datenbank mit folgendem Befehl anzeigen:

%Vor%

Konfigurieren wir nun einen "normalen" Benutzer für eine andere Datenbank.

%Vor%

Schließlich fügen wir einen schreibgeschützten Benutzer hinzu. (nur unterstützt in 1.3.2 +)

%Vor%     
Kerem Baydoğan 23.03.2011, 14:42
quelle
3
  • Erstellen Sie einen Admin-Benutzer für die Mongo-Instanz,

> use admin

> db.addUser("admin", "xyzxyz")

  • Wechseln Sie zu db, für die eine Authentifizierung erforderlich ist

> use newdb

> db.addUser("newuser", "strongpwd")

  • Stoppen Sie die Mongo-Instanz / den Service. Wenn mongodb über ppa installiert wurde, wird es als Dienst konfiguriert.

sudo service mongodb stop

Wenn es von der Quelle installiert wurde, stoppen Sie den Vorgang mit:

/etc/init.d/mongodb stop

  • Ändern Sie die Konfigurationsdatei, um die Authentifizierung standardmäßig zu verwenden

vim /etc/mongodb.conf

auth = true

  • Starten Sie mongodb. Wenn es ein Service ist

sudo service mongodb restart

else

mongod --config /etc/mongodb.conf

  • Überprüfen Sie, ob Auth aktiviert ist:

> show collections auf newdb sollte den Fehler

enthalten %Vor%

und sollte nach

funktionieren

> db.auth("newuser", "strongpwd")

Jetzt ist die db newdb gesichert.

    
amarprabhu 25.04.2014 08:19
quelle

Tags und Links