sql >> Database >  >> NoSQL >> MongoDB

De drie A's van MongoDB-beveiliging - authenticatie, autorisatie en auditing

MongoDB heeft de afgelopen 18 maanden indrukwekkende vooruitgang geboekt. Een van de MongoDB-gebieden die de meest significante verbetering hebben gezien, is de beveiliging. Beveiliging is van het grootste belang voor een productiedatabase. Bestaande relationele databases bieden een aantal knoppen en bedieningselementen om de databasebeheerder (DBA) te helpen bij het beheren van de beveiliging van hun database, en MongoDB komt ook op een vergelijkbare plaats. In dit bericht gaan we dieper in op de beveiligingsfuncties op het gebied van authenticatie, autorisatie en auditing.

  1. Verificatie

    MongoDB biedt verschillende mechanismen om de verbinding van de gebruiker met de database te verifiëren. Kies het mechanisme dat de beste balans biedt tussen beveiliging en beheer. Hoewel optioneel, wordt het aanbevolen om op alle productiesystemen authenticatie aan te zetten.

    • Challenge Response Authentication (MongoDB-CR)

      Dit is de traditionele gebruikersnaam/wachtwoord-gebaseerde authenticatie. Gebruikers kunnen worden gemaakt binnen het bereik van een database of het hele cluster. Als een gebruiker alleen toegang nodig heeft tot gegevens in een bepaalde database, is het raadzaam om alleen de gebruiker te maken die specifiek is voor die database. Toegang op clusterniveau moet worden beperkt voor beheerders.

    • X.509-certificaatverificatie

      Gebruikers kunnen zich authenticeren bij hun MongoDB-database met behulp van het X.509-certificaat. Om dit te doen, moet SSL op de MongoDB-server zijn ingeschakeld. Standaard hebben de community-builds van MongoDB geen SSL ingeschakeld. U moet uw eigen build uitrollen of u aanmelden om de Enterprise-editie te gebruiken. U kunt in MongoDB een gebruiker aanmaken voor elk X.509-certificaat met een uniek onderwerp. Raadpleeg de MongoDB X.509-certificaatconfiguratie voor meer stapsgewijze instructies.

    • Kerberos-verificatie

      De Enterprise-builds van MongoDB ondersteunen authenticatie met Kerberos, de industriestandaard voor client-server-authenticatie. Als u bijvoorbeeld een onderneming bent met een Active Directory-installatie, kunt u het Kerberos-verificatiemechanisme gebruiken om uw gebruikers te verifiëren. Dit voorkomt het gedoe van het beheren van gebruikersnamen, wachtwoorden of certificaten. Klik hier voor instructies om MongoDB te integreren met Active Directory.

  2. Autorisatie

    Het autorisatiesysteem bepaalt welke bewerkingen gebruikers kunnen uitvoeren nadat ze de verificatie hebben voltooid. MongoDB ondersteunt een Role-Based Access Control (RBAC)-model. Elke gebruiker krijgt specifieke rollen toegewezen die bepalen welke bewerkingen ze mogen uitvoeren. MongoDB heeft een reeks ingebouwde rollen en u kunt ook uw eigen aangepaste rollen maken. Aan elke rol wordt een set bevoegdheden toegewezen die resources koppelen aan toegestane bewerkingen op die resource. MongoDB biedt ingebouwde rollen op de volgende gebieden:

    • Gebruikersrollen database

      lees, leesSchrijf

    • Functies voor databasebeheerder (DBA)

      dbAdmin, dbOwner, userAdmin

    • Clusterbeheerdersrollen

      clusterAdmin, clusterManager, clusterMonitor, hostManager

    • Back-up maken en rollen herstellen

      back-up, herstel

    • Alle databaserollen

      readAnyDatabase, readWriteAnyDatabase,userAdminAnyDatabase

    • Superuser-rollen

      root

    Raadpleeg de documentatie over ingebouwde rollen voor een gedetailleerder begrip van de rollen die aan uw gebruikers moeten worden toegewezen.

  3. Auditing

    MongoDB Enterprise 2.6 heeft ondersteuning voor auditing toegevoegd. U kunt de MongoDB-server configureren om auditgebeurtenissen te genereren voor interessante MongoDB-bewerkingen, zoals gebruikersaanmelding, DDL-wijzigingen, configuratiewijzigingen van replicasets, enz. Hierdoor kunt u uw bestaande audittool voor ondernemingen gebruiken om de benodigde gebeurtenissen op te pikken en te verwerken. Raadpleeg voor meer informatie de lijst met MongoDB-gebeurtenissen die kunnen worden gecontroleerd.

Voor meer tips over het verbeteren van de beveiliging van uw MongoDB-databases verwijzen wij u naar onze andere blogpost – 10 tips om uw MongoDB-beveiliging te verbeteren.


  1. MongoDB $round vs $trunc:wat is het verschil?

  2. Python-database programmeren met MongoDB voor beginners

  3. MongoDB $dateToString Formaatspecificaties

  4. MongoDB - Beperk de resultaten van een zoekopdracht