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

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

MongoDB Přehled zabezpečení

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

Níže jsou uvedeny osvědčené postupy při implementaci zabezpečení v databázích

  1. Povolit řízení přístupu – Vytvořte uživatele, aby všechny aplikace a uživatelé měli při přístupu k databázím na MongoDB.
  2. Konfigurace řízení přístupu založeného na rolích – Někdy může existovat logické seskupení oprávnění, která mohou být vyžadována a která mohou být sdružena do rolí. K těmto rolím pak mohou být přiřazeni uživatelé.
  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 prostředím mongo DB.
  4. Konfigurace auditování – Správci 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 instanci serveru MongDB se samostatným uživatelským jménem, ​​které má přístup k požadovaným prostředkům v prostředí serveru.

Zálohovací procedury Mongodb – mongodump

Při práci s MongDB je důležité vždy zajistit zálohovací postup pro případ, že jsou data uvnitř MongoDB se z jakéhokoli důvodu poškodí.

Níže jsou uvedeny mechanismy zálohování dostupné zevnitř MongoDB

  1. Zálohování zkopírováním podkladových datových souborů – Toto je pravděpodobně nejjednodušší mechanismus, vše, co je třeba udělat, je zkopírovat datové soubory, na kterých MongoDB sídlí a zkopírujte jej na jiné místo, kterým by v ideálním případě měl být jiný server.
  2. Zálohujte databázi pomocí mongodump – Nástroj mongodump čte data z a MongoDB databáze a vytváří vysoce věrné soubory BSON. Je třeba vzít v úvahu, že pokud je objem dat velký, může být mongodump velmi náročný na zdroje, takže ke 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 bod v čase obnovení uložením dat oplog, takže může kdykoli vytvořit obnovení pro konkrétní sadu replik nebo sdílený cluster.

Monitorování Mongodb

Monitoring je jednou z nejdůležitějších administrativních činností MongoDB. Je to proto, že můžete být proaktivnější tím, že budete v prostředí sledovat možné problémy, které by se mohly objevit.

Níže jsou uvedeny některé příklady implementace monitorování

  1. monostat vám řekne, kolikrát databázové operace, jako je vložení, dotaz, aktualizace, odstranění atd., skutečně na serveru proběhnou. To poskytne dobrou představu o tom, jakou zátěž server zvládá, a ukáže, zda potřebujete další zdroje na serveru nebo možná další servery pro rozložení zátěže.
  2. mongotop sleduje a hlásí aktuální aktivitu čtení a zápisu a MongoDB instanci a tyto statistiky hlásí pro každou kolekci.
  3. MongoDB poskytuje webové rozhraní, které poskytuje diagnostické a monitorovací informace na jednoduché webové stránce. Můžete přejít na níže uvedenou adresu URL na vašem místním serveru a otevřít nástroj pro správu webu http://localhost:28017
  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í atd.

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 MongoDB. Pokud v dokumentu neustále provádíte vyhledávání, je lepší přidat indexy do polí dokumentu, která se používají v kritériích vyhledávání.
  2. Pokuste se vždy omezit počet vrácených výsledků dotazu. Předpokládejme, že máte v dokumentu 2 názvy polí, ale chcete vidět pouze 2 pole z dokumentu. Pak se ujistěte, že váš dotaz cílí pouze na zobrazení 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á.

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

Zatímco autorizace se zaměřuje na zajištění přístupu klienta do systému, autentizace kontroluje, jaký typ přístupu má klient MongoDB, jakmile budou autorizováni do systému.

Existují různé mechanismy ověřování, níže je jen několik z nich.

MongoDB Autentizace pomocí x.509 certifikátů

Použití x.509 certifikátů k ověření klienta – Certifikát je v podstatě důvěryhodný podpis mezi klientem a klientem 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 zásadě klientský certifikát, který bude předán serveru k 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 svůj vlastní certifikát, aby se mohl autentizovat MongoDB serveru.

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

  1. Platný certifikát je třeba zakoupit od platné autority třetí strany a nainstalovat jej 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. Klientské certifikáty musí obsahovat následující pole – keyUsage a extendedKeyUsage.
  3. Každý uživatel, který se připojuje k serveru MongDB, musí mít 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) Konfigurace MongoDB se zapnutým ověřováním Kerberos Windows
Kerberos je ověřovací mechanismus používaný ve velkých prostředích klient-server.

Je to velmi bezpečný mechanismus, kde je heslo povoleno pouze v případě, že je zašifrováno. Studna, MongoDB má zařízení k ověření proti existujícímu systému založenému na 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 proces klienta mongo.exe a připojte se k MongoDB serveru.

Krok 4) Přidejte uživatele MongoDB
Což je v podstatě hlavní název Kerberos pro $external databázi. $external databáze je speciální databáze, která říká 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 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.

Shrnutí

  • Je velmi důležité implementovat zabezpečení v databázích, aby bylo zajištěno, že data v databázi budou v bezpečí.
  • Uživatele lze v databázi vytvořit pomocí příkazu createUser. Uživatelům lze přiřadit konkrétní role a udělit jim konkrétní oprávnění k samotné databázi.
  • Správci mohou být přidáni pro všechny databáze pouze pro konkrétní databáze. Toho je dosaženo přidělením role userAdmin nebo userAdminAnyDatabase.
  • Vždy zálohujte svůj MongoDB prostředí tak, aby v případě jakékoli katastrofy byla data snadno obnovitelná.
  • Vždy sledujte své MongoDB prostředí, abyste byli proaktivnější a viděli problémy dříve, než nastanou.
  • Existují různé ověřovací mechanismy, které poskytují lepší zabezpečení databází. Jedním z příkladů je použití certifikátů k ověřování uživatelů namísto používání uživatelských jmen a hesel.