Realne bezpieczeństwo wirtualnych maszyn
- Throop Wilder,
- 07.07.2009
Wirtualizacja centrum danych stawia poważne pytania odnośnie do wyboru miejsca zabezpieczeń sieciowych i sposobu przepływu danych. Można użyć kilku modeli. Przedstawiamy wady i zalety trzech z nich.
Firmy zazwyczaj bronią serwisów za pomocą mocnych zapór sieciowych i innych rozwiązań, tworząc strefę, która jest silnie pilnowana przed atakami z zewnątrz, ale zabezpieczenia wewnątrz niej są niezbyt silne. Systemy zabezpieczeń oparte na strefach bardzo dobrze sprawdziły się przy ochronie przed propagacją zagrożeń, związanych ze złośliwym kodem i atakami z zewnątrz. Bariery wyznaczane przez te systemy stały się ważnymi punktami kontrolnymi, które oddzielały trzy najważniejsze warstwy dzisiejszych aplikacji - dystrybucja internetowa za pomocą technologii webowych, warstwa serwerów aplikacyjnych i warstwa baz danych, wykorzystywanych przez aplikacje. Następnym krokiem był dalszy podział tych stref pod kątem usług, jednostek biznesowych (a nawet pojedynczych centrów kosztów) i innych kryteriów, niezwiązanych bezpośrednio z konstrukcją serwisu.
Trójwarstwowa architektura dzisiejszych aplikacji umożliwia elastyczną wirtualizację, co przekłada się na częste wdrożenia systemów IT w środowisku wirtualizowanym. Infrastruktura zabezpieczeń aplikacji też musi odzwierciedlać elastyczność wirtualizowanej aplikacji, aby nie być wąskim gardłem. Oprócz ograniczeń, wynikających z wymaganego poziomu bezpieczeństwa (w tradycyjnym modelu może to być polityka zakładająca korzystanie przez maszyny wirtualnej wyłącznie z rzeczywistych interfejsów sieciowych, aby ruch przechodził przez osobno wdrożone zapory), systemy ochrony wirtualizowanych aplikacji muszą gwarantować pracę w czasie rzeczywistym z dużą przepustowością i stałymi, niskimi wartościami opóźnień. Działy projektowe dostawców rozwiązań wirtualizacyjnych pracują nad takimi modelami zabezpieczeń już dziś.
1. Dwa modele wirtualizacji
Na pierwszą koncepcję składają się dwie ważne reguły. Najważniejszą z zasad jest wirtualizacja wszystkich warstw jako całości, a nie oddzielnie, przy czym ruch między nimi powinien przechodzić przez fizycznie odseparowane urządzenia. Drugą z nich jest stosowanie rozwiązań z dziedziny bezpieczeństwa, które umożliwiają konsolidację wielu usług. Usługi te mogą być wywołane w dowolnej kombinacji, zależnie od interfejsów, przez które przechodzi ruch. Rozwiązanie takie umożliwi utrzymanie dobrej wydajności, opóźnień i połączeń. O takich rozwiązaniach można powiedzieć, że są "drugą chmurą".
Koncepcja wirtualizacji w warstwach (takich jak serwery WWW, aplikacyjne i warstwa baz danych), ma jednak wady, gdyż poszczególne warstwy aplikacji mogą być obciążone różnymi rodzajami ryzyka. Gdy wirtualizuje się aplikacje w ten sposób, zagrożenia pozostają w obrębie jednego lub kilku serwerów, przechodząc pomiędzy granicami warstw. Przedstawia to pierwszy model. Innym rozwiązaniem jest podział funkcjonalny, gdzie wszystkie maszyny wirtualne obsługujące serwery WWW są na jednej grupie fizycznych maszyn, a pozostałe maszyny wirtualne pracują na oddzielnym zestawie serwerów. Połączenia między warstwami odbywają się za pomocą łącz między serwerami - to przedstawia drugi model.