Bezpieczeństwo i ochrona przed atakami w sieci rośnie do miana jednego z wyzwań współczesności. Jeżeli słuchacie regularnie naszych podcastów Fly Talks, to wiecie, że wielu z zapraszanych gości specjalizuje się właśnie w kwestiach bezpieczeństwa. W tym artykule przedstawiamy Google Cloud Armor. Czym jest zbroja od Google? Przed czym chroni? Jak ją zintegrować z innymi usługami i jakie są najlepsze praktyki jej stosowania? Zobaczmy.
Co to jest Google Cloud Armor
Google Cloud Armor to jedna z usług dostępnych w ramach chmury Googla, która zabezpiecza projekty wdrożone w ramach Google Cloud przed atakami, takimi jak DDoS (distributed denial-of-service), XSS (cross-site scripting) oraz SQLi (SQL injection). Część z dostępnych w ramach Google Cloud Armor zabezpieczeń działa automatycznie, ale nie wszystkie.
Co ważne, z zabezpieczenia Google Cloud Armor warto skorzystać również wtedy, kiedy Google Cloud nie jest naszym jedynym rozwiązaniem chmurowym. Ochrona zadziała również w przypadku modelu hybrydowego, czy multi chmury. W przypadku takiej architektury backend dla load balancera musi być typu Internet NEG (network endpoints groups).
Pole bitwy, czyli warstwa 7
Jeżeli znacie model referencyjny ISO/OSI standaryzujący komunikację sieciową pomiędzy różnymi urządzeniami, to wiecie, że warstwa siódma, najwyższa odpowiada za poziom aplikacji. To właśnie w tej warstwie działa ficzer “Adaptive Protection”. Jego zadaniem jest zablokować atak, zanim dotrze on do backendu load balancera. Każda z zasad bezpieczeństwa dzieli się na zestaw reguł filtrujących ruch w oparciu o adres IP przychodzącego żądania, zakres adresów IP, kod regionu lub też nagłówki żądań. Tworząc customowe reguły korzysta się z parametrów warstwa L3-L7.
Definiowanie reguł Google Cloud Armor
W ramach Google Cloud Armor możliwe jest definiowanie reguł z priorytetem. Można również korzystać z wstępnie skonfigurowanych reguł WAF (web application firewall) posiadających dziesiątki sygnatur kompilowanych z branżowych standardów dostępnych w ramach open source, przy czym każda z sygnatur odpowiada regule wykrywania ataków w zestawie reguł. Reguły WAF ograniczają 10 największych zagrożeń związanych z lukami w zabezpieczeniach aplikacji internetowych OWASP.
Korzystanie z reguł to spora wygoda. Pozwalają one Google Cloud Armor ocenić dziesiątki różnych sygnatur ruchu, odwołując się do dowolnie nazwanych reguł, zamiast zmuszać użytkownika do ręcznego definiowania każdej sygnatury.
Jak działa Google Cloud Armor?
Google Cloud Armor:
- zapewnia stale włączoną ochronę przed atakami DDoS opartymi na sieci lub protokole,
- chroni aplikacje oraz usługi znajdujące się za load balancerem,
- jest w stanie wykryć i złagodzić ataki sieciowe, przepuszczając przez serwery proxy tylko prawidłowe zapytania,
- w przypadku stosowania reguł customowych można używać parametrów z warstw L3-L7 i dla każdej z tych reguł możliwe jest włączenie Adaptive Protection, który wykrywa i blokuje ataki DDoS w warstwie 7
Poniższy diagram przedstawia lokalizację globalnych zewnętrznych modułów Load Balancerów aplikacji, sieci Google oraz centrów danych Google.
Google Cloud Armor w praktyce
Zobacz, w jaki sposób możesz kontrolować dostęp do swoich aplikacji oraz usług.
Włączenie dostępu dla użytkowników z określonych adresów IP przy wykorzystaniu list dozwolonych (allowlists)
Typową sytuację przedstawia poniższy schemat. W tym przypadku dostęp do usług za load balancerem mają wyłącznie członkowie organizacji, a więc posiadający adresy IP lub bloki adresów przypisane przez organizację i umieszczone na liście dozwolonych adresów. Pozwala to kontrolować dostęp zarówno do zewnętrznego jak i klasycznego Application Load Balancera.
Jeżeli organizacja korzysta z zewnętrznego dostawcy zabezpieczeń do oczyszczania ruchu, to możesz dodać jego adres IP do listy dozwolonych. Schemat będzie wyglądał następująco:
Blokowanie adresów z wykorzystaniem list odrzuconych (denylists)
Google Cloud Armor pozwala też na odwrotne działanie, a więc tworzenie zasad bezpieczeństwa odrzucających ruch z określonych adresów IP lub zakresu CIDR. Praktykę tę przedstawia poniższy schemat.
Stosowanie niestandardowych reguł do filtrowania parametrów pomiędzy warstwami
W ramach Google Cloud Armor możesz korzystać z języka reguł niestandardowych, co pozwala zdefiniować jedno lub więcej wyrażeń w warunkach dopasowania reguły. Następnie, kiedy Google Cloud Armor otrzymuje żądanie, ocenia je pod kątem tych wyrażeń, co pozwala na blokowanie lub dopuszczenie ruchu zewnętrznego.
Korzystanie z Google Cloud Armor do ochrony źródłowego serwera Cloud CDN
Aby ograniczyć ryzyko ataku źródłowego serwera Cloud CDN przez iniekcję SQL (SQLi) lub cross-site scripting (XSS) należy:
- utworzyć lub zidentyfikować usługę backendową z włączoną usługą CDN,
- utworzyć zasady bezpieczeństwa Google Cloud Armor,
- utworzyć jedną lub więcej reguł w polityce bezpieczeństwa, które pomogą odrzucić ataki warstwy siódmej,
- skonfigurować jeden z celów zasad bezpieczeństwa jako usług backendową wymienioną w pierwszym kroku.
Pomoc we wdrożeniu Google Cloud Armor
Aby sprawnie korzystać z tak ważnego narzędzia jak Google Cloud Armor, swoistej chmurowej polisy bezpieczeństwa, warto skorzystać z pomocy osoby posiadającej certyfikat Google Cloud Architect. Tego typu doradców można znaleźć na pokładzie firmy partnerskiej Google Cloud – FOTC. Dowiedz się, jak krok po kroku przejść przez instalację Google Cloud Armor, zabezpiecz swoje usługi i aplikacje online i nie daj się atakom, których natężenie przybiera ostatnio na sile.