Bezpieczeństwo danych w chmurze

Na początku skonkretyzujmy czym jest "chmura" lub "Cloud computing", który mamy tutaj na myśli. Zgodnie z definicją organizacji NIST (National Institute of Standards and Technology) jest to:

Model wygodnego udostępniania sieci współdzielonych, konfigurowalnych zasobów (np. sieci komputerowe, serwery, pamięć masowa, oprogramowanie i usługi) które mogą być szybko dostosowane i "dostarczone" z minimalnym nakładem pracy kierownictwa lub dostawcy usług.

Prostszym językiem oznacza to sytuację kiedy jesteśmy w stanie kupić w postaci usługi infrastrukturę IT (serwery, sieci, firewalle, dyski, itp.) wstępnie skonfigurowaną i działającą. Istnieje kilka poziomów świadczenia tego typu usług:

  • IaaS (Infrastructure as a Service) – czyli w ramach usługi dostajemy tylko infrastrukturę (serwer z bazowym systemem operacyjnym, łącze sieciowe, zasilanie, itp.). W ramach tej infrastruktury możemy postawić dowolny silnik bazodanowy, serwer aplikacji, itp.

  • PaaS (Platform as a Service) – czyli otrzymujemy już gotową platformę do uruchamiania naszych aplikacji. Przez platformę rozumie się tutaj gotową instalację jakiegoś motoru bazodanowego i serwera aplikacji wraz ze wszystkimi innymi mechanizmami niezbędnymi do serwowania aplikacji (np. serwery Proxy, load balancing, itp.)

  • SaaS (Software as a Service) – w tym modelu otrzymujemy już konkretną usługę w postaci przeinstalowanej na jakichś maszynach aplikacji, z której możemy korzystać (np. mamy nasze loginy i hasła pozwalające się zalogować do tej aplikacji).

W każdym wypadku sprzęt, konfiguracja sieci, zapewnienie ciągłości działań infrastruktury, zabezpieczenia fizyczne infrastruktury są po stronie dostawcy usługi. Oznacza to ni mniej ni więcej, że to on zadba o to, żeby prąd był cały czas dostarczany, a zasoby przydzielone dla nas odpowiednio odseparowane od zasobów innych Klientów tak, aby nie było możliwości ingerowania w nasze zasoby przez nich. Zwykle nie mamy jako Klient wpływu na rodzaj i poziom tych zabezpieczeń, możemy jedynie zaufać dostawcy, że spełnią one zakładane cele.

Decydując się na wejście w "chmury" musimy mieć na względzie zatem szereg uwarunkowań związanych z bezpieczeństwem takich rozwiązań.

Przytoczmy najważniejsze:

  • Część naszej infrastruktury będzie znajdować się poza naszą firmą. Oznacza to, że zarówno mogą mieć do niej fizyczny dostęp inne osoby (o tym decyduje polityka bezpieczeństwa serwerowni wykorzystywanej przez dostawcę), ale także możliwy jest tam dostęp zdalny poprzez Internet. O ile jeszcze dostępem poprzez Internet możemy jeszcze jakoś zarządzać (budować firewalle, szyfrować połączenia, ograniczać źródła połączeń tylko do naszych podsieci), to na politykę bezpieczeństwa serwerowni nie będziemy już raczej mieli żadnego wpływu (aczkolwiek nie oznacza to, że będzie ona zła – o tym jeszcze dalej)

  • Zwiększa się ilość zasobów, którymi musimy jednak w jakiś sposób zarządzać (bardziej technicznie w przypadku IaaS, trochę mnie w przypadku PaaS i SaaS), trzeba je monitorować i reagować na problemy.

  • Otrzymujemy w ramach takiej usługi de facto wirtualne zasoby na współdzielonych maszynach fizycznych oraz współdzielone łącza sieciowe z innymi Klientami dostawcy. Oznacza to, że inni Klienci również wykupujący usługi u tego samego dostawcy mogą mieć ułatwione zadanie jeśli chodzi o ataki hakerskie na nasze zasoby (np. podsłuchiwanie pakietów TCP)

  • Przekazujemy kontrolę i zarządzanie bezpieczeństwem na dostawcę. Najczęściej nie będziemy mieli możliwości przeprowadzenia własnych testów penetracyjnych, ograniczony lub znikomy dostęp do logów innych elementów infrastruktury niż nasze zasoby. Zwykle także nie będziemy mieli wpływu na wybór lokalizacji fizycznej, gdzie przechowywane są maszyny utrzymujące nasze zasoby, a także czy część prac administracyjnych nad tymi urządzeniami nie będzie outsource'owana innym podmiotom niż dostawca usług

  • Nieważne jak rozbudowane i drogie SLA sobie zażyczymy będzie jednak przewidywała jakiś możliwy czas przerwy, czy nie działania naszych usług

  • Brak jest (w tej chwili) norm prawnych regulujących obowiązki dostawców tego typu usług oraz podmiotów wykorzystujących je

