16 stycznia

Bezpieczeństwo środowiska wirtualnego

  • Home
  • /
  • Blog
  • /
  • Bezpieczeństwo środowiska wirtualnego

​​

Wraz z pojawianiem się nowych rozwiązań i technologii musi również ewoluować nasze spojrzenie na kwestie bezpieczeństwa. Zmieniają się zagrożenia a w związku z tym zmieniają się również metody im przeciwdziałania. Rozpowszechnienie wirtualizacji serwerów jest właśnie przykładem takiej ewolucji.


Wraz z nowymi funkcjami pojawiają się nowe niebezpieczeństwa i  nowe rozwiązania do ich neutralizacji. Jednym z takich rozwiązań jest Vmware vShield, który znacznie zmienia dotychczasowe spojrzenie na systemy bezpieczeństwa. 


Rozpowszechnienie technologii wirtualizacji serwerów wymusiło szereg zmian w zakresie projektowania i implementacji statycznej do tej pory infrastruktury informatycznej. Szereg wprowadzonych przez wirtualizację usprawnień wymusił jednocześnie znaczącą zmianę stosowanych wcześniej paradygmatów projektowania infrastruktury. Powszechnie wykorzystywane modele, metodologie czy zestawy najlepszych dostępnych praktyk ze względu na odmienność charakterystyki środowiska wirtualnego od fizycznego przestały do końca spełniać zakładane w nich cele. 


W szczególności znacznej komplikacji uległy stosowane modele projektowania architektury sieciowej w warstwach II i III oraz topologie bezpieczeństwa. Wirtualizacja nawet w swojej najprostszej postaci dokłada kolejna warstwę  sieciową oraz logiczną warstwę serwerową. Dodatkowo terminologia oraz mechanizmy stosowane klasycznie w celu segmentacji i uporządkowania ruchu i systemów zostały w ramach środowisk wirtualnych rozbudowane o dodatkowe właściwe tylko dla nich mechanizmy. Zmiany te jak wspomniałem powyżej nie pozostały bez wpływu na projektowanie rozwiązań bezpieczeństwa. Znaczna mobilność maszyn wirtualnych w ramach serwerowni, dodatkowe warstwy infrastruktury oraz nowe rozwiązania grupujące znacząco utrudniły zaprojektowanie przejrzystej topologii. 

Klasyczny punkt widzenia 


Aby jednak powyższe rozważania nie były oderwane od doświadczeń empirycznych postaram się pokrótce porównać klasyczne metodologie tworzenia sieci oraz rozwiązań bezpieczeństwa do tych stosowanych (lub możliwych do zastosowania) w ramach środowisk wirtualnych. Wskaże również nowe zagrożenia i ewentualne metody zapobiegania im. 

W przykładach będę posługiwać się terminologią i właściwościami produktów Vmware. Nie tylko ze względu na fakt, że jest to obecnie lider w zakresie wirtualizacji ale również ponieważ u pozostałych liczących się dostawców, oprócz pewnych szczególnych  właściwości budowane topologie i wykorzystywane mechanizmy będą bardzo podobne. 

W klasycznej infrastrukturze złożonej z wielu serwerów fizycznych każdy z serwerów utrzymuje jedną bądź kilka usług i komunikuje się z resztą sieci za pomocą fizycznych kart sieciowych podłączonych do przełączników dostępowych. W zależności od zastosowanych mechanizmów wysokiej dostępności, serwer podłączony jest do jednego lub dwóch przełączników a grupy przełączników dostępowych agregowane są w ramach mocniejszych urządzeń dystrybucyjnych. Dystrybucja połączona jest natomiast miedzy sobą poprzez przełączniki rdzeniowe realizujące funkcje szybkiej magistrali wewnątrz lub pomiędzy centrami danych. 

W ten sposób mamy trzy poziomy architektury sieciowej z serwerem jako urządzeniem końcowym tworzącym warstwę czwartą. 

Wypracowane prze lata metody zabezpieczeń tego typu infrastruktury mogą być bardzo różne i rozbudowane ale w znakomitej większości przypadków sprowadzają się do podziału serwerów na grupy i przypisania im adresów IP właściwych dla konkretnej grupy. Tego typu grupa jest klasycznie niczym innym jak VLAN-e. Rozdzielenie ruchu pomiędzy VLAN-ami odbywa się natomiast w oparciu o zewnętrzne urządzenia bezpieczeństwa (np. UTM), w warstwie III bazując na podsieciach przyporządkowanych do VLAN-ów lub też szczegółowych adresów IP. Dodatkowo aby zapewnić większą granulacje każdy z serwerów może posiadać wewnętrzny firewall skonfigurowany, żeby dopuszczać ruch przeznaczony tylko dla konkretnej serwowanej przez serwer usługi oraz właściwy ruch zarządzający (SSH, RDP, SNMP etc.). 


