Android

Bezpieczeństwo MongoDB: Zabezpiecz i zabezpiecz bazę danych MongoDB przed Ransomware

11. Базы данных. MongoDB. Построение запросов, оптимизация, индексирование | Технострим

11. Базы данных. MongoDB. Построение запросов, оптимизация, индексирование | Технострим

Spisu treści:

Anonim

Ransomware niedawno uderzyło w niezabezpieczone instalacje MongoDB i przetrzymało dane do okupu. Tutaj zobaczymy, co jest MongoDB i zobaczmy kilka kroków, które możesz wykonać, aby zabezpieczyć i chronić bazę danych MongoDB. Na początek krótkie wprowadzenie na temat MongoDB.

Co to jest MongoDB

MongoDB to baza danych o otwartym kodzie źródłowym, która przechowuje dane za pomocą elastycznego modelu danych dokumentu. MongoDB różni się od tradycyjnych baz danych tworzonych przy użyciu tabel i wierszy, natomiast MongoDB używa architektury zbiorów i dokumentów.

Zgodnie z dynamicznym projektem schematu, MongoDB pozwala dokumentom w kolekcji mieć różne pola i struktury. Baza danych używa formatu przechowywania dokumentów i wymiany danych o nazwie BSON, który zapewnia binarną reprezentację dokumentów podobnych do JSON. To sprawia, że ​​integracja danych dla niektórych typów aplikacji jest szybsza i łatwiejsza.

Ransomware atakuje dane MongoDB

Niedawno Victor Gevers, badacz bezpieczeństwa, napisał na Twitterze, że istnieje szereg ataków Ransomware na źle zabezpieczone instalacje MongoDB. Ataki rozpoczęły się w grudniu zeszłego roku w Boże Narodzenie 2016 r. I od tego czasu zainfekowały tysiące serwerów MongoDB.

Początkowo Victor odkrył 200 instalacji MongoDB, które zostały zaatakowane i przetrzymywane w celu uzyskania okupu. Jednak wkrótce zainfekowane instalacje wzrosły do ​​2000 DB, jak podał inny analityk bezpieczeństwa, założyciel Shodan John Matherly, a pod koniec 1 st tygodnia 2017 roku, liczba skompromitowanych systemów wynosiła ponad 27 000.

Okup zażądał

Początkowe raporty sugerowały, że atakujący żądali 0,2 Bitcoinów (około 184 USD) jako okupu, który zapłacili 22 ofiary. Obecnie atakujący zwiększyli kwotę okupu i obecnie domagają się 1 Bitcoin (około 906 USD).

Od czasu ujawnienia, badacze bezpieczeństwa zidentyfikowali ponad 15 hakerów uczestniczących w przejmowaniu serwerów MongoDB. Wśród nich atakujący korzystający z poczty e-mail kraken0 ma więcej niż 15202 serwerów MongoDB i żąda 1 Bitcoin, aby zwrócić utracone dane.

Do tej pory porwano serwery MongoDB ponad 28 000, ponieważ więcej hakerów robi to samo - dostęp, kopiowanie i usuwanie źle skonfigurowanych baz danych dla Ransoma. Ponadto dołącza także Kraken, grupa, która wcześniej brała udział w dystrybucji Windows Ransomware.

W jaki sposób MongoDB Ransomware wkrada się w

Serwery MongoDB, które są dostępne przez Internet bez hasła, były ci, którzy są celem ataków hakerów. Dlatego też administratorzy serwerów, którzy zdecydowali się uruchomić swoje serwery bez hasła i wykorzystali domyślne nazwy użytkownika , zostali łatwo zauważeni przez hakerów.

Co gorsza, istnieją przypadki tego samego serwera ponownie zaatakowany przez różne grupy hakerów , które zastąpiły istniejące notatki o okupach własnymi, uniemożliwiając ofiarom dowiedzenie się, czy płacą oni nawet odpowiedniemu przestępcy, nie mówiąc już o tym, czy ich dane mogą zostać odzyskane. Dlatego nie ma pewności, czy jakiekolwiek skradzione dane zostaną zwrócone. Dlatego nawet jeśli zapłaciłeś okup, twoje dane wciąż mogą zniknąć.

Bezpieczeństwo MongoDB

Konieczne jest, aby administratorzy serwerów musieli przypisać silne hasło i nazwę użytkownika, aby uzyskać dostęp do bazy danych. Firmy korzystające z domyślnej instalacji MongoDB radzą również zaktualizować oprogramowanie , skonfigurować uwierzytelnianie i zablokować port 27017 , który jest najbardziej atakowany przez hakerów.

Kroki do chroń swoje dane MongoDB

  1. Wymusz kontrolę dostępu i uwierzytelnianie

Zacznij od Włączenie kontroli dostępu do swojego serwera i określenie mechanizmu uwierzytelniania. Uwierzytelnianie wymaga, aby wszyscy użytkownicy podawali prawidłowe referencje, zanim będą mogli połączyć się z serwerem.

Najnowsza wersja MongoDB 3.4 umożliwia skonfigurowanie uwierzytelniania w niezabezpieczonym systemie bez przestojów.

  1. Konfiguracja kontroli dostępu oparta na rolach

