Sekcje

Przejdź na skróty do treści. | Przejdź do nawigacji


Baza wiedzy Publikacje Bezpieczeństwo baz danych

Bezpieczeństwo baz danych

Wstęp

Bazy danych często stanowią jeden z głównych elementów systemów IT – przechowują oraz  udostępniają informacje. Sama definicja bazy nie narzuca określonego sposobu organizacji danych, jednak obecnie najbardziej rozpoznawana na rynku jest baza relacyjna oraz związany z nią język SQL.  Implementacji „SQL-owych baz danych” są zapewne setki, choć zaledwie kilka z nich cieszy się szeroką popularnością. Takimi systemami są: Oracle Database, SQL Server, DB2, MySQL czy Postgresql. Przy okazji, warto wspomnieć, że istnieją również inne rozwiązania – alternatywne do wspomnianych powyżej - sposoby organizacji informacji,  jak choćby obiektowa baza danych (np. ZODB), czy baza danych XML (np. eXist). 

W poniższym tekście zajmiemy się tematyką ochrony baz danych – głównie w kontekście baz relacyjnych. Zajmiemy się takimi zagadnieniami jak:

  • ekspozycja bazy na poziomie sieci
  • poprawki bezpieczeństwa
  • użytkownicy z wykorzystaniem których działa baza danych
  • uprawnienia do plików bazodanowych – na poziomie systemu plików
  • ograniczenie funkcjonalności oferowanych przez bazę danych
  • logowanie (księgowanie) dostępu do bazy danych
  • szyfrowanie
  • bezpieczeństwo po stronie aplikacji korzystających z bazy danych
  • miejsce składowania danych w systemie plików
  • kopie zapasowe

Zanim przejdziemy do szczegółów zastanowimy się wcześniej nad pytaniem:

Dlaczego chronimy bazę danych?

Odpowiedź na to pytanie może wydać się prosta – aby realizować odpowiednie cele biznesowe, tj. aby system, który wykorzystuje bazę danych generował odpowiednie zyski dla organizacji.  Zilustrujmy to na następującym przykładzie.

Przykład: prywatna placówka medyczna posiada system umożliwiający rejestrację pacjentów on-line. W bazie danych przechowywane są również informacje o pacjencie oraz historii jego chorób.

Zyskiem z posiadania takiej bazy może być: wygoda pacjenta, ograniczenie dokumentacji papierowej oraz szybsze dodarcie do określonych informacji (oszczędność czasu pracowników kliniki). Ten cel biznesowy może być zagrożony np. przez:

  • czasowy brak dostępności bazy (pacjenci nie mogą się rejestrować, lekarze nie mają wglądu w historię choroby)
  • utratę poufności bazy (dane dostają się w niepowołane ręce; istnieje ryzyko np. złamania zapisów Ustawy o Ochronie Danych Osobowych)
  • nieuprawnioną zmianę informacji w bazie (może to spowodować chaos w działaniu placówki medycznej)

W powyższym przykładzie, odpowiednie zabezpieczenie tego typu bazy danych może zminimalizować powyższe zagrożenia, a tym samym pozytywnie wpłynąć na zysk kliniki. Jako rodzaj informacji wymagającej ochrony wskazaliśmy dane osobowe / dane medyczne. Jakie jeszcze inne dane mogą być traktowane jako wrażliwe i wymagające ochrony? Odpowiedź na to pytanie pozostawiamy Czytelnikowi, jednocześnie wskazując kilka możliwości:

  1. Dane o charakterze finansowym (np. salda kont bankowych, informacje płacowe, numery kart kredytowych)
  2. Hasła dostępowe do systemów (często użytkownicy posiadają takie same hasła dostępowe do wielu systemów – zatem uzyskanie informacji o hasłach z jednej bazy danych może prowadzić do uzyskania dostępu do wielu innych systemów)
  3. Informacje stanowiące o przewadze konkurencyjnej firmy (np. dane klientów czy dostawców)
  4. Wszystkie inne dane firmowe o charakterze poufnym

Niejako podsumowując dotychczas opisane kwestie, spójrzmy jak ramowo na następujące zagadnienie:

Planowanie prac związanych z bezpieczeństwem bazy danych

Planowanie to może wyglądać następująco:

  1. Inwentaryzacja baz danych oraz przechowywanych w nich informacji (np. baza opisana w przykładzie powyżej, przechowująca dane medyczne)
  2. Określenie wartości skatalogowanych baz danych (istotne dane będziemy objąć szczególnie wysoką ochroną).
  3. Określenie czynników mogących zagrozić poprawnemu funkcjonowaniu bazy (np. zewnętrzny atak z poziomu Internetu, awaria sprzętowa serwera, atak z sieci LAN, itd.) - wraz z prawdopodobieństwem wystąpienia (tzw. ryzykiem)
  4. Określenie odporności naszej bazy na wszelakie zagrożenia określone powyżej (tym w głównej mierze zajmiemy się w naszym artykule).
  5. Rekonfiguracja bazy danych, jeśli jej odporność na wskazane wcześniej zagrożenia jest niska.

Czytelnikowi może nasunąć się pytanie, ile czasu warto poświęcić na realizację całego powyższego procesu? Możemy odpowiedzieć – adekwatnie do wartości przechowywanych przez nas danych. Co to precyzyjnie oznacza, Czytelnik powinien odpowiedzieć we własnym zakresie, analizując swój kontekst. Zainteresowanych tego typu szacowaniami odsyłamy do tematyki analizy ryzyka, a sami przechodzimy do konkretnych działań, które można wykonać przy weryfikacji bezpieczeństwa bazy danych.

Czytaj dalej

 

--Michał Sajdak (michal.sajdak@securitum.pl)

Przydatne informacje? Polub nas na facebooku.

Nawigacja
 
Darmowy magazyn o ITsec

zine
Subskrybuj RSS:
RSS