W bardziej krytycznych  środowiskach wykorzystuje się jeszcze listy ACL konfigurowane per port w przełączniku dostępowym do którego podłączony jest serwer oraz w miarę potrzeby można wykorzystać PVLAN-y aby zabronić całości ruchu pomiędzy serwerami w obrębie jednego VLAN-u.  

Dodatkowe warstwy 

W środowisku wirtualnym serwery utrzymujące usługi stają się logicznymi maszynami wirtualnymi działającymi wewnątrz serwerów fizycznych z oprogramowaniem do wirtualizacji (Hypervisor-em). Jednym z elementów Hypervisorów są tzw. wirtualne switch-e do których przyłączone są maszyny logiczne. Fizyczne karty sieciowe serwerów z Hypervisor-ami staja się natomiast portami wyprowadzającymi ruch sieciowy z serwerów logicznych poprzez wirtualne switch-e i  serwery fizyczne aż do fizycznych przełączników dostępowych. 

Tym samym czterowarstwowa do tej pory architektura zostaje rozbudowana o dodatkowe dwie warstwy tj. serwery fizyczne (Hypervisory) oraz wirtualne przełączniki. 

Nowe właściwości 

Wirtualne switch-e wprowadziły nowe funkcjonalności w zakresie grupowania maszyn logicznych w podsieci. Najmniejszą możliwą do stworzenia komórką jest tzw. port grupa.

Port grupy tworzone są w ramach vswitch-y. Każdy serwer logiczny aby mieć połączenia z siecią musi należeć do co najmniej jednej port grupy. Maszyny w ramach grup mogą komunikować się pomiędzy sobą lecz nie posiadają komunikacji z maszynami w innych grupach. 


Funkcjonalnie port grupa jest odpowiednikiem VLAN-u. Może być również do VLAN-u przyporządkowana. Jednakże, istnieje możliwość rozdzielenia segmentacji w taki sposób, że kilka port grup współdzieli jeden VLAN przy jednoczesnym rozdzieleniu komunikacji w ramach poszczególnych grup. 

Istnienie port grup ma istotne znacznie dla realizacja podstawowych właściwości wirtualizacji tj. migracji w locie, budowy klastrów HA, czy równoważeniu obciążenia. Otóż, aby ww. funkcje były możliwe konfiguracja sieci w tym port grup (z zakresie np. etykiet tzn. identyfikatorów port grup) musi być spójna w obrębie całej infrastruktury. W związku z tym wprowadzono możliwość tworzenia tzw. wirtualnych przełączników dystrybucyjnych.  Przełącznik taki, agreguje zarządzanie vswitch-ami na wszystkich serwerach fizycznych dbając aby ich konfiguracja i nazewnictwo były w pełni koherentne. 

Ze względy na własności systemów wirtualizacji, do zarządzania maszynami wirtualnymi używa się specjalnego oprogramowania pozwalającego na dokonywanie modyfikacji w obrębie całej infrastruktury. Zarówno Vmware vsphere jak i inne systemy pozwalają m.in. na grupowanie maszyn logiczny w kontenery a kontenerów w większe grupy (np. centra danych). Pozwala to na osiągnięcie dodatkowego uporządkowania oraz na znaczne zwiększenie granularności uprawnień. 


Nowe zagrożenia

 

Wprowadzenie dodatkowej warstwy sprzętowej nie pozostaje bez wpływu na poziom bezpieczeństwa całej infrastruktury. W środowiskach klasycznych zabezpieczenie koncentrowało się konkretnych maszynach fizycznych. Potencjalny atakujący przejmując kontrole nad maszyną fizyczną otrzymywał dostęp tylko do pojedynczej aplikacji. W przypadku wirtualizacji sytuacja wygląda zgoła odmiennie. 

Na pojedynczym serwerze z Hypervisorem rezyduje statystycznie około 10 maszyn wirtualnych. Zarządzanie takim maszynami jak i samymi Hypervisor-ami może odbywać się może za pomocą centralnych systemów jak np. vCenter lub też bezpośrednio z systemu Hyperviora z wykorzystaniem CLI lub klienta. Dodatkowo większość systemów wirtualizacji posiada specjalne API powalające na budowę własnych systemów zarządzania. 

Konsekwencją ww. stanu jest sytuacja w której posiadając dostęp do Hypervisora (z wykorzystaniem dowolnej metody) posiadamy dostęp do konsoli maszyn wirtualnych, mamy możliwość ich modyfikacji czy też nawet skopiowania w całości np. na nośnik zewnętrzny. 

