Blog

Ochrona baz danych – cz.2

Ochrona baz danych przed licznymi zagrożeniami nie jest w dzisiejszych realiach rzeczą łatwą. Można jednak w dużej mierze ograniczyć ryzyko przedostania się istotnych informacji w niepowołane ręce poprzez odpowiednią, całościową weryfikację bezpieczeństwa baz danych.

 

AktualizacjaCzęstą przyczyną ataków na bazy danych jest brak jej aktualizacji. Zaniedbanie tego typu czynności może wiązać się z powstaniem luki krytycznej, która umożliwia cyberprzestępcom przejęcie kontroli nad danymi firmy z poziomu sieci. W internecie spotkać można się także z tzw. exploitami, czyli programami, których celem jest zautomatyzowane zaatakowanie systemu. Dlatego też tak istotne jest przeanalizowanie podstawowych kwestii, jakimi jest na przykład to, czy wykupiony został pakiet aktualizujący, czy działa on poprawnie i czy aktualizacje odbywają się automatycznie czy też ręcznie. Warto zwrócić także uwagę na źródła aktualizacji – mogą być zainfekowane, w wyniku czego może dojść do zdalnego przejęcia kontroli nad bazą.

 

Chcąc zadbać o bezpieczeństwo bazy danych, warto także rozważyć zakres uprawnień użytkownika systemu operacyjnego, z wykorzystaniem którego uruchomiona jest baza. Najkorzystniejszą sytuacją jest bowiem ta, w której przysługują mu jak najbardziej ograniczone uprawnienia administracyjne. Należy także przeanalizować funkcjonowanie użytkowników bazodanowych oraz zakres ich upoważnień. Zaleca się tutaj dostosowanie do tzw. zasady least privileges, która zakłada, że uprawnienia tego typu powinny być ograniczone do minimum umożliwiającego prawidłowe działanie całości systemu.

 

Ograniczenie uprawnieńKolejnym aspektem mającym na celu zwiększenie bezpieczeństwa baz danych jest ograniczenie funkcjonalności przez nią oferowanych. W tym przypadku również ma miejsce odwołanie do wyżej wspominanej zasady – należy zminimalizować instalowane oraz uruchamiane usługi i funkcjonalności bazodanowe, którymi mogą być na przykład pewne konkretne procedury czy grupy procedur i funkcji.

 

Bezpieczeństwo baz danych wzrasta także wraz z zastosowaniem odpowiedniej metody logowania, inaczej księgowania, operacji wykonywanych na bazie danych. W sytuacji, gdy w wyniku naruszenia bezpieczeństwa wystąpi potrzeba prześledzenia historii zdarzeń, tego typu logi okażą się bardzo przydatne. Wówczas będzie można dociec, jaka operacja, w jakim czasie i przez kogo została wykonana.

 

Równie istotne co logowanie, jest także szyfrowanie. Pod pojęciem tym kryją się mechanizmy zapewniające poufność, integralność oraz bezpieczne uwierzytelnianie użytkowników, którzy łączą się z bazą. Zastosowanie poszczególnych mechanizmów zależy od typu danych, które mają być objęte ochroną oraz od specyfiki systemu IT, w którym przetwarzane są dane. W związku z szyfrowaniem należy przede wszystkim określić, czy proces uwierzytelniania jest odpowiednio zabezpieczony, czy wszystkie transferowane dane są zaszyfrowane oraz czy dane zgromadzone w bazie danych przechowywane są w formie zaszyfrowanej.

 

Szyfrowanie danychChcąc uzyskać dostęp do danych, warto także korzystać z tzw. zapytań parametryzowanych – rozwiązanie to niemalże w 100% jest w stanie ochronić bazę danych przed tzw. SQL injection. Zjawisko to polega na tym, że w wyniku braku odpowiedniego sprawdzenia (walidacji) parametru przekazanego przez użytkownika, nieautoryzowany fragment zapytania SQL zostaje „wstrzyknięty” do aplikacji.

 

Omówione wyżej przykłady należą do najważniejszych w zakresie ochrony baz danych. Należy jednak pamiętać, że każda baza wymaga indywidualnego podejścia i planowania działań, mających na celu zwiększenie bezpieczeństwa gromadzonych w niej informacji.