Bezpieczeństwo w chmurze, to dość “namiętny” temat, który zazwyczaj powoduje ożywioną dyskusje. Z reguły rozważania i obawy sprowadzają się do kilku kwestii o których postanowiłem napisać.
Tak więc do dzieła:
Gdzie są moje dane?
Decydując się na umieszczenie danych w chmurze AWS klient w pierwszym kroku wybiera region w jakim te dane zostaną umieszczone.
W ramach regionu dostępne są dwa bądź więcej ośrodki Data Centre (tzw Availability Zone ). Zatem jeśli klient wybierze np. Frankfurt jako swój region, będzie to jedyne miejsce w którym dane zostaną umieszczone pod warunkiem, że klient sam nie dokona przeniesienia bądź rozprzestrzenienia na inne regiony. Tu się może pojawić pytanie od dociekliwych co jeśli w dokumentacji S3 jest napisane, że dane są replikowane do 3 ośrodków a dany region ma tylko dwie AZ, to gdzie w takim razie są jeszcze dane? W ramach regionu AWS posiada zazwyczaj więcej ośrodków, które nie koniecznie mają rolę AZ i wtedy 3cia replika danych pojawią się właśnie w jednym z takich miejsc.
Kto ma dostep do moich danych?
Dostęp do danych ma wyłącznie ich właściciel i to on definiuje komu i na jakich zasadach może je udostępnić.
Kto odpowiada za moje dane i ich bezpieczeństwo?
Za dane umieszczone w chmurze odpowiada osoba/podmiot, który je tam umieścił. AWS definiuje tzw “Shared Security Responsibility Model”.
Odpowiedzialność podzielona jest w taki sposób, że AWS odpowiada za bezpieczeństwo całej infrastruktury fizycznej i sprzętowej na której uruchomione są usługi chmurowe, klient odpowiada za wszystko co umieści bądź przyłączy do chmury. Po stronie AWS jest to aby chmura sama w sobie była bezpieczna, tzn że do ich obowiązków należy stosowanie jak najlepszych mechanizmów zabezpieczenia danych, dbania o politykę dostępów do ich Data Center czy dbanie o całą infrastrukturę. Po stronie klienta spoczywa odpowiedzialność za bezpieczeństwo w chmurze, tzn. że to klient decyduje w jaki sposób zabezpieczy swoje dane, czy np. będzie szyfrował dane na dysku, albo czy stosuje bezpiczeną politykę haseł i kontrolę uprawnień do zasobów. Czyli patrząc na przykładzie, nie możecie rościć pretensji do dostawcy chmury o to, ze wasze dane wyciekły ponieważ ktoś udostępnił komuś hasło do wspólnego konta, na dodatek hasło to nigdy nie było zmieniane.
Kto jest właścicielem danych?
Ten kto umieszcza dane jest ich właścicielem oraz ma pełną kontrolę które serwisy w jaki sposób będą je przetwarzać i przechowywać. AWS w żaden sposób nie wykorzystuje danych klientów do celów marketingowych czy reklamowych.
Czy dostawca chmury może komuś udostępnić moje dane?
Nie ma takiej możliwości aby AWS udostępnił komukolwiek dane swoich klientów. Jedynym odstępstwem od tego jest sytuacja w której żądanie takie poparte jest nakazem sądowym bądź innymi regulacjami, których niespełnienie wiązało by się ze złamaniem przyjętego prawa. Każde takie żądanie musi być przeprowadzone zgodnie z przyjętymi procedurami i jest dokładnie weryfikowane czy jest zgodne ze wszystkimi przyjętymi regulacjami. O ile powód danego żądania wyraźnie nie wskazuje na popełnienia przestępstwa czy nielegalnego użycia usług oferowanych przez Amazon, każdy klient jest najpierw informowany o takim żądaniu. Dzięki temu ma możliwość np. podjęcia próby odwołania się od takiej decyzji. AWS publikuje co pół roku raport związany z żądaniami dostępu do danych:
https://d0.awsstatic.com/certifications/Information_Request_Report_December_2015.pdf
Co się dzieje z uszkodzonymi nośnikami?
Każdy dysk czy to w wyniku awarii czy osiągnięcia końca okresu przydatności podlega procesowi likwidacji. AWS używa technik określonych w DoD 5220.22-M (“National Industrial Security Program Operating Manual “) lub NIST 800-88 (“Guidelines for Media Sanitization”). Każdy dysk magnetyczny jest rozmagnesowywany i fizycznie niszczony zgodnie z przyjętymi standardami.
Czy można podsłuchać ruch sieciowy?
Usługi sieciowe AWS posiadają zestaw funkcjonalności mających na celu zapewnić bezpieczeństwo przed wszystkimi powszechnymi zagrożeniami, takimi jak:
- Ataki DDoS,
- Man in the Middle
- IP Spoofing- Firewall używany na poziomie hosta uniemożliwia wysłanie przez maszynę wirtualną pakietów z źródłowymi adresami IP i MAC innymi niż jej własny.
- Port Scanning - wszelkie próby skanowania są przez AWS traktowane jako poważne naruszenie “AWS Acceptable Use Policy” Każde wykryte skanowanie jest natychmiast blokowane. W przypadku gdy zaistnieje potrzeba przeprowadzenia skanowania, testów penetracyjnych itp, należy to wcześniej uzgodnić z AWS.
- Pakiet Sniffing- nie ma możliwości aby maszyna wirtualna mogła działać w trybie “promiscious” i odbierać bądź podsłuchiwania ruchu innej maszyny. W żadnym wypadku hypervisor nie wyśle ruchu który nie należy do danej maszyny wirtualnej (nawet gdy obie są własnością klienta).
Czy współdzielenie zasobów może powodować wyciek/przejęcie danych?
W przypadku AWS instancje działające na tym samym hoście oddzielone są od siebie na poziomie hypervisor’a (AWS wykorzystuje XEN hypervisor). Na poziomie hypervisor’a działa również firewall, który usytuowany jest pomiędzy fizycznym interfejsem sieciowym, a virtualnym interfejsem maszyn działających na hoście. W skrócie oznacza to, że każdy pakiet przechodzi przez firewall i dlatego sąsiadujące instancje nie mają do siebie dostępu. Podobny mechanizm wykorzystywany jest dla RAM’u. Jeśli chodzi o storage, to warstwa wirtualizacji storage’u automatycznie resetuje każdy blok przestrzeni dyskowej użytej przez wirtualną maszynę, dlatego tez nie ma możliwości aby jakiekolwiek dane można było odczytać z innej maszyny ulokowanej na tej samej przestrzeni dyskowej. Tak samo jest w przypadku RAM, każdy obszar zwolniony z alokacji jest najpierw zerowany i nigdy nie wróci do puli wolnej pamięci zanim proces zerowania nie zostanie ukończony.
Kto ma dostęp do Data Centre?
Do data center AWS mają dostęp tylko wykwalifikowani pracownicy, osoby niezbędne od obsługi, utrzymania ciągłości działania, bądź rozwoju. Nie ma możliwości aby czy to potencjalny czy obecny klient mógł sobie zwiedzić Data Center AWS. Z pewnością nie znajdziecie też ogromnych błyszczących banerów “Tutaj jesteśmy”.
No ale to mam im wierzyć na słowo?
Rozmawiając o bezpieczeństwie w chmurze zazwyczaj jest się po stronie tych przekonanych bądź tych nieufnych. Dla tych nieufnych potwierdzeniem może być to, że każdy z dostawców (tych szanowanych) podchodzi do kwestii bezpieczeńtwa bardzo poważnie, czego efektem jest dążenie do spełniania odgórnie ustalonych norm i regulacji (jak np. ISO 27018). Każdy z tych dostawców poświęca dużo energii i środków na spełnienie i utrzymanie wszystkich tych norm. Każdy z nich posiada zakładkę Compliance na swojej stronie, gdzie wszystkiego można się dowiedzieć.
Na koniec
Artykuł ten oparty jest w większości na AWS, ale tak naprawdę jak przyjrzymy się innym rozwiązaniom jak np. MS Azure, to dostrzeżemy bardzo duże podobieństwo w podejściu do zagadnień bezpieczeństwa. Na koniec największe znaczenie ma to jak my do tego podejdziemy. Grunt aby nie popaść w pewną skrajność, bo takie hasła “oni kłamią”, “ci co audytują też kłamią”, “wszyscy kłamią” też padają. Wtedy należałoby również przyjąć założenie, że nasz smartphone też na cały czas podsłuchuje, kamerka w laptopie nagrywa, a nasz domowy najbezpieczniejszy na świecie NAS sączy dane prosto do NSA ;).
Nie dajmy się zwariować, ale jakby co zawsze można zbudować lepiankę w Bieszczadach.