MongoDB Biztonság, felügyelet és biztonsági mentés (Mongodump)

⚡ Okos összefoglaló

MongoDB A biztonság, a monitorozás és a biztonsági mentés az adatbázis-adminisztráció alapvető koncepciói, amelyek biztosítják az adatok biztonságát, elérhetőségét és helyreállíthatóságát. Ez az anyag a biztonsági legjobb gyakorlatokat, a mongodump biztonsági mentéseket, a monitorozó eszközöket, az indexelési tippeket, a hitelesítési mechanizmusokat, az x.509 tanúsítványokat és a konfigurálást tárgyalja. MongoDB Kerberos hitelesítéssel.

  • 🔒 Biztonság: Hozzáférés-vezérlés, szerepköralapú hozzáférés, TLS/SSL titkosítás és naplózás engedélyezése.
  • 💾 Biztonsági mentés: Adatfájlok másolása, mongodump használata BSON dumpokhoz, vagy Cloud Manager használata.
  • 📊 Monitoring: Használd a mongostat, a mongotop, a webes felület és a serverStatus függvényeket.
  • Indexelés: Adjon hozzá indexeket a keresett mezőkhöz, és korlátozza a visszaadott mezők számát.
  • 🪪 Hitelesítés: Használjon x.509 tanúsítványokat vagy Kerberost a biztonságos klienshozzáféréshez.

MongoDB Biztonság, felügyelet és biztonsági mentés

Az egyik kulcsfogalom a MongoDB az adatbázisok kezelése. Az olyan fontos szempontok, mint a biztonság, a biztonsági mentés é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 mechanizmusainak meghatározására. Alapértelmezés szerint nem szeretnénk, ha mindenkinek nyílt hozzáférése lenne minden adatbázishoz. MongoDB, ezért az a követelmény, hogy legyen valamilyen biztonsági mechanizmus MongoDB fontos.

Az alábbiakban a legjobb gyakorlatokat ismertetjük az adatbázisok biztonságának megvalósítása során:

  1. Hozzáférés-vezérlés engedélyezése – Hozzon létre felhasználókat úgy, hogy minden alkalmazásnak és felhasználónak valamilyen hitelesítési mechanizmussal kell rendelkeznie, amikor adatbázisokhoz fér hozzá a következő címen: MongoDB.
  2. Szerepköralapú hozzáférés-vezérlés konfigurálása – Néha lehet logikus indokping a szükséges engedélyek listáját, amelyek szerepkörökbe csoportosíthatók. A felhasználók ezután hozzárendelhetők ezekhez a szerepkörökhöz.
  3. Próbáld meg konfigurálni MongoDB valamilyen titkosítási protokollt, például TLS-t vagy SSL-t kell használni. Ezek a protokollok használhatók a kliens és a szerver között áramló forgalom titkosítására. MongoDB környezetben.
  4. Naplózás konfigurálása – Az adminisztrátoroknak á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 a MongoDB.
  5. Futtassa a MongoDB egy külön felhasználói azonosítóval rendelkező szerverpéldány, amely csak a szerverkörnyezet szükséges erőforrásaihoz fér hozzá.

MongoDB Biztonsági mentési eljárások – mongodump

Amikor dolgozik MongoDBfontos, hogy mindig legyen biztonsági mentési eljárás arra az esetre, ha a tárolóban lévő adatok elvesznének. MongoDB bármilyen okból megsérül. Az alábbiakban a belső biztonsági mentési mechanizmusok láthatók. MongoDB:

  1. Biztonsági mentés a mögöttes adatfájlok másolásával – Ez valószínűleg a legegyszerűbb mechanizmus. Csupán le kell másolni azokat az adatfájlokat, amelyeken a MongoDB található, és másolja őket egy másik helyre, ami ideális esetben egy másik szerver.
  2. 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. Figyelembe kell venni, hogy ha az adathalmaz nagy mennyiségű, akkor a mongodump nagyon erőforrás-igényes lehet, ezért a probléma enyhítése érdekében a segédprogramot egy másodlagos szerveren kell futtatni.
  3. 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 egy adott időponthoz igazított helyreállítást hozhat létre az oplog-adatok tárolásával, így bármikor létrehozhat visszaállítást egy adott replikakészlethez vagy szegmenses fürthöz.

MongoDB megfigyelés

A monitorozás az egyik legkritikusabb adminisztratív tevékenység MongoDBEz azért van, mert proaktívabb lehetsz, ha figyelemmel kíséred a környezetet a felmerülő lehetséges problémák észlelése érdekében. Az alábbiakban néhány példát láthatsz a monitorozás megvalósítására:

  1. mongosztát megmutatja, hogy hányszor történnek meg adatbázis-műveletek, például beszúrás, lekérdezés, frissítés és törlés a szerveren. 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.
  2. mongotop tracks és jelenti a jelenlegi olvasási és írási tevékenységet egy MongoDB példát, és ezeket a statisztikákat gyűjtésenként jelenti.
  3. MongoDB egy webes felületet biztosít, amely egy egyszerű weboldalon teszi elérhetővé a diagnosztikai és monitorozási információkat.
  4. 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, és egyebek.

