MongoDB Sigurnost, nadzor i sigurnosna kopija (Mongodump)
⚡ Pametni sažetak
MongoDB Sigurnost, nadzor i sigurnosna kopija osnovni su koncepti administracije baza podataka koji čuvaju podatke sigurnima, dostupnima i mogućnošću oporavka. Ovaj resurs obuhvaća najbolje sigurnosne prakse, Mongodump sigurnosne kopije, alate za nadzor, savjete za indeksiranje, mehanizme autentifikacije, x.509 certifikate i konfiguriranje. MongoDB s Kerberos autentifikacijom.

Jedan od ključnih pojmova u MongoDB je upravljanje bazama podataka. Važni aspekti poput sigurnosti, sigurnosne kopije i pristupa bazama podataka važni su koncepti kada je u pitanju administracija baza podataka.
MongoDB Pregled sigurnosti
MongoDB ima mogućnost definiranja sigurnosnih mehanizama za baze podataka. Prema zadanim postavkama, ne bi se htjelo da svi imaju otvoreni pristup svakoj bazi podataka u MongoDB, otuda i zahtjev za postojanjem neke vrste sigurnosnog mehanizma MongoDB važno je.
Slijede najbolje prakse pri implementaciji sigurnosti u bazama podataka:
- Omogući kontrolu pristupa – Stvorite korisnike tako da sve aplikacije i korisnici moraju imati neku vrstu mehanizma autentifikacije prilikom pristupa bazama podataka na MongoDB.
- Konfiguriranje kontrole pristupa temeljene na ulogama – Ponekad može postojati logična grupaping dopuštenja koja mogu biti potrebna, a koja se mogu grupirati u uloge. Korisnici se zatim mogu dodijeliti tim ulogama.
- Pokušajte konfigurirati MongoDB koristiti neku vrstu protokola za šifriranje kao što su TLS ili SSL. Ovi protokoli mogu se koristiti za šifriranje prometa koji teče između klijenta i MongoDB okoliš.
- Konfiguriraj reviziju – Administratori obično trebaju znati tko što radi, što pomaže u kasnijoj analizi problema. Najbolji način je omogućiti reviziju u MongoDB.
- Pokreni MongoDB instanca poslužitelja sa zasebnim korisničkim ID-om koji ima pristup samo potrebnim resursima na poslužiteljskom okruženju.
MongoDB Procedure sigurnosnog kopiranja – mongodump
Pri radu s MongoDB, važno je uvijek osigurati postupak izrade sigurnosnih kopija u slučaju da se podaci unutar MongoDB ošteti se iz bilo kojeg razloga. U nastavku su navedeni mehanizmi sigurnosnog kopiranja dostupni unutar MongoDB:
- Sigurnosno kopiranje kopiranjem temeljnih podatkovnih datoteka – Ovo je vjerojatno najjednostavniji mehanizam. Sve što treba učiniti je kopirati podatkovne datoteke na kojima MongoDB nalazi i kopirajte ih na drugu lokaciju, što bi idealno trebao biti drugi poslužitelj.
- Izradite sigurnosnu kopiju baze podataka pomoću mongodumpa – Alat mongodump čita podatke iz a MongoDB bazu podataka i stvara visokokvalitetne BSON datoteke. Ono što treba uzeti u obzir jest da ako je skup podataka velik, Mongodump može biti vrlo zahtjevan za resurse, pa bi se za ublažavanje ovog problema uslužni program trebao pokretati na sekundarnom poslužitelju.
- MongoDB Sigurnosna kopija Cloud Managera - MongoDB Cloud Manager neprestano izrađuje sigurnosne kopije MongoDB replika skupova i razdijeljenih klastera čitanjem oplog podataka iz MongoDB okoliš. MongoDB Cloud Manager može stvoriti oporavak u određenom trenutku pohranjivanjem oplog podataka tako da može stvoriti oporavak u bilo kojem trenutku za određeni skup replika ili segmentirani klaster.
MongoDB Praćenje
Praćenje je jedna od najkritičnijih administrativnih aktivnosti u MongoDBTo je zato što možete biti proaktivniji praćenjem okruženja radi mogućih problema koji bi se mogli pojaviti. U nastavku su navedeni neki primjeri za provedbu praćenja:
- mongostat će vam reći koliko se puta operacije baze podataka poput umetanja, upita, ažuriranja i brisanja zapravo događaju na poslužitelju. To daje dobru predodžbu o tome koliko opterećenja poslužitelj rješava i naznačit će trebate li dodatne resurse na poslužitelju ili možda dodatne poslužitelje za raspodjelu opterećenja.
- mongotop tracks i izvještava o trenutnoj aktivnosti čitanja i pisanja MongoDB primjerak, i izvješćuje te statistike za svaku zbirku.
- MongoDB pruža web sučelje koje prikazuje dijagnostičke i nadzorne informacije na jednostavnoj web stranici.
- Naredba serverStatus ili db.serverStatus() iz ljuske vraća pregled statusa baze podataka, s pojedinostima o korištenju diska, korištenju memorije, uspostavljenim vezama s MongoDB okoliš i više.
MongoDB Razmatranja indeksiranja i izvedbe
- Indeksi su vrlo važni u svakoj bazi podataka i mogu se koristiti za poboljšanje učinkovitosti upita za pretraživanje MongoDBAko kontinuirano pretražujete dokument, bolje je dodati indekse poljima dokumenta koja se koriste u kriterijima pretraživanja.
- Pokušajte uvijek ograničiti broj vraćenih rezultata upita. Pretpostavimo da imate nekoliko naziva polja u dokumentu, ali želite vidjeti samo 2 polja iz dokumenta. Zatim provjerite cilja li vaš upit prikaz samo 2 polja koja su vam potrebna, a ne svih polja.
- Ako želite vidjeti određene vrijednosti polja, koristite samo ta polja u upitu. Nemojte tražiti sva polja u zbirci ako nisu potrebna.
MongoDB Mehanizmi provjere autentičnosti
Dok autorizacija osigurava pristup klijenta sustavu, autentifikacija provjerava koju vrstu pristupa klijent ima. MongoDB nakon što su autorizirani u sustavu. Postoje različiti mehanizmi autentifikacije; u nastavku su navedeni samo neki od njih.
MongoDB Autentifikacija pomoću x.509 certifikata
Koristite x.509 certifikate za autentifikaciju klijenta – certifikat je u osnovi pouzdani potpis između klijenta i MongoDB Poslužitelja.
Dakle, umjesto unosa korisničkog imena i lozinke za spajanje na poslužitelj, certifikat se prenosi između klijenta i MongoDB Poslužitelj. Klijent će u osnovi imati klijentski certifikat koji će se proslijediti poslužitelju radi autentifikacije na poslužitelju. Svaki klijentski certifikat odgovara jednom MongoDB korisnik. Dakle, svaki korisnik iz MongoDB mora imati vlastiti certifikat kako bi se autentificirao MongoDB poslužitelj.
Da bi se osiguralo da ovo funkcionira, potrebno je slijediti sljedeće korake:
- Važeći certifikat mora se kupiti od važećeg trećeg tijela i instalirati na MongoDB Poslužitelja.
- Klijentski certifikat mora imati sljedeća svojstva: jedan izdavatelj certifikata (CA) mora izdati certifikate i za klijenta i za poslužitelj, a klijentski certifikati moraju sadržavati polja keyUsage i extendedKeyUsage.
- Svaki korisnik koji se poveže na MongoDB Server mora imati zaseban certifikat.
Kako konfigurirati MongoDB s Kerberos autentifikacijom
U nastavku su navedeni koraci za konfiguriranje MongoDB s uključenom Kerberos autentifikacijom Windows:
Korak 1) Konfigurirajte MongoDB s uključenom Kerberos autentifikacijom Windows
Kerberos je mehanizam autentifikacije koji se koristi u velikim okruženjima klijent-poslužitelj. To je vrlo siguran mehanizam u kojem je lozinka dopuštena samo ako je šifrirana. MongoDB ima mogućnost autentifikacije na postojećem Kerberos sustavu.
Korak 2) proces poslužitelja mongod.exe
Zatim pokrenite proces poslužitelja mongod.exe.
Korak 3) proces mongo.exe klijenta i povezivanje
Zatim pokrenite klijentski proces mongo.exe i povežite se s MongoDB poslužitelj.
Korak 4) Dodajte korisnika MongoDB
Dodajte korisnika, što je u osnovi Kerberos glavno ime, u $external bazu podataka. $external baza podataka je posebna baza podataka koja govori MongoDB za autentifikaciju ovog korisnika prema sustavu Kerberos umjesto prema vlastitom internom sustavu.
use $external db.createUser( { user: "user1@example.NET", roles: [ { role: "read", db: "Marketing" } ] } )
Korak 5) Počnite koristiti naredbu
Pokrenite mongod.exe s podrškom za Kerberos pomoću sljedeće naredbe:
mongod.exe --auth --setParameter authenticationMechanisms=GSSAPI
Zatim se sada možete povezati s Kerberos korisnikom i Kerberos autentifikacijom na bazu podataka.

