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.

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:
- 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.
- 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.
- 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ö.
- 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.
- 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:
- 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.
- 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.
- 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:
- 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.
- Mongotop tracks och rapporterar den aktuella läs- och skrivaktiviteten för en MongoDB och rapporterar denna statistik per insamling.
- MongoDB tillhandahåller ett webbgränssnitt som exponerar diagnostisk och övervakningsinformation på en enkel webbsida.
- 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
- 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.
- 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.
- 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:
- Ett giltigt certifikat måste köpas från en giltig tredjepartsutfärdare och installeras på MongoDB Server.
- 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.
- 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.
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.

