2012-02-13 12 views
34

Krótko mówiąc, nasza firma ostatnio miała wtargnięcie, w którym nasz DB MySQL został porzucony i skradziony. Pracownicy są teraz bardzo zdenerwowani i oprócz zwiększenia innych środków bezpieczeństwa, zamierzają szyfrować wszystkie informacje o kliencie (adres e-mail, adres domowy, nazwiska i tym podobne) w bazie danych.Najlepszy sposób na szyfrowanie informacji o klientach w bazie danych MySQL DB mojej firmy?

Nie jestem pewien, od czego zacząć. Uruchomimy aplikację PHP. Oczywiście, spowoduje to dodatkowe obciążenie, które chcielibyśmy zminimalizować. Innym problemem będzie trudność w zmianie kodu wszędzie tam, gdzie używane są nowe zaszyfrowane pola.

To uderza mnie jako niepotrzebne środki ostrożności, ale zarządzanie wydaje się być stanowcze.

Jaki algorytm/metoda szyfrowania byłaby najlepsza w tym przypadku użycia?

+8

Wzmocnij bezpieczeństwo swojego serwera. Poświęć czas tam. Szyfrowanie wszystkich danych wydaje się naprawdę ekstremalne. Odpychaj, kombinezony nie wiedzą wszystkiego. –

+4

Twój dostęp do bazy danych powinien być odizolowany do punktu, w którym zmiana niskiego poziomu w modelach jest wszystkim, co jest wymagane do zaszyfrowania danych. Dosłownie nic poza twoją warstwą danych/modelami/obiektami biznesowymi nie powinno się zmieniać, a nawet mieć świadomość, że dane są zaszyfrowane. Jeśli musisz zmienić sposób, w jaki model jest używany, ponieważ jego pamięć wewnętrzna ulega zmianie, twoja aplikacja jest bardzo słabo napisana. – meagar

+0

Może przynieść ci więcej informacji na temat tego, jak dane zostały skradzione w pierwszej kolejności. Czy to jest problem z kodowaniem? Czy jest to problem z konfiguracją serwera? Czułe dane najlepiej umieścić na oddzielnym serwerze, do którego dostęp mają tylko maszyny z białym wykazem używające szyfrowania. Szukaj soli i haszyszu. – earthmeLon

Odpowiedz

49

Istnieje bardzo dobry zapis, jak to zrobić z MySQL tutaj: http://thinkdiff.net/mysql/encrypt-mysql-data-using-aes-techniques/.

Będziesz chciał użyć AES z kluczami 256-bitowymi, ponieważ jest to obecnie najlepsza praktyka/standard. 256-bitowe klucze AES są uważane za wystarczające, aby zabezpieczyć się przed nowoczesną mocą obliczeniową.

To dobry pomysł, niezależnie od tego, czy uważasz, że to przesada czy nie, do zaszyfrowania bazy danych. Nawet jeśli dane nie są szczególnie wrażliwe, utrata dokumentacji klienta może być co najmniej kłopotliwa dla Twojej firmy i może negatywnie wpłynąć na zaufanie klientów i skłonność ludzi do przekazywania ich danych w przyszłości. Szyfrowanie pełnej zawartości bazy danych może nie być w tej chwili standardem branżowym, ale trendy idą w tym kierunku i nie zaszkodzi ci to przyjąć lepszej pozycji bezpieczeństwa. Jeśli nic więcej, pomyśl o tym, jako o kolejnym wpisie w swojej implementacji Defence-In-Depth.

Polecam również sprawdzić ten artykuł - http://www.symantec.com/connect/articles/secure-mysql-database-design - ponieważ zapewnia on dobry, dość podstawowy wstęp do bezpiecznego projektowania systemu baz danych, który powinien dać ci wskazówki na temat innych rzeczy, aby sprawdzić, czy wniosek jest rozpatrzony.

+5

Ta metoda nie jest bardzo bezpieczna, ponieważ tryb szyfrowania zostanie przeniesiony z powrotem do trybu ** unsafed ECB ** z tego rodzaju podejściem. – ASBai

Powiązane problemy