Czy zatem chmury są złe?

Odpowiedź zależy od wielu czynników. Jeśli rozpatrujemy np. działalność banku i jego możliwości zestawienia własnej infrastruktury dedykowanej dla jego potrzeb oraz wymogów prawnych narzucanych na taką instytucję to odpowiedź brzmi – chmury nie są do tego. Żaden dostawca takich usług nie będzie w stanie formalnie sprostać specyficznym wymogom bezpieczeństwa i charakteru systemów bankowych (np. warunek bezwarunkowej ciągłości działania).

Jeśli jednak porównamy to z typową sytuacją w firmie: „musimy uruchomić wewnętrzny system e-learningu (albo inny system)”, to tutaj już możemy ugrać znacznie więcej. Przede wszystkim znacznie tańszym kosztem uzyskamy znacznie większą niezawodność infrastruktury. Zwykle awaryjne zasilanie, redundantne zasilacze, łącza internetowe są poza zasięgiem standardowej infrastruktury w firmie, jednak na porządku dziennym dla dostawców usług Cloud computingu. Dostawca gwarantuje też sprawność sprzętu i np. w przypadku awarii podzespołu serwera grozi nam co najwyżej mały przestój (zwykle minimalny gdyż usługi przenosi się na czas naprawy na inne, sprawne maszyny, których zwykła firma nie jest w stanie zapewnić), nie musimy za to martwić się o koszty takiej naprawy. Podobnie sprawa wygląda w przypadku zużywania się sprzętu – nie musimy martwić się o utylizację starych komponentów i ich podmianę na nowe, ani o migrację naszych aplikacji na nowe maszyny – to wszystko zapewnia nam wirtualizacja usług po stronie dostawcy. Bezpieczeństwo w "chmurze" także będziemy mieli zwykle na znacznie wyższym poziomie niż możemy to osiągnąć samodzielnie, gdyż efekt skali pozwala wykorzystywać dostawcy znacznie droższe i lepsze rozwiązania.

W powyższym pochwalnym opisie należy jednak wspomnieć o małym zgrzycie, który pojawia się wraz z pojęciem „dane wrażliwe” czy „GiODO”. Mam tutaj na myśli dane ważne dla naszej działalności nie tylko na skutek regulacji prawnych (GiODO) ale też z racji charakteru naszego biznesu. Jakkolwiek zabezpieczenia fizyczne i programowe pozwolą uchronić dane w "chmurze" przed utratą czy kradzieżą, ale np. jak było napisane wyżej, nie mamy wpływu na miejsce gdzie dane te są fizycznie przechowywane. Zobaczmy co o tym mówi ustawa:

ROZPORZĄDZENIE MINISTRA SPRAW WEWNĘTRZNYCH I ADMINISTRACJI z dnia 29 kwietnia 2004 r. w sprawie dokumentacji przetwarzania danych osobowych oraz warunków technicznych i organizacyjnych, jakim powinny odpowiadać urządzenia i systemy informatyczne służące do przetwarzania danych osobowych:

§ 4. Polityka bezpieczeństwa, o której mowa w § 3 ust. 1, zawiera w szczególności:

1) wykaz budynków, pomieszczeń lub części pomieszczeń, tworzących obszar, w którym przetwarzane są dane osobowe;

Tylko bardzo nieliczni dostawcy usług typu „Cloud computing” mogą zagwarantować taką informację.

Kolejny problem – co się stanie w przypadku zamknięcia działalności takiego dostawcy (np. bankructwo). W jaki sposób możemy odzyskać nasze dane? Na ten moment – nic nie gwarantuje nam odzyskania takich danych.

Przypatrzmy się zatem udanym wdrożeniom "Cloud computingu":

New York Times wykorzystał rozproszone chmury serwerów Amazon do digitalizacji swoich materiałów historycznych ze 100 lat działalności. Cały proces trwał 25 godzin (!!!) i kosztował mniej niż 1500USD. Do obliczeń wykorzystano ok. 100 wirtualnych maszyn.

Animoto dostawca usług "slideshow" dla użytkowników Facebooka. Po podpisaniu umowy z Facebookiem ilość użytkowników serwisu wzrosła z 25 tyś do 250 tyś w ciągu 3 dni. Tylko dzięki wykorzystaniu wirtualnych maszyn (utworzono ich wtedy 4000) udało się utrzymać ciągłość pracy serwisu. Proszę pomyśleć jakim zagadnieniem logistycznym i finansowym byłoby to w przypadku klasycznych serwerów. Kupienie i uruchomienie 4000 serwerów w ciągu 3 dni to jednak niebagatelne wyzwanie.

Na naszym rodzimym rynku usługi "Cloud" wykorzystują portale typu "fotka.pl" do przechowywania gigantycznej ilości zdjęć i filmów oraz skalowania usług serwowania stron WWW w zależności od realnych potrzeb.

Źródło: 3e internet software house