MongoDB Zabezpečení, monitorování a zálohování (Mongodump)

⚡ Chytré shrnutí

MongoDB Zabezpečení, monitorování a zálohování jsou základní koncepty správy databází, které udržují data v bezpečí, dostupná a obnovitelná. Tento zdroj se zabývá osvědčenými postupy zabezpečení, zálohami Mongodump, nástroji pro monitorování, tipy pro indexování, mechanismy ověřování, certifikáty x.509 a konfigurací. MongoDB s ověřováním Kerberos.

  • 🔒 Zabezpečení Povolte řízení přístupu, přístup na základě rolí, šifrování TLS/SSL a auditování.
  • 💾 Záloha: Zkopírujte datové soubory, pro výpisy BSON použijte Mongodump nebo Cloud Manager.
  • 📊 Monitoring: Použijte mongostat, mongotop, webové rozhraní a serverStatus.
  • Indexování: Přidejte indexy k vyhledávaným polím a omezte počet vrácených polí.
  • 🪪 Ověření: Pro zabezpečený přístup klientů používejte certifikáty x.509 nebo Kerberos.

MongoDB Zabezpečení, monitorování a zálohování

Jeden z klíčových konceptů v MongoDB je správa databází. Důležité aspekty, jako je zabezpečení, zálohování a přístup k databázím, jsou důležité koncepty, pokud jde o správu databází.

MongoDB Přehled zabezpečení

MongoDB má schopnost definovat bezpečnostní mechanismy pro databáze. Ve výchozím nastavení by nikdo nechtěl, aby měl každý otevřený přístup ke každé databázi v MongoDB, tedy požadavek mít v sobě nějaký bezpečnostní mechanismus MongoDB je důležité.

Následují osvědčené postupy při implementaci zabezpečení v databázích:

  1. Povolit řízení přístupu – Vytvořte uživatele tak, aby všechny aplikace a uživatelé museli mít nějaký mechanismus ověřování při přístupu k databázím na MongoDB.
  2. Konfigurace řízení přístupu na základě rolí – Někdy může existovat logická skupinaping oprávnění, která mohou být vyžadována a která lze sdružit do rolí. Uživatelé pak mohou být těmto rolím přiřazeni.
  3. Zkuste nakonfigurovat MongoDB použít nějaký druh šifrovacího protokolu, jako je TLS nebo SSL. Tyto protokoly lze použít k šifrování provozu, který proudí mezi klientem a MongoDB prostředí.
  4. Konfigurace auditování – Administrátoři obvykle potřebují vědět, kdo co dělá, což pomáhá při pozdější analýze problémů. Nejlepším způsobem je povolit auditování v MongoDB.
  5. Spusťte MongoDB instance serveru se samostatným uživatelským ID, které má přístup pouze k požadovaným prostředkům v prostředí serveru.

MongoDB Zálohovací procedury – mongodump

Při práci s MongoDBje důležité vždy zajistit zálohování pro případ, že by se data uvnitř MongoDB z jakéhokoli důvodu poškodí. Níže jsou uvedeny zálohovací mechanismy dostupné v rámci MongoDB:

  1. Zálohování zkopírováním podkladových datových souborů – Toto je pravděpodobně nejjednodušší mechanismus. Stačí jen zkopírovat datové soubory, na kterých MongoDB nachází a zkopírovat je na jiné místo, ideálně na jiný server.
  2. Zálohujte databázi pomocí mongodump – Nástroj mongodump čte data z a MongoDB databázi a vytváří vysoce věrné soubory BSON. Je třeba vzít v úvahu, že pokud je datová sada velká, může být Mongodump velmi náročný na zdroje, takže pro zmírnění tohoto problému by měl být nástroj spuštěn na sekundárním serveru.
  3. MongoDB Zálohování správce cloudu - MongoDB Cloud Manager neustále zálohuje MongoDB sady replik a sdílené clustery čtením dat oplogu z MongoDB prostředí. MongoDB Cloud Manager může vytvořit obnovení k určitému bodu v čase uložením dat oplog, aby mohl kdykoli vytvořit obnovení pro konkrétní sadu replik nebo horizontálně dělený cluster.

MongoDB monitorování

Monitoring je jednou z nejdůležitějších administrativních činností MongoDBJe to proto, že můžete být proaktivnější sledováním prostředí a zjišťováním možných problémů, které by se mohly objevit. Níže uvádíme několik příkladů implementace monitorování:

  1. monostat vám řekne, kolikrát se na serveru skutečně vyskytnou databázové operace, jako je vkládání, dotazování, aktualizace a mazání. To dává dobrou představu o tom, kolik zátěže server zvládá, a naznačuje, zda potřebujete na serveru další zdroje, nebo případně další servery k rozložení zátěže.
  2. mongotop tracks a hlásí aktuální aktivitu čtení a zápisu MongoDB instanci a tyto statistiky hlásí pro každou kolekci.
  3. MongoDB poskytuje webové rozhraní, které zobrazuje diagnostické a monitorovací informace na jednoduché webové stránce.
  4. Příkaz serverStatus nebo db.serverStatus() ze shellu vrátí přehled stavu databáze s podrobnostmi o využití disku, využití paměti, navázaných připojeních k MongoDB prostředí a další.