Zamiast zapewniać pełny dostęp do zestawu użytkowników, należy utworzyć role, które określić dokładny dostęp do zestawu potrzeb użytkowników. Postępuj zgodnie z zasadą najmniejszych przywilejów. Następnie utwórz użytkowników i przydziel im tylko te role, których potrzebują do wykonywania swoich operacji.

  1. Zaszyfruj komunikat

Zaszyfrowane dane są trudne do zinterpretowania i niewielu hakerów może je odszyfrować. Skonfiguruj MongoDB do korzystania z TLS / SSL dla wszystkich połączeń przychodzących i wychodzących. Użyj protokołu TLS / SSL do szyfrowania komunikacji między komponentami mongod i mongos klienta MongoDB, a także między wszystkimi aplikacjami i MongoDB.

Korzystając z MongoDB Enterprise 3.2, natywne szyfrowanie w pamięci wewnętrznej aparatu WiredTiger można skonfigurować do szyfrowania danych w pamięci masowej warstwa. Jeśli nie używasz szyfrowania WiredTiger w spoczynku, dane MongoDB powinny być zaszyfrowane na każdym hoście za pomocą systemu plików, urządzenia lub fizycznego szyfrowania.

  1. Ogranicz ekspozycję sieciową

Aby ograniczyć ekspozycję sieci, MongoDB działa w zaufanej sieci środowisko. Administratorzy powinni zezwalać tylko zaufanym klientom na dostęp do interfejsów sieciowych i portów, w których dostępne są instancje MongoDB.

  1. Twórz kopie zapasowe danych

MongoDB Cloud Manager i MongoDB Ops Manager zapewniają ciągłe kopie zapasowe z odzyskiwaniem punktu w czasie, a użytkownicy mogą włączać alerty w Cloud Managerze, aby wykryć, czy ich wdrożenie jest narażone na Internet

  1. Audit System Activity

Regularnie sprawdzane są systemy kontrolne, które zapewniają, że wiesz o jakichkolwiek nieregularnych zmianach w twojej bazie danych. Śledź dostęp do konfiguracji i danych bazy danych. MongoDB Enterprise zawiera funkcję kontroli systemu, która może rejestrować zdarzenia systemowe w instancji MongoDB.

  1. Uruchom MongoDB z dedykowanym użytkownikiem

Uruchom procesy MongoDB z dedykowanym kontem użytkownika systemu operacyjnego. Upewnij się, że konto ma uprawnienia dostępu do danych, ale nie ma niepotrzebnych uprawnień.

  1. Uruchom MongoDB z bezpiecznymi opcjami konfiguracji

MongoDB obsługuje wykonywanie kodu JavaScript dla niektórych operacji wykonywanych po stronie serwera: mapReduce, group i $ where. Jeśli nie używasz tych operacji, wyłącz skrypty po stronie serwera, używając opcji -noscripting w wierszu poleceń.

Używaj tylko protokołu drutu MongoDB w wdrożeniach produkcyjnych. Włącz sprawdzanie danych wejściowych. MongoDB domyślnie umożliwia sprawdzanie danych wejściowych za pomocą ustawienia wireObjectCheck. Zapewnia to, że wszystkie dokumenty przechowywane przez instancję mongody są poprawne BSON.

  1. Zażądaj przewodnika technicznego dotyczącego zabezpieczeń (tam, gdzie ma to zastosowanie)

Podręcznik wdrażania zabezpieczeń technicznych (STIG) zawiera wytyczne bezpieczeństwa dotyczące wdrożeń w Departamencie Obrony Stanów Zjednoczonych.. MongoDB Inc. udostępnia STIG na żądanie w sytuacjach, gdy jest to wymagane. Możesz zażądać kopii, aby uzyskać więcej informacji.

  1. Rozważ zgodność ze standardami bezpieczeństwa

W przypadku aplikacji wymagających zgodności z HIPAA lub PCI-DSS, zapoznaj się z MongoDB Security Reference Architecture tutaj , aby dowiedzieć się więcej o tym, w jaki sposób może wykorzystać kluczowe funkcje bezpieczeństwa do budowy zgodnej infrastruktury aplikacji.

Jak sprawdzić, czy twoja instalacja MongoDB została zhakowana

  • Zweryfikuj swoje bazy danych i kolekcje. Hakerzy zwykle upuszczają bazy danych i kolekcje i zastępują je nowymi, żądając okupu za oryginał
  • Jeśli kontrola dostępu jest włączona, sprawdź dzienniki systemu, aby dowiedzieć się o nieautoryzowanych próbach dostępu lub podejrzanej aktywności. Poszukaj poleceń, które zrzuciły twoje dane, zmodyfikowanych użytkowników lub utworzyli rekord zapotrzebowania na okup.

Pamiętaj, że nie ma gwarancji, że twoje dane zostaną zwrócone nawet po zapłaceniu okupu. Dlatego po pierwszym ataku Twoim priorytetem powinno być zabezpieczenie klastra, aby zapobiec dalszemu nieuprawnionemu dostępowi.

Jeśli robisz kopie zapasowe, to w momencie przywracania najnowszej wersji możesz ocenić, jakie dane mogły się zmienić od tego czasu. najnowsza kopia zapasowa i czas ataku. Aby uzyskać więcej informacji, odwiedź stronę mongodb.com .