MongoDB Sikkerhed, overvÄgning og sikkerhedskopiering (Mongodump)
⥠Smart opsummering
MongoDB Sikkerhed, overvÄgning og backup er centrale databaseadministrationskoncepter, der holder data sikre, tilgÊngelige og gendannelige. Denne ressource dÊkker bedste praksis for sikkerhed, mongodump-backups, overvÄgningsvÊrktÞjer, indekseringstips, godkendelsesmekanismer, x.509-certifikater og konfiguration. MongoDB med Kerberos-godkendelse.

Et af nÞglebegreberne i MongoDB er administration af databaser. Vigtige aspekter som sikkerhed, backup og adgang til databaser er alle vigtige begreber, nÄr det kommer til databaseadministration.
MongoDB Sikkerhedsoversigt
MongoDB har mulighed for at definere sikkerhedsmekanismer for databaser. Som standard ville man ikke Þnske, at alle havde Äben adgang til alle databaser i MongoDB, deraf kravet om at have en form for sikkerhedsmekanisme i MongoDB er vigtigt.
FÞlgende er de bedste fremgangsmÄder ved implementering af sikkerhed i databaser:
- AktivĂ©r adgangskontrol â Opret brugere, sĂ„ alle applikationer og brugere skal have en form for godkendelsesmekanisme, nĂ„r de tilgĂ„r databaser pĂ„ MongoDB.
- Konfigurer rollebaseret adgangskontrol â Nogle gange kan der vĂŠre en logisk gruppeping af tilladelser, der kan vĂŠre nĂždvendige, og som kan knyttes til roller. Brugere kan derefter tildeles disse roller.
- PrÞv at konfigurere MongoDB at bruge en form for krypteringsprotokol sÄsom TLS eller SSL. Disse protokoller kan bruges til at kryptere trafikken, der flyder mellem klienten og MongoDB miljÞ.
- Konfigurer revision â Administratorer skal normalt vide, hvem der gĂžr hvad, hvilket hjĂŠlper med at analysere problemer senere. Den bedste mĂ„de er at aktivere revision i MongoDB.
- KÞr MongoDB serverinstans med et separat bruger-id, der kun har adgang til de nÞdvendige ressourcer pÄ servermiljÞet.
MongoDB Backup-procedurer â mongodump
NÄr du arbejder med MongoDB, er det vigtigt altid at sikre, at der er en sikkerhedskopieringsprocedure pÄ plads, i tilfÊlde af at dataene indeni MongoDB bliver Þdelagt af en eller anden grund. Nedenfor er de tilgÊngelige backup-mekanismer indefra MongoDB:
- Sikkerhedskopiering ved at kopiere underliggende datafiler â Dette er nok den nemmeste mekanisme. Alt, hvad der skal gĂžres, er at kopiere de datafiler, som MongoDB findes og kopierer dem til en anden placering, som ideelt set bĂžr vĂŠre en anden server.
- Sikkerhedskopier en database med mongodump â Mongodump-vĂŠrktĂžjet lĂŠser data fra en MongoDB database og opretter BSON-filer med hĂžj kvalitet. Det, der skal tages i betragtning, er, at hvis datasĂŠttet er stort, kan mongodump vĂŠre meget ressourcekrĂŠvende, sĂ„ for at afbĂžde dette problem bĂžr vĂŠrktĂžjet kĂžres pĂ„ en sekundĂŠr server.
- MongoDB Cloud Manager Backup - MongoDB Cloud Manager sikkerhedskopierer lÞbende MongoDB replikasÊt og shardede klynger ved at lÊse oplog-dataene fra MongoDB miljÞ. MongoDB Cloud Manager kan oprette en gendannelse pÄ et bestemt tidspunkt ved at lagre oplogdata, sÄ den kan oprette en gendannelse nÄr som helst for et bestemt replikasÊt eller en sharded-klynge.
MongoDB OvervÄgning
OvervĂ„gning er en af ââde mest kritiske administrative aktiviteter i MongoDBDette skyldes, at du kan vĂŠre mere proaktiv ved at overvĂ„ge miljĂžet for mulige problemer, der kan opstĂ„. Nedenfor er nogle eksempler pĂ„ implementering af overvĂ„gning:
- mongostat vil fortÊlle dig, hvor mange gange databasehandlinger som indsÊttelse, forespÞrgsel, opdatering og sletning rent faktisk forekommer pÄ serveren. Dette giver en god idé om, hvor meget belastning serveren hÄndterer, og vil indikere, om du har brug for yderligere ressourcer pÄ serveren eller mÄske yderligere servere til at fordele belastningen.
- mongotop tracks og rapporterer den aktuelle lĂŠse- og skriveaktivitet for en MongoDB og rapporterer disse statistikker pr. indsamlingsbasis.
- MongoDB tilbyder en webgrÊnseflade, der viser diagnostiske og overvÄgningsoplysninger pÄ en simpel webside.
- ServerStatus-kommandoen, eller db.serverStatus() fra shellen, returnerer en oversigt over databasens status med detaljer om diskbrug, hukommelsesbrug, forbindelser etableret til MongoDB miljĂž og mere.
MongoDB Indeksering og prĂŠstationsovervejelser
- Indekser er meget vigtige i enhver database og kan bruges til at forbedre effektiviteten af ââsĂžgeforespĂžrgsler i MongoDBHvis du lĂžbende sĂžger i dit dokument, er det bedre at tilfĂžje indekser pĂ„ de felter i dokumentet, der bruges i sĂžgekriterierne.
- PrÞv altid at begrÊnse antallet af returnerede forespÞrgselsresultater. Antag, at du har flere feltnavne i et dokument, men du kun vil se 2 felter fra dokumentet. SÞrg derefter for, at din forespÞrgsel kun har til formÄl at vise de 2 felter, du har brug for, og ikke alle felterne.
- Hvis du vil se bestemte feltvÊrdier, skal du kun bruge disse felter i forespÞrgslen. SpÞrg ikke efter alle felterne i samlingen, hvis de ikke er pÄkrÊvet.
MongoDB Autentificeringsmekanismer
Mens autorisation har til formÄl at sikre klientens adgang til systemet, kontrollerer godkendelse, hvilken type adgang klienten har i MongoDB nÄr de er blevet godkendt i systemet. Der findes forskellige godkendelsesmekanismer; nedenfor er blot et par af dem.
MongoDB Godkendelse ved hjĂŠlp af x.509-certifikater
Brug x.509-certifikater til at godkende klienten â et certifikat er dybest set en betroet signatur mellem klienten og MongoDB Server.
SÄ i stedet for at indtaste et brugernavn og en adgangskode for at oprette forbindelse til serveren, sendes et certifikat mellem klienten og MongoDB Server. Klienten vil grundlÊggende have et klientcertifikat, som sendes til serveren for at godkende den pÄ serveren. Hvert klientcertifikat svarer til et enkelt MongoDB bruger. SÄ hver bruger fra MongoDB skal have deres eget certifikat for at blive autentificeret til MongoDB serveren.
For at sikre at dette fungerer, skal fĂžlgende trin fĂžlges:
- Et gyldigt certifikat skal kÞbes fra en gyldig tredjepartsmyndighed og installeres pÄ MongoDB Server.
- Klientcertifikatet skal have fÞlgende egenskaber: en enkelt certifikatmyndighed (CA) skal udstede certifikaterne for bÄde klienten og serveren, og klientcertifikaterne skal indeholde felterne keyUsage og extendedKeyUsage.
- Hver bruger, der opretter forbindelse til MongoDB Serveren skal have et separat certifikat.
SÄdan konfigureres MongoDB med Kerberos-godkendelse
Nedenfor er trinene til at konfigurere MongoDB med Kerberos-godkendelse aktiveret Windows:
Trin 1) Konfigurer MongoDB med Kerberos-godkendelse slÄet til Windows
Kerberos er en godkendelsesmekanisme, der bruges i store klient-server-miljĂžer. Det er en meget sikker mekanisme, hvor adgangskoden kun er tilladt, hvis den er krypteret. MongoDB har mulighed for at autentificere mod et eksisterende Kerberos-baseret system.
Trin 2) mongod.exe serverproces
Start derefter mongod.exe-serverprocessen.
Trin 3) mongo.exe-klientproces og tilslut
Start derefter mongo.exe-klientprocessen og opret forbindelse til MongoDB serveren.
Trin 4) TilfĂžj en bruger MongoDB
TilfĂžj en bruger, som grundlĂŠggende er et Kerberos-hovednavn, til $external-databasen. $external-databasen er en sĂŠrlig database, der fortĂŠller MongoDB at godkende denne bruger mod et Kerberos-system i stedet for dets eget interne system.
use $external db.createUser( { user: "user1@example.NET", roles: [ { role: "read", db: "Marketing" } ] } )
Trin 5) Begynd at bruge kommandoen
Start mongod.exe med Kerberos-understĂžttelse ved at bruge fĂžlgende kommando:
mongod.exe --auth --setParameter authenticationMechanisms=GSSAPI
Og sÄ kan du nu oprette forbindelse til Kerberos-brugeren og Kerberos-godkendelse til databasen.