MongoDB Indexování a úvahy o výkonu

  1. Indexy jsou velmi důležité v každé databázi a lze je použít ke zlepšení efektivity vyhledávacích dotazů v MongoDBPokud v dokumentu neustále provádíte vyhledávání, je lepší přidat indexy k polím dokumentu, která se používají ve vyhledávacích kritériích.
  2. Snažte se vždy omezit počet vrácených výsledků dotazu. Předpokládejme, že máte v dokumentu několik názvů polí, ale chcete zobrazit pouze 2 pole z dokumentu. Pak se ujistěte, že váš dotaz cílí na zobrazení pouze 2 požadovaných polí, a ne všech polí.
  3. Pokud chcete zobrazit určité hodnoty polí, použijte v dotazu pouze tato pole. Neptejte se na všechna pole v kolekci, pokud nejsou povinná.

MongoDB Autentizační mechanismy

Zatímco autorizace se zaměřuje na zajištění přístupu klienta k systému, autentizace kontroluje, jaký typ přístupu má klient v systému. MongoDB jakmile byli autorizováni do systému. Existují různé mechanismy ověřování; níže uvádíme jen některé z nich.

MongoDB Autentizace pomocí x.509 certifikátů

Používejte certifikáty x.509 k ověření klienta – certifikát je v podstatě důvěryhodný podpis mezi klientem a MongoDB Server.

Místo zadávání uživatelského jména a hesla pro připojení k serveru je tedy mezi klientem a serverem předán certifikát MongoDB Server. Klient bude mít v podstatě klientský certifikát, který bude předán serveru pro ověření na serveru. Každý klientský certifikát odpovídá jednomu MongoDB uživatel. Takže každý uživatel z MongoDB musí mít vlastní certifikát, aby mohl být ověřen MongoDB serveru.

Aby to fungovalo, je třeba dodržet následující kroky:

  1. Platný certifikát musí být zakoupen od platné autority třetí strany a nainstalován na MongoDB Server.
  2. Klientský certifikát musí mít následující vlastnosti: certifikáty pro klienta i server musí vydávat jedna certifikační autorita (CA) a klientské certifikáty musí obsahovat pole keyUsage a extendedKeyUsage.
  3. Každý uživatel, který se připojí k MongoDB Server potřebuje samostatný certifikát.

Jak konfigurovat MongoDB s ověřováním Kerberos

Níže jsou uvedeny kroky ke konfiguraci MongoDB se zapnutým ověřováním Kerberos Windows:

Krok 1) Nakonfigurujte MongoDB se zapnutým ověřováním Kerberos Windows

Kerberos je autentizační mechanismus používaný ve velkých klient-server prostředích. Jedná se o velmi bezpečný mechanismus, kde je heslo povoleno pouze v případě, že je zašifrované. MongoDB má možnost ověřování v existujícím systému založeném na protokolu Kerberos.

Krok 2) Proces serveru mongod.exe

Dále spusťte proces serveru mongod.exe.

Krok 3) Zpracujte klienta mongo.exe a připojte se

Dále spusťte klientský proces mongo.exe a připojte se k MongoDB serveru.

Krok 4) Přidejte uživatele MongoDB

Přidejte uživatele, což je v podstatě jméno principalu Kerberos, do databáze $external. Databáze $external je speciální databáze, která sděluje MongoDB k ověření tohoto uživatele proti systému Kerberos namísto jeho vlastního interního systému.

Konfigurace MongoDB s ověřováním Kerberos

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

Krok 5) Začněte používat příkaz

Spusťte soubor mongod.exe s podporou Kerberos pomocí následujícího příkazu:

mongod.exe --auth --setParameter authenticationMechanisms=GSSAPI

A pak se nyní můžete připojit s uživatelem Kerberos a ověřováním Kerberos k databázi.

Nejčastější dotazy

Ano. Monitorovací nástroje založené na umělé inteligenci dokáží označit neobvyklé vzorce dotazů, neúspěšná přihlášení a podezřelý přístup v MongoDBDoplňují vestavěné auditování, ačkoli správci by i nadále měli kontrolovat upozornění a ručně vynucovat řízení přístupu.

Ano. Skripty a cloudové nástroje s podporou umělé inteligence dokáží naplánovat zálohy Mongodumpu, ověřovat integritu a navrhovat body obnovení. MongoDB Atlas také nabízí automatizované, průběžné zálohování, což snižuje manuální úsilí spojené s ochranou dat.

Mongodump vytváří snímky databáze BSON na vyžádání. MongoDB Cloud Manager průběžně čte oplog, aby umožnil obnovu replikačních sad a horizontálně dělených clusterů v daném časovém bodě.

Použijte nástroj mongorestore a nasměrujte ho na adresář s výpisy. Například mongorestore –db Marketing dump/Marketing načte soubory BSON zpět do zadané databáze.

Shrňte tento příspěvek takto: