MongoDB Sigurnost, nadzor i sigurnosna kopija (Mongodump)
Jedan od ključnih pojmova u MongoDB je upravljanje bazama podataka. Važni aspekti poput sigurnosti, sigurnosne kopije, pristupa bazama podataka važni su koncepti kada je riječ o administraciji baze podataka.
MongoDB Pregled sigurnosti
MongoDB ima mogućnost definiranja sigurnosnih mehanizama za baze podataka. Prema zadanim postavkama ne želimo da svatko ima otvoren pristup svakoj bazi podataka 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 provjere autentičnosti kada pristupaju bazama podataka na MongoDB.
- Konfigurirajte kontrolu pristupa temeljenu na ulogama – ponekad može postojati logično grupiranje dozvola koje mogu biti potrebne, a koje se mogu podijeliti u uloge. Korisnicima se tada mogu dodijeliti te uloge.
- Pokušajte konfigurirati MongoDB koristiti neku vrstu protokola šifriranja kao što je TLS ili SSL. Ovi se protokoli mogu koristiti za šifriranje prometa koji teče između klijenta i mongo DB okruženja.
- Konfigurirajte reviziju – Administratori obično moraju znati tko što radi, što pomaže u kasnijoj analizi problema. Najbolji način je omogućiti reviziju MongoDB.
- Pokrenite instancu poslužitelja MongDB s zasebnim ID-om korisnika koji ima pristup potrebnim resursima u okruženju poslužitelja.
Mongodb procedure sigurnosne kopije – mongodump
Kada radite s MongDB-om, važno je uvijek osigurati da postoji procedura sigurnosne kopije u slučaju da podaci unutar MongoDB bude oštećen iz bilo kojeg razloga.
Ispod su mehanizmi sigurnosne kopije dostupni iznutra MongoDB
- Sigurnosno kopiranje kopiranjem temeljnih podatkovnih datoteka – Ovo je vjerojatno najlakši mehanizam, sve što treba učiniti je kopirati podatkovne datoteke na koje MongoDB nalazi i kopirajte ga na drugu lokaciju koja bi idealno trebala biti drugi poslužitelj.
- Izradite sigurnosnu kopiju baze podataka pomoću mongodumpa – Alat mongodump čita podatke iz a MongoDB bazu podataka i stvara BSON datoteke visoke vjernosti. Ono što treba uzeti u obzir je da ako je skup podataka velik u obujmu, onda mongodump može biti vrlo zahtjevan za resurse, tako da bi se ublažio ovaj problem, uslužni program bi trebao biti pokrenut 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 vraćanje u bilo kojem trenutku za određeni skup replika ili podijeljeni klaster.
Mongodb praćenje
Praćenje je jedna od najkritičnijih administrativnih aktivnosti u MongoDB. To je zato što možete biti proaktivniji nadgledanjem okoline radi mogućih problema koji bi se mogli pojaviti.
U nastavku su neki od primjera za provedbu praćenja
- mongostat će vam reći koliko se puta operacije baze podataka kao što su umetanje, upit, ažuriranje, brisanje, itd. stvarno događaju na poslužitelju. To će vam dati dobru predodžbu o tome koliko opterećenja poslužitelj podnosi i pokazat će vam trebaju li vam dodatni resursi na poslužitelju ili možda dodatni poslužitelji za raspodjelu opterećenja.
- mongotop prati i izvješćuje o trenutnoj aktivnosti čitanja i pisanja a MongoDB primjerak, i izvješćuje te statistike za svaku zbirku.
- MongoDB pruža web sučelje koje izlaže dijagnostičke i nadzorne podatke na jednostavnoj web stranici. Možete pregledavati donji url na vašem lokalnom poslužitelju da biste otvorili uslužni program web administracije
http://localhost:28017
- 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š, itd.
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 MongoDB. Ako neprestano izvodite pretraživanja u svom dokumentu, bolje je dodati indekse na polja dokumenta koja se koriste u kriterijima pretraživanja.
- Pokušajte uvijek ograničiti broj vraćenih rezultata upita. Pretpostavimo da imate 2 naziva polja u dokumentu, ali želite vidjeti samo 2 polja iz dokumenta. Zatim provjerite cilja li vaš upit samo na prikaz 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.
konfigurirati MongoDB s Kerberos autentifikacijom
Dok autorizacija gleda na osiguravanje pristupa klijenta sustavu, autentifikacija provjerava koju vrstu pristupa klijent ima u MongoDB, nakon što su autorizirani za ulazak u sustav.
Postoje različiti mehanizmi provjere autentičnosti, u nastavku su 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 certifikat klijenta koji će biti proslijeđen poslužitelju radi provjere autentičnosti na poslužitelju. Svaki certifikat klijenta odgovara pojedinačnom MongoDB korisnik. Dakle, svaki korisnik iz MongoDB mora imati vlastiti certifikat kako bi se ovjerio MongoDB poslužitelj.
Kako biste osigurali da ovo radi, morate slijediti sljedeće korake;
- Valjani certifikat mora se kupiti od valjanog tijela treće strane i instalirati ga na MongoDB Poslužitelja.
- Certifikat klijenta mora imati sljedeća svojstva (jedno tijelo za izdavanje certifikata (CA) mora izdati certifikate i za klijenta i za poslužitelj. Certifikati klijenta moraju sadržavati sljedeća polja – keyUsage i extendedKeyUsage.
- Svaki korisnik koji se spaja na MongDB poslužitelj mora imati poseban certifikat.
Kako konfigurirati MongoDB s Kerberos autentifikacijom
U nastavku su navedeni koraci za konfiguriranje MongoDB s uključenom Kerberos autentifikacijom Windows:
Korak 1) konfigurirati MongoDB s uključenom Kerberos autentifikacijom Windows
Kerberos je mehanizam provjere autentičnosti 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. Dobro, MongoDB ima mogućnost autentifikacije prema postojećem sustavu temeljenom na Kerberosu.
Korak 2) poslužiteljski proces mongod.exe
Zatim pokrenite proces poslužitelja mongod.exe.
Korak 3) mongo.exe klijent proces i povezivanje
Zatim pokrenite klijentski proces mongo.exe i povežite se na MongoDB poslužitelj.
Korak 4) Dodajte korisnika MongoDB
Što je u osnovi Kerberos glavno ime $eksterne baze podataka. $eksterna 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 Kerberos podrškom 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.
rezime
- Vrlo je važno implementirati sigurnost u baze podataka kako bi se osiguralo da podaci u bazi podataka budu sigurni.
- Korisnici se mogu kreirati u bazi podataka pomoću naredbe createUser. Određene uloge mogu se dodijeliti korisnicima kako bi im se dala određena dopuštenja za samu bazu podataka.
- Administratori se mogu dodati za sve baze podataka samo za određene baze podataka. To se postiže davanjem uloge userAdmin ili userAdminAnyDatabase.
- Uvijek napravite sigurnosnu kopiju svog MongoDB okruženje kako bi se u tom slučaju u slučaju bilo kakve katastrofe podaci lako povratili.
- Uvijek nadzirite svoje MongoDB okruženje za proaktivnost i uočavanje problema prije nego što se pojave.
- Postoje različiti mehanizmi provjere autentičnosti za bolju sigurnost u bazama podataka. Jedan primjer je korištenje certifikata za provjeru autentičnosti korisnika umjesto korištenja korisničkih imena i lozinki.