Konfigurieren Sie MongoDB mit Kerberos-Authentifizierung: X.509-Zertifikate

Inhaltsverzeichnis:

Anonim

Während die Autorisierung darauf abzielt, den Clientzugriff auf das System sicherzustellen, prüft die Authentifizierung, welche Art von Zugriff der Client in MongoDB hat, sobald er für das System autorisiert wurde.

Es gibt verschiedene Authentifizierungsmechanismen, im Folgenden sind nur einige davon aufgeführt.

MongoDB-Authentifizierung mit x.509-Zertifikaten

Verwenden Sie x.509-Zertifikate, um den Client zu authentifizieren. - Ein Zertifikat ist im Grunde eine vertrauenswürdige Signatur zwischen dem Client und dem MongoDB-Server.

Anstatt einen Benutzernamen und ein Kennwort für die Verbindung zum Server einzugeben, wird ein Zertifikat zwischen dem Client und dem MongoDB-Server übergeben. Der Client verfügt grundsätzlich über ein Client-Zertifikat, das zur Authentifizierung beim Server an den Server übergeben wird. Jedes Client-Zertifikat entspricht einem einzelnen MongoDB-Benutzer. Daher muss jeder Benutzer von MongoDB über ein eigenes Zertifikat verfügen, um sich beim MongoDB-Server authentifizieren zu können.

Um sicherzustellen, dass dies funktioniert, müssen die folgenden Schritte ausgeführt werden.

  1. Ein gültiges Zertifikat muss von einer gültigen Drittautorität gekauft und auf dem MongoDB-Server installiert werden.
  2. Das Client-Zertifikat muss die folgenden Eigenschaften aufweisen (Eine einzelne Zertifizierungsstelle muss die Zertifikate sowohl für den Client als auch für den Server ausstellen. Die Client-Zertifikate müssen die folgenden Felder enthalten: keyUsage und extendedKeyUsage.
  3. Jeder Benutzer, der eine Verbindung zum MongDB-Server herstellt, muss über ein separates Zertifikat verfügen.

Mongodb-Authentifizierung mit Kerberos

Schritt 1) MongoDB mit Kerberos-Authentifizierung unter Windows konfigurieren - Kerberos ist ein Authentifizierungsmechanismus, der in großen Client-Server-Umgebungen verwendet wird.

Es ist ein sehr sicherer Mechanismus, bei dem das Passwort nur zulässig ist, wenn es verschlüsselt ist. Nun, MongoDB bietet die Möglichkeit, sich bei einem vorhandenen Kerberos-basierten System zu authentifizieren.

Schritt 2) Starten Sie den Serverprozess mongod.exe.

Schritt 3) Starten Sie den Client-Prozess mongo.exe und stellen Sie eine Verbindung zum MongoDB-Server her.

Schritt 4) Fügen Sie der $ external-Datenbank einen Benutzer in MongoDB hinzu, bei dem es sich im Grunde um einen Kerberos-Prinzipalnamen handelt. Die $ external-Datenbank ist eine spezielle Datenbank, die MongoDB anweist, diesen Benutzer gegenüber einem Kerberos-System anstelle seines eigenen internen Systems zu authentifizieren.

use $externaldb.createUser({user: "This email address is being protected from spambots. You need JavaScript enabled to view it.",roles:[{role: "read" , db:"Marketing"}}]}

Schritt 5) Starten Sie mongod.exe mit Kerberos-Unterstützung mit dem folgenden Befehl

mongod.exe -auth -setParameter authenticationMechanisms=GSSAPI

Anschließend können Sie eine Verbindung mit dem Kerberos-Benutzer und der Kerberos-Authentifizierung zur Datenbank herstellen.

Zusammenfassung:

  • Es gibt verschiedene Authentifizierungsmechanismen, um eine bessere Sicherheit in Datenbanken zu gewährleisten. Ein Beispiel ist die Verwendung von Zertifikaten zur Authentifizierung von Benutzern anstelle von Benutzernamen und Kennwörtern.