Bezpieczeństwo danych w chmurze – najczęściej stosowana wymówka…

Temat rzeka…

Bezpieczeństwo danych to temat rzeka, jeśli dodatkowo w tym samym zdaniu dołożymy wyrażenie „w chmurze”  to otwieramy w zasadzie niekończąca się dyskusję. Czy faktycznie wyniesienie danych do chmury publicznej oznacza, że przestają one być bezpieczne, a może zupełnie przeciwnie? Może dopiero w momencie gdy pojawia się kwestia wykorzystania zasobów poza własną infrastrukturą temat bezpieczeństwa zaczyna być interesujący? Odpowiedz sobie na to pytanie – tylko szczerze!

Czytasz dalej? Czyli masz coś na sumieniu…

Co zatem sprawia, że dane są bezpieczne? Wymienię kilka (z góry zastrzegam, że pewnie znajdziesz kilka innych, które mogą pojawić się na poniższej liście):

  • bezpieczeństwo infrastruktury i usług
  • mechanizmy pozwalające na szyfrowania i anonimizację danych
  • wysoka dostępność i ciągłość działania
  • zarządzanie uprawnienieniami i współdzielenie zasobów

Istotnie każdy z tych czterech punktów ma większe lub mniejsze znaczenie. Wszystko zależy od  krytyczności systemu i przetwarzanych w nim danych (ale do tego jeszcze wrócimy pod koniec wpisu). Zatem po kolei:

Bezpieczeństwo infrastruktury i usług

Często w kwestii bezpieczeństwa danych w chmurze pojawia się wątpliwość ( moim zdaniem zupełnie nieuzasadniona 🙂 ) czy infrastruktura „chmury”  jest odpowiednio zabezpieczona? Czy spełnia standardy bezpieczeństwa w zakresie przetwarzania danych i jak można to zweryfikować. Swoją drogą – czy zastanawiasz się nad tymi standardami i ich weryfikacją w przypadku własnej insfrastruktury? Kiedy ostatnio w ramach „Twojej” infrastrurktury realizowane były testy bezpieczeństwa i kto to weryfikował?

ISO 27001,ISO 22301,ISO 20000-1:2011, HIPAA/HITECHITAR

Brzmi groźnie czy znajomo. Warto zerknąć, bo lista jest bardzo długa, co więcej, można weryfikować wszystko per usługa. Dla przykładu Power BI to:

Dodatkowy atut to wciąż rosnąca liczba spełnianych standardów i przyznanych certyfikatów. Dostęp do wszystkich istotnych informacji zapewniony jest dzięki Microsoft Trust Center oraz Azure Trust Center. Miejsca szczególnie warte odwiedzenia, gdy masz wątpliwości, zadają Ci trudne pytania dotyczące bezpieczeństwa usług w chmurze lub szukasz sprawdzonych metod na „Cloud assessment”.

Szyfrowanie danych

Pytanie o szyfrowania, a raczej możliwości szyfrowania danych w przypadku chmury to pewien standard. Oczywiście w zależności od usługi czy zakresu danych możliwości są różne. W przypadku baz danych jest np. opcja Trasparentnego szyfrowania danych, ale co np. gdy chcemy szyfrować zwyczajnie pliki przechowywany w ramach przestrzeni dyskowej. Może dodatkowo chcesz skorzystać z bezpiecznego repozytorium kluczy lub wykorzystać własny?

Odpowiedzią mogą być chociażby ostatnio wprowadzone mechanizmy Bring Your Own Key dla szyfrowania w usługach SQL Database i SQL Datawarehouse

Źródło:https://docs.microsoft.com/en-us/sql/relational-databases/security/encryption/transparent-data-encryption-byok-azure-sql

W przypadku przestrzeni dyskowej (storage) na bardzo wysokim poziomie ilustruje to poniższy schemat wykorzystania kluczy do szyfrowania przestrzeni dyskowej w Azure

Co do zasady, można wskazać podstawowe scenariusze takie szyfrowania:

  • Server-side encryption using Service Managed keys
  • Server-side encryption using customer-managed keys in Azure Key Vault
  • Server-side encryption using customer-managed keys on customer controlled hardwareoraz
Czy usługa w Azure może przestać działać?

Oczywiście, jak każda usług w każdej innych insfratrukturze. Jednak jednym z głównych założeń usług ofertowanych na platformach chmurowych jest zapewnienie ich dostępności i skalowalności. W przypadku znaczącej większości usług zapewnione jest SLA(są  również usługi, które nie mają SLA  w warstwach darmowych np. OMS Log Analytics(Free tier) lub Machine Learning(Free) ). Są również usługi, dla których SLA to przynajmniej 99,99% – jak w przypadku SQL Database. Odpowiedni poziom dostępności usługi zależy od samej usługi i mechanizmów stosowanych do zapewnienia dostępności. Szczegóły dot. SLA można śledzić na dedykowanej witrynie https://azure.microsoft.com/en-us/support/legal/sla/

A co z zabezpieczeniem przed utratą danych? Pisałem już o tym na przykładzie SQL Database.
W przypadku tej usługi(jak i innych) dane przechowywane są jednocześnie w trzech kopiach, gwarantując, że nie utracimy danych w przypadku awarii w ramach infrastruktury. Możliwe jest również włączenie dodatkowych mechanizmów georeplikacji (replikacji pomiędzy regionami Azure) dla zwiększenia bezpieczeństwa danych. Co więcej w przypadku np. usług takich jak SQL Database wraz z uruchomieniem bazy uruchamiany jest automatycznie proces wykonywania kopii bezpieczeństwa bazy, zarówno pełnych kopii jak i kopii dziennika transakcji.

Komu dajesz dostęp do swoich danych?

Wreszcie dotarłem do punktu bezpieczeństwa w kontekście współdzielenia danych, zarządzania dostępem czy też zapewnienia dostępu wyłącznie do określonych danych, wybranym osobom. Zarządzanie uprawnieniami czy też izolowanie dostępów zależy ściśle od samej usługi. Dla przykładu może pojawić się kwestia zapewnienia dostępu do wybranych danych poprzez zastosowanie mechanizmu bezpieczeństwa na poziomie wierszy (Row Level Security) lub też potrzebny okaże się zupełnie podstawowy mechanizm – uiwerzytelnianie użytkowników. Niezależnie o którym scenariuszu mówimy, na platformie Azure znaleźć można odpowiednie usługi pozwalające na zaadresowanie potrzeb. Zresztą co tutuaj dużo pisać, zobacz to na przykładzie usługi Power BI w 15 odcinku Power BI w praktyce

Czy zatem moje dane w chmurze są bezpieczne?

Zupełnie szczerze nie zamierzam Cię o tym przekonywać, bo na każdy z moich argumentów można znaleźć kontrargument. Zwyczajnie trzeba przekonać się o tym samodzielnie. A powyższe przykłady mogą być tylko podpowiedzią gdzie można szukać potrzebnych informacji.

Drugie pytanie to czy mogę moje dane umieścić w chmurze? Tak, zapewne, być może, nie! Każda z tych odpowiedzi jest tak samo dobra. Co najważniejsze aby odpowiedzieć na pytanie czy mogę, warto na początek wykonać stosunkowo proste ćwiczenie. Dokonać bardzo podstawowej klasyfikacji danych. W jakim celu? Cel jest prosty, w ramach klasyfikacji, należy wskazać typy danych w organizacji, od tych najmniej wrażliwych, aż po dane tajne, ściśle tajne. Tylko mając taką klasyfikację będziemy operować na faktach i odpowiadać na rzeczywiste pytania dotyczące ograniczeń lub możliwości przetwarzania danych w chmurze. Unikniemy też potencjalnego gdybania i zasłaniania się mitycznym „dane w chmurze nie są bezpieczne” czy też „nie mogę przetwarzać danych w chmurze”.

W tym miejscu polecam lekturę pt. Data Classification for Cloud Rediness, przekonasz się, że w Twojej organizacji też są dane, które mogą być w chmurze i co więcej być może będą tam nawet bardziej bezpieczne….