MongoDB Säkerhet, övervakning och säkerhetskopiering (Mongodump)

⚡ Smart sammanfattning

MongoDB Säkerhet, övervakning och säkerhetskopiering är centrala koncept för databasadministration som håller data säker, tillgänglig och återställningsbar. Den här resursen täcker bästa säkerhetspraxis, säkerhetskopior av Mongodump, övervakningsverktyg, indexeringstips, autentiseringsmekanismer, x.509-certifikat och konfiguration. MongoDB med Kerberos-autentisering.

  • 🔒 Säkerhet: Aktivera åtkomstkontroll, rollbaserad åtkomst, TLS/SSL-kryptering och granskning.
  • 💾 Säkerhetskopiering: Kopiera datafiler, använd mongodump för BSON-dumpar eller Cloud Manager.
  • 📊 Övervakning: Använd mongostat, mongotop, webbgränssnittet och serverStatus.
  • Indexering: Lägg till index på sökta fält och begränsa returnerade fält.
  • 🪪 Authentication: Använd x.509-certifikat eller Kerberos för säker klientåtkomst.

MongoDB Säkerhet, övervakning och säkerhetskopiering

Ett av nyckelbegreppen i MongoDB är hantering av databaser. Viktiga aspekter som säkerhet, säkerhetskopiering och åtkomst till databaser är alla viktiga begrepp när det gäller databasadministration.

MongoDB Säkerhetsöversikt

MongoDB har möjlighet att definiera säkerhetsmekanismer för databaser. Som standard vill man inte att alla ska ha öppen åtkomst till varje databas i MongoDB, därav kravet på att ha någon form av säkerhetsmekanism i MongoDB är viktigt.

Följande är de bästa metoderna för att implementera säkerhet i databaser:

  1. Aktivera åtkomstkontroll – Skapa användare så att alla applikationer och användare tvingas ha någon form av autentiseringsmekanism när de öppnar databaser på MongoDB.
  2. Konfigurera rollbaserad åtkomstkontroll – Ibland kan det finnas en logisk gruppping av behörigheter som kan krävas, vilka kan knytas till roller. Användare kan sedan tilldelas dessa roller.
  3. Försök att konfigurera MongoDB att använda någon form av krypteringsprotokoll som TLS eller SSL. Dessa protokoll kan användas för att kryptera trafiken som flyter mellan klienten och MongoDB miljö.
  4. Konfigurera granskning – Administratörer behöver normalt veta vem som gör vad, vilket hjälper till att analysera problem senare. Det bästa sättet är att aktivera granskning i MongoDB.
  5. Kör MongoDB serverinstans med ett separat användar-ID som endast har åtkomst till de nödvändiga resurserna i servermiljön.

MongoDB Backup-procedurer – mongodump

När du arbetar med MongoDB, är det viktigt att alltid se till att en säkerhetskopieringsprocedur finns på plats ifall data inom MongoDB blir skadad av någon anledning. Nedan följer de säkerhetskopieringsmekanismer som är tillgängliga inifrån MongoDB:

  1. Säkerhetskopiera genom att kopiera underliggande datafiler – Detta är förmodligen den enklaste mekanismen. Allt som behöver göras är att kopiera datafilerna som MongoDB finns och kopiera dem till en annan plats, vilket helst bör vara en annan server.
  2. Säkerhetskopiera en databas med mongodump – Mongodump-verktyget läser data från en MongoDB databas och skapar BSON-filer med hög återgivning. Det man måste ta hänsyn till är att om datamängden är stor i volym kan mongodump vara mycket resurskrävande, så för att mildra detta problem bör verktyget köras på en sekundär server.
  3. MongoDB Cloud Manager Backup - MongoDB Cloud Manager säkerhetskopierar kontinuerligt MongoDB replikuppsättningar och fragmenterade kluster genom att läsa oplogdata från MongoDB miljö. MongoDB Cloud Manager kan skapa en tidpunktsåterställning genom att lagra oplogdata så att den kan skapa en återställning när som helst för en viss replikuppsättning eller ett shardat kluster.

MongoDB Övervakning

Övervakning är en av de mest kritiska administrativa aktiviteterna inom MongoDBDetta beror på att du kan vara mer proaktiv genom att övervaka miljön för eventuella problem som kan uppstå. Nedan följer några exempel på hur man implementerar övervakning:

  1. mongostat visar hur många gånger databasoperationer som infoga, fråga, uppdatera och ta bort faktiskt sker på servern. Detta ger en bra uppfattning om hur mycket belastning servern hanterar och indikerar om du behöver ytterligare resurser på servern, eller kanske ytterligare servrar för att fördela belastningen.
  2. Mongotop tracks och rapporterar den aktuella läs- och skrivaktiviteten för en MongoDB och rapporterar denna statistik per insamling.
  3. MongoDB tillhandahåller ett webbgränssnitt som exponerar diagnostisk och övervakningsinformation på en enkel webbsida.
  4. Kommandot serverStatus, eller db.serverStatus() från skalet, returnerar en översikt över databasens status, med detaljer om diskanvändning, minnesanvändning, anslutningar som upprättats till MongoDB miljö och mer.

