MongoDB Biztonság, felügyelet és biztonsági mentés (Mongodump)
Az egyik kulcsfogalom a MongoDB az adatbázisok kezelése. Az olyan fontos szempontok, mint a biztonság, a biztonsági mentés, az adatbázisokhoz való hozzáférés, mind fontos fogalmak az adatbázis-adminisztráció során.
MongoDB Biztonsági áttekintés
MongoDB képes adatbázisok biztonsági mechanizmusait meghatározni. Alapértelmezés szerint nem akarjuk, hogy mindenki nyílt hozzáféréssel rendelkezzen az összes adatbázishoz MongoDB, ezért az a követelmény, hogy legyen valamilyen biztonsági mechanizmus MongoDB fontos.
Az alábbiakban bemutatjuk a legjobb gyakorlatokat az adatbázisok biztonságának megvalósításához
- Hozzáférés-vezérlés engedélyezése – Felhasználók létrehozása, hogy minden alkalmazás és felhasználó valamilyen hitelesítési mechanizmust kényszerítsen ki az adatbázisokhoz való hozzáféréskor. MongoDB.
- Szerep alapú hozzáférés-vezérlés konfigurálása – Néha előfordulhat, hogy az engedélyek logikai csoportosítására van szükség, amely szerepkörökbe foglalható. A felhasználók ezután ezekhez a szerepkörökhöz rendelhetők.
- Próbáld meg konfigurálni MongoDB valamilyen titkosítási protokoll, például TLS vagy SSL használatához. Ezek a protokollok használhatók az ügyfél és a mongo DB környezet között folyó forgalom titkosítására.
- Auditálás konfigurálása – A rendszergazdáknak általában tudniuk kell, hogy ki mit csinál, ami segít a későbbi problémák elemzésében. A legjobb módszer az auditálás engedélyezése MongoDB.
- Futtassa a MongDB kiszolgálópéldányt egy külön felhasználói azonosítóval, amely hozzáfér a kiszolgálókörnyezet szükséges erőforrásaihoz.
Mongodb biztonsági mentési eljárások – mongodump
Amikor MongDB-vel dolgozik, fontos, hogy mindig biztosítsa a biztonsági mentési eljárást arra az esetre, ha az adatok benne vannak MongoDB bármilyen okból megsérül.
Az alábbiakban bemutatjuk a belülről elérhető biztonsági mentési mechanizmusokat MongoDB
- Biztonsági mentés a mögöttes adatfájlok másolásával – Valószínűleg ez a legegyszerűbb mechanizmus, csak át kell másolni azokat az adatfájlokat, amelyekre MongoDB lakik, és másolja át egy másik helyre, amely ideális esetben egy másik szerver lehet.
- Biztonsági másolat készítése az adatbázisról a mongodump segítségével – A mongodump eszköz adatokat olvas be a MongoDB adatbázist, és nagy pontosságú BSON fájlokat hoz létre. Amit figyelembe kell venni, hogy ha az adatkészlet nagy volumenű, akkor a mongodump nagyon erőforrásigényes lehet, ezért a probléma enyhítése érdekében a segédprogramot egy másodlagos szerveren kell futtatni.
- MongoDB Cloud Manager biztonsági mentés - MongoDB A Cloud Manager folyamatosan biztonsági másolatot készít MongoDB replikakészletek és szilánkos fürtök az oplog adatok kiolvasásával a MongoDB környezetben. MongoDB A Cloud Manager létrehozhat egy adott időpontban történő helyreállítást az oplog adatok tárolásával, így bármikor létrehozhat egy visszaállítást egy adott replikakészlethez vagy szilánkos fürthöz.
Mongodb megfigyelés
A monitorozás az egyik legkritikusabb adminisztratív tevékenység MongoDB. Ennek az az oka, hogy proaktívabb lehet, ha figyelemmel kíséri a környezetet az esetleges problémák miatt.
Az alábbiakban bemutatunk néhány példát a monitoring megvalósítására
- mongosztát megmondja, hányszor történnek ténylegesen a szerveren az adatbázis-műveletek, mint pl. beszúrás, lekérdezés, frissítés, törlés stb. Ez jó képet ad arról, hogy mekkora terhelést kezel a szerver, és jelzi, hogy szükség van-e további erőforrásokra a szerveren, vagy esetleg további szerverekre a terhelés elosztásához.
- mongotop nyomon követi és jelenti a jelenlegi olvasási és írási tevékenységét MongoDB példát, és ezeket a statisztikákat gyűjtésenként jelenti.
- MongoDB webes felületet biztosít, amely egy egyszerű weboldalon teszi közzé a diagnosztikai és megfigyelési információkat. A webes adminisztrációs segédprogram megnyitásához a helyi szerveren tallózhat az alábbi URL-címre
http://localhost:28017
- A serverStatus parancs vagy a rendszerhéjból származó db.serverStatus() áttekintést ad vissza az adatbázis állapotáról, a lemezhasználatról, a memóriahasználatról és a MongoDB környezet stb.
MongoDB Indexelés és teljesítmény szempontok
- Az indexek nagyon fontosak minden adatbázisban, és felhasználhatók a keresési lekérdezések hatékonyságának javítására MongoDB. Ha folyamatosan keres a dokumentumban, akkor jobb, ha indexeket ad hozzá a dokumentum mezőihez, amelyek a keresési feltételekben szerepelnek.
- Próbálja mindig korlátozni a visszaadott lekérdezési eredmények számát. Tegyük fel, hogy 2 mezőnév van egy dokumentumban, de csak 2 mezőt szeretne látni a dokumentumból. Ezután győződjön meg arról, hogy a lekérdezés csak a 2 szükséges mező megjelenítését célozza meg, és nem az összes mezőt.
- Ha bizonyos mezőértékeket szeretne megtekinteni, akkor csak ezeket a mezőket használja a lekérdezésben. Ne kérdezzen le a gyűjtemény összes mezőjére, ha nem kötelező.
konfigurálása MongoDB Kerberos hitelesítéssel
Míg az engedélyezés azt vizsgálja, hogy az ügyfél hozzáférést biztosítson a rendszerhez, a hitelesítés ellenőrzi, hogy az ügyfél milyen típusú hozzáféréssel rendelkezik MongoDB, miután engedélyezték őket a rendszerbe.
Különféle hitelesítési mechanizmusok léteznek, az alábbiakban csak néhányat mutatunk be közülük.
MongoDB Hitelesítés x.509 tanúsítványokkal
Használjon x.509-es tanúsítványokat a kliens hitelesítésére – A tanúsítvány alapvetően egy megbízható aláírás az ügyfél és a MongoDB Szerver.
Tehát ahelyett, hogy a szerverhez való csatlakozáshoz beírnánk a felhasználónevet és a jelszót, egy tanúsítványt ad át a kliens és a MongoDB Szerver. A kliensnek alapvetően lesz egy kliens tanúsítványa, amelyet átadnak a szervernek, hogy hitelesítse a kiszolgálón. Minden ügyféltanúsítvány egyetlennek felel meg MongoDB felhasználó. Tehát minden felhasználó a MongoDB saját tanúsítvánnyal kell rendelkeznie a hitelesítéshez MongoDB szervert.
A működés biztosításához a következő lépéseket kell követni;
- Érvényes tanúsítványt kell vásárolni egy érvényes harmadik féltől, és telepíteni kell a készülékre MongoDB Szerver.
- Az ügyféltanúsítványnak a következő tulajdonságokkal kell rendelkeznie (Egyetlen tanúsító hatóságnak (CA) kell kiadnia a tanúsítványokat mind a kliens, mind a szerver számára. Az ügyféltanúsítványoknak a következő mezőket kell tartalmazniuk – keyUsage és extendedKeyUsage).
- Minden felhasználónak, aki a MongDB szerverhez csatlakozik, külön tanúsítvánnyal kell rendelkeznie.
Konfigurálás MongoDB Kerberos hitelesítéssel
Az alábbiakban bemutatjuk a konfigurálás lépéseit MongoDB bekapcsolt Kerberos hitelesítéssel Windows:
Step 1) konfigurálása MongoDB bekapcsolt Kerberos hitelesítéssel Windows
A Kerberos egy hitelesítési mechanizmus, amelyet nagy kliens-szerver környezetekben használnak.
Ez egy nagyon biztonságos mechanizmus, amelyben a jelszó csak akkor engedélyezett, ha titkosítva van. Jól, MongoDB képes hitelesíteni egy meglévő Kerberos alapú rendszert.
Step 2) mongod.exe szerver folyamat
Ezután indítsa el a mongod.exe szerverfolyamatot.
Step 3) mongo.exe kliens feldolgozza és csatlakozzon
Ezután indítsa el a mongo.exe ügyfélfolyamatot, és csatlakozzon a MongoDB szervert.
Step 4) Felhasználó hozzáadása MongoDB
Ami alapvetően egy Kerberos főnév a $external adatbázishoz. A $external adatbázis egy speciális adatbázis, amely megmondja MongoDB hogy ezt a felhasználót Kerberos rendszerrel hitelesítse a saját belső rendszere helyett.
use $external db.createUser( { user: "user1@example.NET", roles:[ { role: "read" , db:"Marketing"} } ] }
Step 5) Kezdje el használni a parancsot
Indítsa el a mongod.exe-t Kerberos támogatással a következő paranccsal
mongod.exe –auth –setParameter authenticationMechanisms=GSSAPI
Ezután már csatlakozhat a Kerberos felhasználóval és Kerberos hitelesítéssel az adatbázishoz.
Összegzésként
- Nagyon fontos a biztonság megvalósítása az adatbázisokban, hogy az adatbázisban lévő adatok biztonságban legyenek.
- Az adatbázisban felhasználókat a createUser paranccsal hozhatunk létre. Konkrét szerepkörök rendelhetők a felhasználókhoz, hogy konkrét engedélyeket kapjanak magán az adatbázison.
- Adminisztrátorok minden adatbázishoz hozzáadhatók, csak bizonyos adatbázisokhoz. Ez a userAdmin vagy a userAdminAnyDatabase szerepkör megadásával érhető el.
- Mindig készítsen biztonsági másolatot MongoDB környezetbe, hogy bármilyen katasztrófa esetén az adatok könnyen visszaállíthatóak legyenek.
- Mindig figyelje meg MongoDB olyan környezetet, ahol proaktívabbak legyünk, és látjuk a problémákat, mielőtt azok előfordulnának.
- Különféle hitelesítési mechanizmusok léteznek az adatbázisok jobb biztonságának biztosítására. Az egyik példa a tanúsítványok használata a felhasználók hitelesítésére a felhasználónevek és jelszavak használata helyett.