2012-01-10 18 views
26

Szukam zaprojektować aplikację webową, która bezpiecznie przechowuje prywatne informacje za pomocą MongoDB. Chciałbym zaszyfrować całą bazę danych, ale wygląda na to, że nie jest ona obsługiwana. Jakie trasy mogę wykonać, aby zaszyfrować moją bazę danych?Szyfrowanie bazy danych MongoDB

+0

Możesz zaszyfrować dane, które do niego wstawiasz (co sprawia, że ​​zapytanie jest niechlujne) i/lub możesz zaszyfrować system plików, w którym przechowywana jest baza danych i/lub możesz zaszyfrować połączenie z gniazdem. Jaki jest model zagrożenia? – symcbean

+1

Chcę utworzyć osobisty organizer oparty na chmurze do zarządzania hasłami i innymi prywatnymi danymi. Chcę pójść o krok dalej, niż tylko szyfrować dane, które trafiają do bazy danych - nie chcę znać rodzaju danych przesyłanych przez użytkowników. Jestem skłonny do umieszczania bazy danych na zaszyfrowanym wolumenie, ale nadal pozostawia mi ryzyko bezpieczeństwa podczas montowania woluminu. – devnill

Odpowiedz

10

MongoDB 3.2 (Wydany w November 2015) oferuje zaszyfrowaną silnik przechowywania. Nie ma potrzeby korzystania z API innych firm w celu szyfrowania danych przed wstawieniem lub zaszyfrowaniem całego dysku. Możesz znaleźć więcej szczegółów here.

Działa z silnikiem pamięci masowej WiredTiger, który został uwzględniony jako alternatywa dla domyślnego mechanizmu magazynowania MMAPv1 od wersji 3.0. Jeśli twoja baza danych wciąż używa MMAPv1, przeczytaj this guide, aby uzyskać informacje o krokach konwertowania bazy danych z MMAPv1 na WiredTiger.

+18

Warto wspomnieć, że ta funkcja jest dostępna tylko w wersji MongoDB Enterprise. –

10

Świetne pytanie! W miarę wzrostu Big Data zabezpieczenie danych w stanie spoczynku jest ważniejsze niż kiedykolwiek wcześniej!

MongoDB nie obsługuje tego bezpośrednio, ale Gazzang „s Szyfrowanie & Key Management Platform został specjalnie dostosowany dla MongoDB (choć działa z innymi systemami baz danych NoSQL zbyt). Jest to komercyjne rozwiązanie zbudowane na bazie zaszyfrowanego systemu plików Open Source w Linuksie i wykonuje szyfrowanie na bazowym systemie plików w sposób maksymalizujący bezpieczeństwo przy minimalnym negatywnym wpływie na wydajność.

Dzięki dostosowywanym listom kontroli dostępu Twoje niezaszyfrowane dane MongoDB będą dostępne tylko dla wybranych użytkowników lub procesów. Sprawdź to Big Data Security whitepaper lub odwiedź stronę www.securingbigdata.com, aby uzyskać więcej informacji.

Pełny opis: Jestem zatrudniony przez Gazzang.

+0

Czy Twoje rozwiązanie jest odpowiednie dla osób indywidualnych? tj. nie rozwijając niczego do sprzedaży lub dystrybucji? Obecnie używam programu sqlcipher do szyfrowania moich osobistych plików sqls sqlite, z założeniem, że mogę bezpiecznie przechowywać zaszyfrowaną bazę danych w stylu Dropbox. Zasadniczo jest to "Ufam klientowi i procesowi serwera, więc nie mam problemu z przekazywaniem kluczy między nimi, ale nie z odczytaniem" modelu, więc nic nieszyfrowane nie dotyka nośnika. – Michael

+0

@benjamincarter pierwszy link dotyczący białej księgi nie jest już dostępny. –

1

Zalecam użycie LUKS do zaszyfrowania woluminu danych. Jest dość prosty w konfiguracji i zarządzaniu w porównaniu do szyfrowania opartego na systemie plików. Jest także przenośny w różnych wersjach systemu Linux, a także posiada elastyczność umożliwiającą zmianę hasła. Jeśli potrzebne jest rozwiązanie z pudełka Scalegrid.io encryption support zapewnia tę funkcję w kreatorze tworzenia klastrów MongoDB

Oświadczenie: Jestem założycielem Scalegrid.io

+0

czy testowałeś LUKS z Mongo? –

+0

Tak. LUKS działa całkiem nieźle z Mongo - czy miałeś z tym szczególny niepokój? – Dharshan

+0

Chciałem uzyskać świadomą opinię od kogoś, kto to zrobił, zanim spróbuję dalej. dziękuję –

Powiązane problemy