MongoDB Indexelés és teljesítmény szempontok

  1. 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 MongoDBHa folyamatosan kereséseket végez a dokumentumában, akkor jobb, ha indexeket ad hozzá a dokumentum azon mezőihez, amelyeket a keresési feltételek használnak.
  2. Próbáld meg mindig korlátozni a visszaadott lekérdezési eredmények számát. Tegyük fel, hogy egy dokumentumban több mezőnév is van, de csak 2 mezőt szeretnél látni a dokumentumból. Ekkor győződj meg róla, hogy a lekérdezésed csak a szükséges 2 mező megjelenítésére törekszik, ne az összes mezőre.
  3. 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ő.

MongoDB Hitelesítési mechanizmusok

Míg az engedélyezés az ügyfél rendszerhez való hozzáférésének biztosítását vizsgálja, a hitelesítés azt ellenőrzi, hogy az ügyfél milyen típusú hozzáféréssel rendelkezik. MongoDB miután bejutottak a rendszerbe. Különböző hitelesítési mechanizmusok léteznek; az alábbiakban csak néhányat ismertetünk ezek közül.

MongoDB Hitelesítés x.509 tanúsítványokkal

Használjon x.509 tanúsítványokat a kliens hitelesítéséhez – a tanúsítvány alapvetően egy megbízható aláírás a kliens és a szerver között. 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 kliens alapvetően rendelkezik egy klienstanúsítvánnyal, amelyet átad a szervernek a szerveren történő hitelesítéshez. Minden klienstanúsítvány egyetlen MongoDB felhasználó. Tehát minden felhasználó a MongoDB saját tanúsítvánnyal kell rendelkezniük ahhoz, hogy hitelesíthessék magukat MongoDB szervert.

A működés biztosításához a következő lépéseket kell követni:

  1. Érvényes tanúsítványt kell vásárolni egy érvényes harmadik féltől származó hatóságtól, és telepíteni a MongoDB Szerver.
  2. A klienstanúsítványnak a következő tulajdonságokkal kell rendelkeznie: egyetlen hitelesítésszolgáltatónak (CA) kell kiállítania a tanúsítványokat mind a kliens, mind a szerver számára, és a klienstanúsítványoknak tartalmazniuk kell a keyUsage és az extendedKeyUsage mezőket.
  3. Minden felhasználó, aki csatlakozik a MongoDB A szervernek 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 Kerberos hitelesítéssel bekapcsolva Windows:

1. lépés) Konfigurálás 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. MongoDB képes hitelesíteni magát egy meglévő Kerberos-alapú rendszeren.

2. lépés) mongod.exe szerverfolyamat

Ezután indítsa el a mongod.exe kiszolgálófolyamatot.

3. lépés) a mongo.exe kliens folyamata és csatlakozás

Ezután indítsa el a mongo.exe kliensfolyamatot, és csatlakozzon a MongoDB szervert.

4. lépés: Adjon hozzá egy felhasználót MongoDB

Adjon hozzá egy felhasználót – ami alapvetően egy Kerberos rendszergazdanév – a $external adatbázishoz. A $external adatbázis egy speciális adatbázis, amely a következőt mondja el: MongoDB hogy ezt a felhasználót Kerberos rendszerrel hitelesítse a saját belső rendszere helyett.

konfigurálása MongoDB Kerberos hitelesítéssel

use $external
db.createUser(
  {
    user: "user1@example.NET",
    roles: [
      { role: "read", db: "Marketing" }
    ]
  }
)

5. lépés) Kezdje el használni a parancsot

Indítsa el a mongod.exe fájlt 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.

GYIK

Igen. A mesterséges intelligencia alapú monitorozó eszközök képesek megjelölni a szokatlan lekérdezési mintákat, a sikertelen bejelentkezéseket és a gyanús hozzáféréseket. MongoDBKiegészítik a beépített auditálást, bár a rendszergazdáknak továbbra is manuálisan kell ellenőrizniük a riasztásokat és érvényesíteniük a hozzáférés-vezérlést.

Igen. A mesterséges intelligencia által támogatott szkriptek és felhőeszközök képesek mongodump biztonsági mentések ütemezésére, integritás ellenőrzésére és visszaállítási pontok javaslatára. MongoDB Az Atlas automatizált, folyamatos biztonsági mentéseket is kínál, csökkentve az adatok védelmének manuális erőfeszítéseit.

A mongodump igény szerinti BSON pillanatképeket készít egy adatbázisról. MongoDB A Cloud Manager folyamatosan olvassa az oplogot, hogy lehetővé tegye a replikahalmazok és a szegmenses fürtök adott időpontban történő helyreállítását.

Használd a mongorestore eszközt, és irányítsd a dump könyvtárra. Például a mongorestore –db Marketing dump/Marketing parancs betölti a BSON fájlokat a megadott adatbázisba.

Foglald össze ezt a bejegyzést a következőképpen: