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

Die drei A’s der MongoDB-Sicherheit – Authentifizierung, Autorisierung und Auditierung

MongoDB hat in den letzten 18 Monaten beeindruckende Fortschritte gemacht. Einer der MongoDB-Bereiche, in denen die größten Verbesserungen zu verzeichnen waren, war die Sicherheit. Sicherheit ist für eine Produktionsdatenbank von größter Bedeutung. Bestehende relationale Datenbanken bieten eine Reihe von Knöpfen und Steuerelementen, die dem Datenbankadministrator (DBA) helfen, die Sicherheit seiner Datenbank zu verwalten, und MongoDB erreicht ebenfalls einen ähnlichen Punkt. In diesem Beitrag werden wir uns eingehender mit den Sicherheitsfunktionen in den Bereichen Authentifizierung, Autorisierung und Auditing befassen.

  1. Authentifizierung

    MongoDB bietet eine Vielzahl von Mechanismen, um die Verbindung des Benutzers mit der Datenbank zu authentifizieren. Wählen Sie den Mechanismus, der das beste Gleichgewicht zwischen Sicherheit und Verwaltung bietet. Obwohl optional, ist es eine empfohlene Sicherheitspraxis, dass alle Produktionssysteme die Authentifizierung aktiviert haben.

    • Challenge-Response-Authentifizierung (MongoDB-CR)

      Dies ist die traditionelle benutzername/kennwortbasierte Authentifizierung. Benutzer können im Bereich einer Datenbank oder des gesamten Clusters erstellt werden. Wenn ein Benutzer nur auf Daten in einer bestimmten Datenbank zugreifen muss, wird empfohlen, nur den Benutzer speziell für diese Datenbank zu erstellen. Der Zugriff auf Clusterebene sollte für Administratoren eingeschränkt werden.

    • Authentifizierung mit X.509-Zertifikat

      Benutzer können sich mit einem X.509-Zertifikat bei ihrer MongoDB-Datenbank authentifizieren. Dazu muss auf dem MongoDB-Server SSL aktiviert sein. Standardmäßig ist SSL für die Community-Builds von MongoDB nicht aktiviert. Sie müssen Ihren eigenen Build einführen oder sich anmelden, um die Enterprise Edition zu verwenden. Sie können in MongoDB für jedes X.509-Zertifikat einen Benutzer mit einem eindeutigen Betreff erstellen. Weitere Schritt-für-Schritt-Anleitungen finden Sie unter Einrichtung des MongoDB X.509-Zertifikats.

    • Kerberos-Authentifizierung

      Die Enterprise-Builds von MongoDB unterstützen die Authentifizierung mit Kerberos, dem Industriestandard für die Client-Server-Authentifizierung. Wenn Sie beispielsweise ein Unternehmen mit einer Active Directory-Installation sind, können Sie den Kerberos-Authentifizierungsmechanismus verwenden, um Ihre Benutzer zu authentifizieren. Dadurch entfällt die lästige Verwaltung von Benutzernamen, Passwörtern oder Zertifikaten. Klicken Sie hier, um Anweisungen zur Integration von MongoDB in Active Directory zu erhalten.

  2. Autorisierung

    Das Autorisierungssystem bestimmt, welche Vorgänge Nutzer ausführen können, nachdem sie die Authentifizierung abgeschlossen haben. MongoDB unterstützt ein rollenbasiertes Zugriffssteuerungsmodell (RBAC). Jedem Nutzer werden bestimmte Rollen zugewiesen, die die Vorgänge bestimmen, die er ausführen darf. MongoDB verfügt über eine Reihe integrierter Rollen und Sie können auch Ihre eigenen benutzerdefinierten Rollen erstellen. Jeder Rolle wird eine Reihe von Berechtigungen zugewiesen, die Ressourcen mit zulässigen Vorgängen für diese Ressource paaren. MongoDB bietet integrierte Rollen in den folgenden Bereichen:

    • Datenbankbenutzerrollen

      lesen, lesenSchreiben

    • Datenbankadministrator (DBA)-Rollen

      dbAdmin, dbOwner, userAdmin

    • Cluster-Administratorrollen

      clusterAdmin, clusterManager, clusterMonitor, hostManager

    • Rollen sichern und wiederherstellen

      Sichern, Wiederherstellen

    • Alle Datenbankrollen

      readAnyDatabase, readWriteAnyDatabase,userAdminAnyDatabase

    • Superuser-Rollen

      root

    Weitere Informationen zu den Rollen, die Ihren Benutzern zugewiesen werden müssen, finden Sie in der Dokumentation zu integrierten Rollen.

  3. Prüfung

    MongoDB Enterprise 2.6-Release fügte Unterstützung für Auditing hinzu. Sie können den MongoDB-Server so konfigurieren, dass Audit-Ereignisse für interessante MongoDB-Vorgänge generiert werden, wie z. B. Benutzeranmeldung, DDL-Änderungen, Replikatsatz-Konfigurationsänderungen usw. Dadurch können Sie Ihr vorhandenes Audit-Tool des Unternehmens verwenden, um die erforderlichen Ereignisse zu erfassen und zu verarbeiten. Weitere Informationen finden Sie in der Liste der MongoDB-Ereignisse, die geprüft werden können.

Weitere Tipps zur Verbesserung der Sicherheit Ihrer MongoDB-Datenbanken finden Sie in unserem anderen Blogbeitrag – 10 Tipps zur Verbesserung Ihrer MongoDB-Sicherheit.