MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

10 wskazówek, jak poprawić bezpieczeństwo MongoDB

MongoDB udostępnia szereg konstrukcji poprawiających bezpieczeństwo danych. Bezpieczeństwo Twoich danych w MongoDB jest najważniejsze – dlatego ważne jest, aby wykorzystać te konstrukcje, aby zmniejszyć powierzchnię. Oto 10 wskazówek, których możesz użyć, aby poprawić bezpieczeństwo swoich serwerów MongoDB lokalnie i w chmurze.

  1. Włącz uwierzytelnianie

    Nawet jeśli wdrożyłeś swoje serwery MongoDB w zaufanej sieci, włączenie uwierzytelniania jest dobrą praktyką w zakresie bezpieczeństwa. Zapewnia „dogłębną obronę”, jeśli Twoja sieć zostanie naruszona. Edytuj plik konfiguracyjny MongoDB, aby włączyć uwierzytelnianie:

    auth = true
    
  2. Nie udostępniaj swojej produkcyjnej bazy danych w Internecie

    Ograniczenie fizycznego dostępu do bazy danych jest ważnym aspektem bezpieczeństwa. Jeśli nie jest to konieczne, nie udostępniaj swojej produkcyjnej bazy danych w Internecie. W przypadku jakiegokolwiek włamania, jeśli atakujący nie może fizycznie połączyć się z serwerem MongoDB, Twoje dane są o wiele bezpieczniejsze. Jeśli korzystasz z AWS, możesz umieścić swoje bazy danych w podsieci wirtualnej chmury prywatnej (VPC). Przeczytaj wpis na blogu Wdrażanie MongoDB w VPC, aby uzyskać więcej informacji.

  3. Użyj zapór sieciowych

    Użyj zapór, aby ograniczyć inne podmioty, które mogą łączyć się z serwerem MongoDB. Najlepszą praktyką jest zezwolenie tylko serwerom aplikacji na dostęp do bazy danych. Jeśli korzystasz z serwera AWS, użyj „Grup bezpieczeństwa”, aby ograniczyć dostęp. Jeśli jesteś hostowany u dostawcy, który nie obsługuje konstrukcji zapory, możesz łatwo skonfigurować go samodzielnie za pomocą „iptables”. Zapoznaj się z dokumentacją MongoDB, aby skonfigurować iptables dla swojego scenariusza.

  4. Użyj plików kluczy, aby skonfigurować zestaw replik

    Określ plik klucza współdzielonego, aby umożliwić komunikację między instancjami MongoDB w zestawie replik. Aby to włączyć, dodaj parametr keyfile do pliku konfiguracyjnego, jak opisano poniżej. Zawartość pliku musi być taka sama na wszystkich komputerach:

    keyFile = /srv/mongodb/keyfile
    
  5. Wyłącz interfejs stanu HTTP

    MongoDB domyślnie udostępnia interfejs http działający na porcie 28017, który udostępnia stronę stanu „główna”. Ten interfejs nie jest zalecany do użytku produkcyjnego i najlepiej jest go wyłączyć. Użyj ustawienia konfiguracyjnego „nohttpinterface”, aby wyłączyć interfejs http:

    nohttpinterface = true
    
  6. Wyłącz interfejs REST

    Interfejs MongoDB REST nie jest zalecany do produkcji. Nie obsługuje żadnego uwierzytelniania i jest domyślnie wyłączone. Jeśli włączyłeś ją za pomocą opcji konfiguracji „odpoczynek”, powinieneś ją wyłączyć dla systemów produkcyjnych.

    rest = false
    
  7. Skonfiguruj bind_ip

    Jeśli twój system ma wiele interfejsów sieciowych, możesz użyć opcji „bind_ip”, aby ograniczyć serwer MongoDB do nasłuchiwania tylko na odpowiednich interfejsach. Domyślnie MongoDB połączy się ze wszystkimi interfejsami:

    bind_ip = 10.10.0.25,10.10.0.26
    
  8. Włącz SSL

    Jeśli nie korzystasz z SSL, Twoje dane są przesyłane między klientem Mongo a serwerem Mongo w postaci niezaszyfrowanej i są podatne na podsłuchiwanie, manipulacje i ataki typu „człowiek w środku”. Jest to szczególnie ważne, jeśli łączysz się z serwerem MongoDB przez niezabezpieczone sieci, takie jak Internet.

  9. Autoryzacja oparta na rolach

    MongoDB obsługuje uwierzytelnianie oparte na rolach, aby zapewnić precyzyjną kontrolę nad działaniami, które może wykonać każdy użytkownik. Użyj konstrukcji opartych na rolach, aby ograniczyć dostęp, zamiast nadawać wszystkim użytkownikom uprawnienia administratora. Więcej informacji można znaleźć w dokumentacji ról.

  10. Korporacyjne MongoDB i Kerberos

    Enterprise MongoDB integruje się z Kerberos w celu uwierzytelniania. Więcej informacji można znaleźć w dokumentacji MongoDB. Systemy nazwy użytkownika/hasła są z natury niepewne – jeśli to możliwe, używaj uwierzytelniania opartego na krawężniku.

W ScaleGrid staramy się domyślnie wspierać konfiguracje zabezpieczeń zgodne z najlepszymi praktykami we wszystkich naszych wdrożeniach. Umożliwiamy Ci korzystanie z SSL, a także nie udostępnianie Twojej bazy danych w Internecie. Jeśli masz jakieś pytania, napisz do nas na adres [email protected].


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Geograficznie rozproszone zestawy replik MongoDB dla 100% czasu sprawności

  2. Grupa sterowników MongoDB .NET według zakresu czasu

  3. Wsparcie geoprzestrzenne w MongoDB

  4. Wiosenna paginacja danych mongo

  5. Instalowanie MongoDB na CentOS 8