MongoDB Sicherheit, Überwachung und Backup (Mongodump)
⚡ Intelligente Zusammenfassung
MongoDB Sicherheit, Überwachung und Datensicherung sind zentrale Konzepte der Datenbankadministration, die die Sicherheit, Verfügbarkeit und Wiederherstellbarkeit von Daten gewährleisten. Diese Ressource behandelt bewährte Sicherheitsverfahren, mongodump-Backups, Überwachungstools, Tipps zur Indizierung, Authentifizierungsmechanismen, X.509-Zertifikate und die Konfiguration. MongoDB mit Kerberos-Authentifizierung.

Eines der Schlüsselkonzepte in MongoDB Die Datenbankadministration umfasst die Verwaltung von Datenbanken. Wichtige Aspekte wie Sicherheit, Datensicherung und Zugriff auf Datenbanken sind allesamt wichtige Konzepte, wenn es um Datenbankadministration geht.
MongoDB Sicherheitsüberblick
MongoDB bietet die Möglichkeit, Sicherheitsmechanismen für Datenbanken zu definieren. Standardmäßig möchte man nicht, dass jeder freien Zugriff auf jede Datenbank hat. MongoDB, daher die Anforderung, über einen Sicherheitsmechanismus zu verfügen MongoDB ist wichtig.
Im Folgenden sind die besten Vorgehensweisen für die Implementierung von Sicherheitsmaßnahmen in Datenbanken aufgeführt:
- Zugriffskontrolle aktivieren – Erstellen Sie Benutzer, sodass alle Anwendungen und Benutzer beim Zugriff auf Datenbanken gezwungen sind, einen Authentifizierungsmechanismus zu verwenden. MongoDB.
- Rollenbasierte Zugriffskontrolle konfigurieren – Manchmal kann es eine logische Gruppe gebenping Es gibt Berechtigungen, die gegebenenfalls erforderlich sind und zu Rollen zusammengefasst werden können. Benutzern können dann diese Rollen zugewiesen werden.
- Versuchen Sie es zu konfigurieren MongoDB Um ein Verschlüsselungsprotokoll wie TLS oder SSL zu verwenden, können diese Protokolle genutzt werden, um den Datenverkehr zwischen Client und Server zu verschlüsseln. MongoDB Umwelt.
- Überwachung konfigurieren Administratoren müssen normalerweise wissen, wer welche Aufgaben übernimmt, um später Probleme analysieren zu können. Am besten lässt sich dies durch die Aktivierung der Überwachung erreichen. MongoDB.
- Führen Sie die MongoDB Serverinstanz mit separater Benutzerkennung, die nur auf die erforderlichen Ressourcen in der Serverumgebung Zugriff hat.
MongoDB Sicherungsverfahren – Mongodump
Bei der Arbeit mit MongoDBEs ist wichtig, stets ein Backup-Verfahren zu gewährleisten, falls die Daten innerhalb MongoDB Sollte ein Datenverlust aus irgendeinem Grund auftreten, stehen Ihnen im Folgenden die verfügbaren Backup-Mechanismen zur Verfügung. MongoDB:
- Sicherung durch Kopieren der zugrunde liegenden Datendateien Dies ist vermutlich der einfachste Mechanismus. Es müssen lediglich die Datendateien kopiert werden, auf denen sie sich befinden. MongoDB speichert sie und kopiert sie an einen anderen Ort, idealerweise auf einen anderen Server.
- Sichern Sie eine Datenbank mit Mongodump – Das Mongodump-Tool liest Daten von a MongoDB Mongodump liest Datenbanken aus und erstellt hochwertige BSON-Dateien. Zu beachten ist, dass Mongodump bei großen Datensätzen sehr ressourcenintensiv sein kann. Um dieses Problem zu minimieren, sollte das Dienstprogramm auf einem separaten Server ausgeführt werden.
- MongoDB Cloud Manager-Sicherung - MongoDB Cloud Manager führt kontinuierlich Backups durch MongoDB Replikationssätze und Sharded-Cluster durch Lesen der Oplog-Daten aus dem MongoDB Umwelt. MongoDB Cloud Manager kann eine Wiederherstellung zu einem bestimmten Zeitpunkt erstellen, indem es Oplog-Daten speichert, sodass es zu jedem beliebigen Zeitpunkt eine Wiederherstellung für ein bestimmtes Replikatset oder einen Sharded Cluster durchführen kann.
MongoDB Überwachung
Die Überwachung ist eine der kritischsten Verwaltungsaktivitäten in MongoDBDies liegt daran, dass Sie durch die Überwachung der Umgebung auf mögliche Probleme, die auftreten könnten, proaktiver handeln können. Nachfolgend finden Sie einige Beispiele für die Implementierung der Überwachung:
- Mongostat Sie erfahren dadurch, wie oft Datenbankoperationen wie Einfügen, Abfragen, Aktualisieren und Löschen tatsächlich auf dem Server ausgeführt werden. Dies gibt einen guten Überblick über die Serverlast und zeigt an, ob zusätzliche Serverressourcen oder gegebenenfalls zusätzliche Server zur Lastverteilung benötigt werden.
- Mongotop tracks und meldet die aktuelle Lese- und Schreibaktivität von a MongoDB Beispiel und meldet diese Statistiken für jede Sammlung.
- MongoDB bietet eine Weboberfläche, die Diagnose- und Überwachungsinformationen auf einer einfachen Webseite darstellt.
- Der Befehl serverStatus oder db.serverStatus() aus der Shell gibt einen Überblick über den Status der Datenbank zurück, mit Details zur Festplattennutzung, Speichernutzung, hergestellten Verbindungen zum MongoDB Umwelt und mehr.
MongoDB Überlegungen zur Indizierung und Leistung
- Indizes sind in jeder Datenbank sehr wichtig und können zur Verbesserung der Effizienz von Suchanfragen verwendet werden MongoDBWenn Sie in Ihrem Dokument ständig Suchvorgänge durchführen, ist es ratsam, Indizes für die Felder des Dokuments hinzuzufügen, die in den Suchkriterien verwendet werden.
- Versuchen Sie, die Anzahl der zurückgegebenen Abfrageergebnisse stets zu begrenzen. Angenommen, ein Dokument enthält mehrere Feldnamen, Sie möchten aber nur zwei Felder anzeigen. Stellen Sie dann sicher, dass Ihre Abfrage nur die beiden benötigten Felder anzeigt und nicht alle Felder.
- Wenn Sie bestimmte Feldwerte anzeigen möchten, verwenden Sie nur diese Felder in der Abfrage. Fragen Sie nicht alle Felder in der Sammlung ab, wenn diese nicht erforderlich sind.
MongoDB Authentifizierungsmechanismen
Während die Autorisierung den Zugriff des Clients auf das System sicherstellt, prüft die Authentifizierung, welche Art von Zugriff der Client hat. MongoDB Sobald sie für das System autorisiert wurden, stehen verschiedene Authentifizierungsmechanismen zur Verfügung; im Folgenden werden nur einige davon aufgeführt.
MongoDB Authentifizierung mit x.509-Zertifikaten
Verwenden Sie X.509-Zertifikate zur Authentifizierung des Clients – ein Zertifikat ist im Grunde eine vertrauenswürdige Signatur zwischen dem Client und dem Server. MongoDB Server.
Anstatt also einen Benutzernamen und ein Passwort einzugeben, um eine Verbindung zum Server herzustellen, wird ein Zertifikat zwischen dem Client und dem Server übergeben MongoDB Server. Der Client besitzt im Prinzip ein Clientzertifikat, das zur Authentifizierung an den Server übermittelt wird. Jedes Clientzertifikat entspricht einem einzelnen Client. MongoDB Benutzer. Also jeder Benutzer aus MongoDB muss über ein eigenes Zertifikat verfügen, um gegenüber dem authentifiziert werden zu können MongoDB Server.
Um sicherzustellen, dass dies funktioniert, müssen folgende Schritte befolgt werden:
- Ein gültiges Zertifikat muss von einer anerkannten Drittpartei erworben und auf dem Gerät installiert werden. MongoDB Server.
- Das Clientzertifikat muss folgende Eigenschaften aufweisen: Es muss von einer einzigen Zertifizierungsstelle (CA) ausgestellt werden, sowohl für den Client als auch für den Server, und die Clientzertifikate müssen die Felder keyUsage und extendedKeyUsage enthalten.
- Jeder Benutzer, der sich mit dem MongoDB Der Server benötigt ein separates Zertifikat.
Wie konfiguriere ich? MongoDB mit Kerberos-Authentifizierung
Nachfolgend finden Sie die Schritte zur Konfiguration MongoDB mit Kerberos-Authentifizierung Windows:
Schritt 1) Konfigurieren MongoDB mit aktivierter Kerberos-Authentifizierung Windows
Kerberos ist ein Authentifizierungsmechanismus, der in großen Client-Server-Umgebungen eingesetzt wird. Es handelt sich um einen sehr sicheren Mechanismus, bei dem das Passwort nur dann zulässig ist, wenn es verschlüsselt ist. MongoDB verfügt über die Möglichkeit zur Authentifizierung gegenüber einem bestehenden Kerberos-basierten System.
Schritt 2) mongod.exe-Serverprozess
Starten Sie als Nächstes den Serverprozess mongod.exe.
Schritt 3) mongo.exe-Client verarbeiten und verbinden
Starten Sie anschließend den mongo.exe-Clientprozess und stellen Sie eine Verbindung her. MongoDB Server.
Schritt 4) Fügen Sie einen Benutzer hinzu MongoDB
Fügen Sie einen Benutzer, im Grunde einen Kerberos-Prinzipalnamen, zur $external-Datenbank hinzu. Die $external-Datenbank ist eine spezielle Datenbank, die Folgendes mitteilt: MongoDB um diesen Benutzer anhand eines Kerberos-Systems statt seines eigenen internen Systems zu authentifizieren.
use $external db.createUser( { user: "user1@example.NET", roles: [ { role: "read", db: "Marketing" } ] } )
Schritt 5) Beginnen Sie mit der Verwendung des Befehls
Starten Sie mongod.exe mit Kerberos-Unterstützung mithilfe des folgenden Befehls:
mongod.exe --auth --setParameter authenticationMechanisms=GSSAPI
Und dann können Sie sich nun mit dem Kerberos-Benutzer und der Kerberos-Authentifizierung mit der Datenbank verbinden.

