MongoDB Bezpieczeństwo, monitorowanie i tworzenie kopii zapasowych (Mongodump)
⚡ Inteligentne podsumowanie
MongoDB Bezpieczeństwo, monitorowanie i tworzenie kopii zapasowych to podstawowe koncepcje administrowania bazami danych, które zapewniają bezpieczeństwo, dostępność i możliwość odzyskiwania danych. Ten materiał obejmuje najlepsze praktyki bezpieczeństwa, kopie zapasowe Mongodump, narzędzia do monitorowania, wskazówki dotyczące indeksowania, mechanizmy uwierzytelniania, certyfikaty X.509 i konfigurację. MongoDB z uwierzytelnianiem Kerberos.

Jedno z kluczowych pojęć w MongoDB to zarządzanie bazami danych. Ważne aspekty, takie jak bezpieczeństwo, tworzenie kopii zapasowych i dostęp do baz danych, są istotnymi koncepcjami w kontekście administrowania bazami danych.
MongoDB Przegląd zabezpieczeń
MongoDB ma możliwość definiowania mechanizmów bezpieczeństwa dla baz danych. Domyślnie nie chcemy, aby każdy miał otwarty dostęp do każdej bazy danych w MongoDB, stąd wymóg posiadania pewnego rodzaju mechanizmu bezpieczeństwa MongoDB jest ważne.
Poniżej przedstawiono najlepsze praktyki wdrażania zabezpieczeń w bazach danych:
- Włącz kontrolę dostępu – Utwórz użytkowników, aby wszystkie aplikacje i użytkownicy musieli mieć pewien rodzaj mechanizmu uwierzytelniania podczas uzyskiwania dostępu do baz danych. MongoDB.
- Konfigurowanie kontroli dostępu opartej na rolach – Czasami może istnieć logiczna grupaping uprawnień, które mogą być wymagane i które można pogrupować w role. Następnie użytkownikom można przypisać te role.
- Spróbuj skonfigurować MongoDB użyć jakiegoś protokołu szyfrowania, takiego jak TLS lub SSL. Protokoły te mogą służyć do szyfrowania ruchu przepływającego między klientem a MongoDB środowisko.
- Konfiguruj audyt – Administratorzy zazwyczaj muszą wiedzieć, kto co robi, co pomaga w późniejszej analizie problemów. Najlepszym sposobem jest włączenie audytu w MongoDB.
- Uruchom MongoDB instancja serwera z osobnym identyfikatorem użytkownika, który ma dostęp wyłącznie do wymaganych zasobów w środowisku serwerowym.
MongoDB Procedury tworzenia kopii zapasowych – mongodump
Podczas pracy z MongoDBważne jest, aby zawsze zapewnić procedurę tworzenia kopii zapasowej na wypadek utraty danych w niej zawartych MongoDB ulega uszkodzeniu z dowolnego powodu. Poniżej przedstawiono mechanizmy tworzenia kopii zapasowych dostępne w ramach MongoDB:
- Tworzenie kopii zapasowych poprzez kopiowanie podstawowych plików danych – To prawdopodobnie najprostszy mechanizm. Wystarczy skopiować pliki danych, na których MongoDB znajduje się i kopiuje je do innej lokalizacji, która w idealnym przypadku powinna znajdować się na innym serwerze.
- Utwórz kopię zapasową bazy danych za pomocą mongodump – Narzędzie mongodump odczytuje dane z pliku MongoDB Baza danych i tworzy pliki BSON o wysokiej wierności. Należy pamiętać, że jeśli zbiór danych jest duży, Mongodump może być bardzo zasobochłonny, dlatego aby złagodzić ten problem, narzędzie powinno być uruchamiane na serwerze zapasowym.
- MongoDB Kopia zapasowa menedżera chmury - MongoDB Cloud Manager stale tworzy kopie zapasowe MongoDB zestawy replik i klastry podzielone poprzez odczyt danych oplog z MongoDB środowisko. MongoDB Cloud Manager może tworzyć odzyskiwanie danych z określonego punktu w czasie poprzez przechowywanie danych oplog, dzięki czemu możliwe jest utworzenie kopii zapasowej w dowolnym momencie dla określonego zestawu replik lub klastra partycjonowanego.
MongoDB Monitorowanie
Monitorowanie jest jedną z najważniejszych czynności administracyjnych w MongoDB. Dzieje się tak, ponieważ możesz działać bardziej proaktywnie, monitorując środowisko pod kątem potencjalnych problemów, które mogą się pojawić. Poniżej znajduje się kilka przykładów wdrożenia monitorowania:
- mongostat Powie Ci, ile razy na serwerze faktycznie występują operacje bazy danych, takie jak wstawianie, wyszukiwanie, aktualizacja i usuwanie. Daje to dobry obraz obciążenia serwera i wskazuje, czy potrzebne są dodatkowe zasoby na serwerze, czy może dodatkowe serwery do rozłożenia obciążenia.
- mongotop tracks i raportuje bieżącą aktywność odczytu i zapisu MongoDB instancję i raportuje te statystyki dla poszczególnych kolekcji.
- MongoDB zapewnia interfejs sieciowy, który udostępnia informacje diagnostyczne i monitorujące na prostej stronie internetowej.
- Polecenie serverStatus lub db.serverStatus() z powłoki zwraca przegląd stanu bazy danych, ze szczegółami dotyczącymi użycia dysku, użycia pamięci, nawiązanych połączeń z bazą danych. MongoDB środowisko i wiele innych.
MongoDB Indeksowanie i zagadnienia dotyczące wydajności
- Indeksy są bardzo ważne w każdej bazie danych i można je wykorzystać do poprawy efektywności zapytań wyszukiwania MongoDBJeśli ciągle przeprowadzasz przeszukiwanie dokumentu, lepiej jest dodać indeksy do pól dokumentu, które są używane w kryteriach wyszukiwania.
- Staraj się zawsze ograniczać liczbę zwracanych wyników zapytania. Załóżmy, że masz kilka nazw pól w dokumencie, ale chcesz wyświetlić tylko dwa pola z dokumentu. Upewnij się, że zapytanie wyświetla tylko dwa potrzebne pola, a nie wszystkie.
- Jeśli chcesz wyświetlić określone wartości pól, użyj w zapytaniu tylko tych pól. Nie wykonuj zapytań o wszystkie pola w kolekcji, jeśli nie są one wymagane.
MongoDB Mechanizmy uwierzytelniania
Podczas gdy autoryzacja ma na celu zapewnienie klientowi dostępu do systemu, uwierzytelnianie sprawdza, jaki typ dostępu ma klient MongoDB po uzyskaniu autoryzacji w systemie. Istnieją różne mechanizmy uwierzytelniania; poniżej przedstawiamy tylko kilka z nich.
MongoDB Uwierzytelnianie przy użyciu certyfikatów x.509
Użyj certyfikatów x.509 do uwierzytelnienia klienta – certyfikat to w zasadzie zaufany podpis między klientem a MongoDB Serwer.
Zamiast więc wprowadzać nazwę użytkownika i hasło, aby połączyć się z serwerem, między klientem a serwerem przekazywany jest certyfikat MongoDB Serwer. Klient będzie zasadniczo posiadał certyfikat klienta, który zostanie przekazany serwerowi w celu uwierzytelnienia. Każdy certyfikat klienta odpowiada pojedynczemu MongoDB użytkownik. Zatem każdy użytkownik z MongoDB musi posiadać własny certyfikat, aby zostać uwierzytelnionym MongoDB serwer.
Aby mieć pewność, że to zadziała, należy wykonać następujące kroki:
- Należy zakupić ważny certyfikat od ważnego niezależnego organu certyfikującego i zainstalować go na komputerze. MongoDB Serwer.
- Certyfikat klienta musi mieć następujące właściwości: jeden Urząd Certyfikacji (CA) musi wydawać certyfikaty zarówno dla klienta, jak i serwera, a certyfikaty klienta muszą zawierać pola keyUsage i extendedKeyUsage.
- Każdy użytkownik, który łączy się z MongoDB Serwer musi mieć osobny certyfikat.
Jak skonfigurować MongoDB z uwierzytelnianiem Kerberos
Poniżej znajdują się kroki konfiguracji MongoDB z włączonym uwierzytelnianiem Kerberos Windows:
Krok 1) Skonfiguruj MongoDB z włączonym uwierzytelnianiem Kerberos Windows
Kerberos to mechanizm uwierzytelniania używany w dużych środowiskach klient-serwer. Jest to bardzo bezpieczny mechanizm, w którym hasło jest dozwolone tylko wtedy, gdy jest zaszyfrowane. MongoDB posiada funkcję uwierzytelniania w istniejącym systemie opartym na protokole Kerberos.
Krok 2) Proces serwera mongod.exe
Następnie uruchom proces serwera mongod.exe.
Krok 3) Przetwórz klienta mongo.exe i połącz się
Następnie uruchom proces klienta mongo.exe i połącz się z MongoDB serwer.
Krok 4) Dodaj użytkownika MongoDB
Dodaj użytkownika, który jest w zasadzie nazwą użytkownika Kerberos, do bazy danych $external. Baza danych $external to specjalna baza danych, która informuje MongoDB do uwierzytelnienia tego użytkownika w systemie Kerberos zamiast we własnym systemie wewnętrznym.
use $external db.createUser( { user: "user1@example.NET", roles: [ { role: "read", db: "Marketing" } ] } )
Krok 5) Zacznij używać polecenia
Uruchom mongod.exe z obsługą Kerberos, używając następującego polecenia:
mongod.exe --auth --setParameter authenticationMechanisms=GSSAPI
Następnie możesz teraz połączyć się z użytkownikiem Kerberos i uwierzytelnić Kerberos do bazy danych.