Co więcej, domyślnie łącząc się do systemu zarządzania administrator widzi wszystkie maszyny wirtualne i ma dostęp do każdej z nich. W wielu środowiskach o znacznym zróżnicowaniu aplikacji, i rozproszeniu zarządzania jest to sytuacja nie pożądana. 

W obliczy opisanego stanu kluczowym staje się jak najdokładniejsze zabezpieczenie serwerów z Hypervisorami oraz szczegółowe i przemyślane ustawienie odpowiednich uprawnień do zarządzania nimi. 

W pierwszej kolejności powinniśmy skoncentrować się na odpowiednim znacznie bardziej restrykcyjnym zabezpieczeniu fizycznym samych serwerów. Dostęp do nich powinni mieć tylko wybrani administratorzy, tylko i wyłącznie w uzasadnionych ściśle monitorowanych przypadkach. 

Powinniśmy, również wykorzystywać wbudowany w Hypervisor firewall i zezwalać tylko na dostęp zarządzający z konkretnej podsieci IP lub najlepiej z konkretnych adresów. W miarę możliwości należy również wymuszać aby zarządzanie odbywało się tylko z wykorzystaniem klienta i wyłączać dostęp za pomocą telnetu, ssh czy konsoli. 

Również, samo zarządzanie z poziomu klienta powinno być przemyślane w zakresie uprawnień. Vmware pozwala na bardzo szczegółowe określenie kto i do czego ma dostęp. Możemy przypisywać uprawnienia bazując na kontenerach z wirtualnymi maszynami, na centrach danych czy na poszczególnych funkcjonalnościach. Takie rozdzielenie zwykle jest konsekwencją przyjętej polityki bezpieczeństwa i  jest zaimplementowane w przypadku infrastruktury fizycznej (np. oddzielni administratorzy urządzeń sieciowych, sieci SAN i poszczególnych serwerów) lecz zapomina się o nim w systemach zwirtualizowanych pozwalając administratorom na pełen dostęp zarządzający. 


Nowe możliwości zabezpieczeń 


W standardowym nie wirtualnym środowisku posegmentowane na VLAN-y serwery fizyczne można dodatkowo rozdzielić (zabronić komunikacji w warstwie II) wykorzystując PVLAN-y. W przypadku wirtualizacji wszystkie maszyny wirtualne w ramach port grupy mogą komunikować sięmiędzy sobą bez żadnych zabezpieczeń. Istnieje możliwość wykorzystania PVLAN, z tym że jego implementacja przesuwa się na vSwitch. Implementacja PVLAN w ramach vSwitch-a dostępna jest z licencjami Enterprise Plus Vmware i tylko i wyłącznie w środowiskach Vmware. 

Posiadając tego typy licencje można natomiast skorzystać z nowego podejścia do zabezpieczenia środowiska wirtualnego Vmware i kontrolować ruch pomiędzy poszczególnymi maszynami wirtualnymi za pomocą grupy produktu vShield. 


Produkty vShield są odpowiedzią na rodzące się ze strony użytkowników wirtualizacji zapotrzebowanie na nowy rodzaj zabezpieczeń tzw. wirtualny firewall integrujący się w pełni ze środowiskiem i wykorzystującym jego funkcjonalności.  Wirtualne firewalle (UTM-y) posiadają wile zalet wynikających np. z operowania jako maszyna wirtualna a tym samym gwarantują pełną wysoką dostępność znacznie niższym kosztem niżeli klasycznie poprzez dublowanie rozwiązania sprzętowego. Również skalowalności wydajności jest znacznie prostsza, ze względu na możliwości szybkiej zmiany konfiguracji sprzętowej wykorzystywanej maszyny. 

Dodatkowo vShield pozwala na tworzenie reguł zabezpieczeń dla pojedynczych maszyn wirtualnych w ramach środowiska lub też dla ich grup. Reguły mogą bazować klasycznie na adresach IP lub podsieciach (reprezentować tym samym VLAN-y) lub też co jest nowością i znacznym usprawnieniem na etykietach port grup, etykietach wirtualnych maszyn, kontenerach z maszynami, czy centrach danych. 

Takie podejście pozwala na bardzo szczegółowe i granularne skonfigurowanie schematu zabezpieczeń zgodne z polityka organizacyjną. Co więcej, vShild jest świadom (ze względu na współprace z vCenter oraz integracje z dvSwitech-em) migracji wirtualnych maszyn pomiędzy serwerami fizycznymi. W związku z tym żadna realokacja nie wpływa na funkcjonowanie reguł zabezpieczeń (co może mieć miejsce w klasycznym podejściu). 

KształtKomponenty vShield 