MongoDB Indexering och prestationsöverväganden

  1. Index är mycket viktiga i alla databaser och kan användas för att förbättra effektiviteten av sökfrågor i MongoDBOm du kontinuerligt söker i ditt dokument är det bättre att lägga till index på de fält i dokumentet som används i sökkriterierna.
  2. Försök att alltid begränsa antalet returnerade frågeresultat. Anta att du har flera fältnamn i ett dokument, men du bara vill se två fält från dokumentet. Se då till att din fråga bara siktar på att visa de två fält du behöver och inte alla fält.
  3. Om du vill se vissa fältvärden, använd bara dessa fält i frågan. Fråga inte efter alla fält i samlingen om de inte är obligatoriska.

MongoDB Autentiseringsmekanismer

Medan auktorisering syftar till att säkerställa klientens åtkomst till systemet, kontrollerar autentisering vilken typ av åtkomst klienten har i MongoDB när de har auktoriserats i systemet. Det finns olika autentiseringsmekanismer; nedan följer bara några av dem.

MongoDB Autentisering med x.509-certifikat

Använd x.509-certifikat för att autentisera klienten – ett certifikat är i grunden en betrodd signatur mellan klienten och MongoDB Server.

Så istället för att ange ett användarnamn och lösenord för att ansluta till servern skickas ett certifikat mellan klienten och MongoDB Server. Klienten kommer i princip att ha ett klientcertifikat som skickas till servern för autentisering på servern. Varje klientcertifikat motsvarar ett enda MongoDB användare. Så varje användare från MongoDB måste ha ett eget certifikat för att bli autentiserad mot MongoDB servern.

För att säkerställa att detta fungerar måste följande steg följas:

  1. Ett giltigt certifikat måste köpas från en giltig tredjepartsutfärdare och installeras på MongoDB Server.
  2. Klientcertifikatet måste ha följande egenskaper: en enda certifikatutfärdare (CA) måste utfärda certifikaten för både klienten och servern, och klientcertifikaten måste innehålla fälten keyUsage och extendedKeyUsage.
  3. Varje användare som ansluter till MongoDB Servern behöver ett separat certifikat.

Hur man konfigurerar MongoDB med Kerberos-autentisering

Nedan följer stegen för att konfigurera MongoDB med Kerberos-autentisering aktiverad Windows:

Steg 1) Konfigurera MongoDB med Kerberos-autentisering på Windows

Kerberos är en autentiseringsmekanism som används i stora klient-server-miljöer. Det är en mycket säker mekanism där lösenordet endast är tillåtet om det är krypterat. MongoDB har möjlighet att autentisera mot ett befintligt Kerberos-baserat system.

Steg 2) mongod.exe serverprocess

Starta sedan mongod.exe-serverprocessen.

Steg 3) mongo.exe-klientprocessen och anslut

Starta sedan klientprocessen mongo.exe och anslut till MongoDB servern.

Steg 4) Lägg till en användare i MongoDB

Lägg till en användare, vilket i princip är ett Kerberos-huvudnamn, i $external-databasen. $external-databasen är en speciell databas som talar om MongoDB för att autentisera denna användare mot ett Kerberos-system istället för sitt eget interna system.

Inställd MongoDB med Kerberos-autentisering

use $external
db.createUser(
  {
    user: "user1@example.NET",
    roles: [
      { role: "read", db: "Marketing" }
    ]
  }
)

Steg 5) Börja använda kommandot

Starta mongod.exe med Kerberos-stöd genom att använda följande kommando:

mongod.exe --auth --setParameter authenticationMechanisms=GSSAPI

Och sedan kan du nu ansluta med Kerberos-användaren och Kerberos-autentisering till databasen.

Vanliga frågor

Ja. AI-baserade övervakningsverktyg kan flagga ovanliga frågemönster, misslyckade inloggningar och misstänkt åtkomst i MongoDBDe kompletterar inbyggd granskning, men administratörer bör fortfarande granska aviseringar och tillämpa åtkomstkontroll manuellt.

Ja. AI-assisterade skript och molnverktyg kan schemalägga mongodump-säkerhetskopior, verifiera integritet och föreslå återställningspunkter. MongoDB Atlas erbjuder även automatiserade, kontinuerliga säkerhetskopior, vilket minskar den manuella ansträngningen att skydda data.

mongodump skapar BSON-snapshots av en databas på begäran. MongoDB Cloud Manager läser kontinuerligt oploggen för att möjliggöra återställning av replikuppsättningar och shardade kluster vid en viss tidpunkt.

Använd verktyget mongorestore och peka det mot dumpkatalogen. Till exempel laddar mongorestore –db Marketing dump/Marketing tillbaka BSON-filerna till den angivna databasen.

Sammanfatta detta inlägg med: