Bezpieczeństwo baz danych

Zabezpieczenia

Standardowo

Zabezpieczenie baz danych można rozpatrywać na wielu płaszczyznach. Pierwszym etapem jest z pewnością planowanie oraz właściwe zaprojektowanie rozmieszczenia serwerów bazodanowych w infrastrukturze.

Samo planowanie struktury bazy, właściwości użytkowników, mechanizmów wymiany danych - to zupełnie osobny temat (kwestię tę pominiemy). Znacznie częściej administrator bezpieczeństwa dostaje jakiś "stan zastany" i nie ma wpływu na to, w jaki sposób ktoś inny zaprojektował system.

Większość nowoczesnych aplikacji działa według modelu trójwarstwowego, obejmującego: interfejs webowy, serwer aplikacyjny i bazę. Te trzy elementy powinny znajdować się w różnych strefach bezpieczeństwa. Dotyczy to głównie aplikacji, których interfejs dostępny jest z internetu. Dobrą praktyką i sprawą raczej oczywistą (choć, jak pokazuje praktyka - nie zawsze) jest umieszczanie bazy danych w odseparowanym i kontrolowanym środowisku, np. centrum danych. Poziom kontroli tamże, to sprawa dość dyskusyjna i sama lokalizacja bazy nie gwarantuje od razu bezpieczeństwa. Niemniej jednak segmentacja daje pewne możliwości, jak chociażby oddzielenie każdego elementu systemu urządzeniami kontroli dostępu, a co za tym idzie ograniczenie ryzyka.

Bezpieczeństwo baz danych

GreenSQL Database Firewall – Alerty

Podstawowym sposobem ochrony baz danych jest hardening, który polega na zmianie i dostrojeniu domyślnych parametrów konfiguracyjnych. Nie jest to zadanie trudne (zwłaszcza że dostępnych jest wiele poradników na ten temat), ale niestety żmudne. Na szczęście, już od lat znakomite przewodniki hardeningowe przygotowuje ośrodek CIS (The Center for Internet Security). Na stronie tej organizacji (cisecurity.org) znajdziemy najbardziej aktualne poradniki dla baz MySQL, Oracle, MSSQL, Sybase czy DB2. I tak przede wszystkim należy usunąć konta domyślne i pozmieniać hasła tym, które są potrzebne i aktywować natywne mechanizmy audytu, np. alterowanie w przypadku wielokrotnych nieudanych prób logowań. Kolejnym krokiem jest dbanie o aktualność zarówno systemu operacyjnego, jak i samej bazy danych. Wreszcie należy pamiętać o okresowym przeprowadzaniu audytów bezpieczeństwa. Mogą one polegać na skanowaniu w poszukiwaniu podatności, weryfikacji konfiguracji bazy i systemu operacyjnego, czy też kontroli kont użytkowników ze szczególnym zwróceniem uwagi na uprawnienia.

Szyfrowanie

Kolejną rzeczą do zrobienia, jeżeli chcemy coś zabezpieczyć, jest sprawdzenie, czy da się wprowadzić jakieś mechanizmy kryptografii. Czasami w tę stronę popychają wymogi regulacji, np. PCI. Tak samo jest w przypadku baz danych. Mechanizmy szyfrowania baz danych koncepcyjnie można przyrównać do technik szyfrowania dysków. Istnieje więc możliwość szyfrowania zarówno całych baz danych, jak i operowania nieco bardziej precyzyjnie na obiektach. Mechanizmy szyfrujące nie pozostają jednak bez wpływu na wydajność baz danych, jak również często na zajmowaną przez nie przestrzeń.

Perła w informacyjnej koronie

Często tak są nazywane Bazy danych. Czas więc, aby w korporacyjnych funduszach znalazły się środki na ich rzetelną ochronę. Z pewnością nakład ten przyniesie bardziej zauważalne korzyści, niż wprowadzane z coraz to większą zawziętością systemy minutowego rozliczania czasu pracy.

Podejmując decyzję o zastosowaniu szyfrowania, należy przeanalizować zawartość baz danych. Wybierając model szyfrowania, trzeba rozważyć to, co dokładnie chcemy szyfrować. Może się okazać, że nie ma potrzeby szyfrowania całych baz, a tylko ich fragmenty. Być może nie chcemy chronić wszystkich kolumn czy tabel, a tylko te zawierające numery pesel i kart kredytowych. Idąc dalej, w przypadku kolumny z numerami kart być może wystarczy szyfrowanie tylko ostatnich 4-6 znaków? Warto także pamiętać o indeksowaniu. Jeżeli zostaną zaszyfrowane pola indeksowane, wówczas można spodziewać się znacznego wzrostu apetytu na zasoby systemowe - każdorazowe odwołanie do takiego pola będzie wymagało przeprowadzenia deszyfracji.


TOP 200