Na grupę produktów vShield składa się pięć rozwiązań: 

  • vShield Manager 
  • vShield Edge 
  • vShield App 
  • vShield Endpoint 
  • vShield Data Security 
  • vShield Managerjest odrębną maszyną wirtualną dostępną jako appliance. Integruje się zvCenter i stanowi interfejs zarządzający (webowy) pozostałymi produktami vShield. 

vShiled Edge jest wirtualnym odpowiednikiem klasycznego sprzętowego rozwiązania bezpieczeństwa. Odpowiada za realizacje takich funkcjonalności jak VPN, Load balancing a w szczególności filtrowania ruchu pomiędzy grupami maszyn wirtualnych oraz pomiędzy maszynami wirtualnymi a siecią zewnętrzną. vShield Edge pełni więc w większości instalacji pełni rolę bramy do internetu oraz urządzenia rutującego. 

Edge może być zaimplementowany na dwa sposoby, albo jak klasyczny firewall rozdzielający ruchu pomiędzy port grupami i bazujący na VLAN-ach (oddzielne port grupy to oddzielne VLAN-y). W takiej konfiguracji Edge ma interfejs w każdej port grupie z niego korzystającej oraz interfejs w VLAN-ie podłączonym do Internetu. 

Drugim sposobem implementacji jest tzw. izolacja port grup (dostępna tylko w połączeniu zeswitch-em dystrybucyjnym). W takiej konfiguracji w hypervisorach instalowany jest specjalny dodatkowy moduł, za pomocą którego maszyny wirtualne są izolowane od siebie (jak przy PVALN-ach) i mogą komunikować się tylko z port grupą w której dostępny jest Edge. 

vShield Appjest rozwiązaniem integrującym się z każdą wirtualną kartą sieciową w ramach infrastruktury i pozwalającym na kontrolę ruchu również pomiędzy maszynami wirtualnymi w ramach port grupy. Dzięki App możemy definiować reguły dostępu bazujące na wspominanych wcześniej kontenerach czy etykietach. App ma mozliwośc kontroli ruchu zarówno w warstwie III jak i warstwach wyższych bazując na sygnaturach aplikacji. Działanie App jest całkowicie transparentne dla maszyn wirtualnych dzięki czemu jego wykorzystanie nie wymaga rekonfiguracji. 

vShield Endpoint i vShield Data Security to dodatkowe rozwiązania mające uczynić z vShieldw pełne rozwiązanie klasy UTM. Endpoint pozwala na kontrole antywirusową poszczególnych maszyn logicznych w ramach infrastruktury. Natomiast Data Security jest klasyczną implementacja filtra DLP mającą na celu ochronę wyjątkowo kluczowych danych przez wyciekiem lub zniszczeniem. 


KształtKorzyści z implementacji 


W kontekście nowych zagrożeń i możliwości powstaje pytanie czy klasyczna metodologia jest już przeżytkiem i czy powinniśmy coraz śmielej kierować nasze oczy w stronę systemów bezpieczeństwa integrujących się z infrastrukturą wirtualną jak np. vShield. 
 
Odpowiedź na tak postawione pytanie nie jest łatwa i w wielu przypadkach zależy od kontekstu.vShield jest rzeczywiście rozwiązaniem bardzo praktycznym, i wygodnym pozwalającym mocno urościć i zautomatyzować wiele procesów. Takie właściwości przydadzą się w szczególności w dużych środowiskach centów danych (np. dostarczycieli rozwiązań chmurowych). W małych i średniej wielkości środowiskach administratorzy zupełnie dobrze radzą sobie bazując na klasycznych sprzętowych rozwiązaniach i segmentując w oparciu o VLAN-y. Takie podejście jak na razie jest równie efektywne a w wielu przypadkach znacznie tańsze. W związku z tym wydaje się, że na obecną chwilę wybór metodologii zależeć będzie raczej od indywidualnych preferencji. 

Natomiast, bezwzględnie nie należy zapominać o dokładnym zabezpieczeniu naszej infrastruktury wirtualnej zgodnie z krótkimi wytycznymi podanymi we wcześniejszych rozdziałach. W wieli przypadkach stosowanie się do takich zaleceń może uchronić nasze systemy (dane) przed poważnymi problemami. 

o Autorze

Michal Kazmierczyk

Zobacz także:

Czy Twoja firma jest gotowa na pracę zdalną?​

Czy Twoja firma jest gotowa na pracę zdalną?​

Dostęp pracowników do Internetu

Dostęp pracowników do Internetu

Budowa bezpiecznych sieci VPN – IPSec i MPLS

Budowa bezpiecznych sieci VPN – IPSec i MPLS

Masz pytania? Napisz do nas!