1. Wprowadzenie
Cześć! Witamy w ćwiczeniach z programowania dotyczących wstępnie skonfigurowanych reguł WAF w Cloud Armor.
Google Cloud Armor to rozwiązanie Google do zabezpieczeń brzegowych sieci firmowych, które zapewnia ochronę przed atakami typu DDOS, egzekwowanie reguł WAF oraz możliwość adaptacyjnego zarządzania na dużą skalę.
Usługa Cloud Armor rozszerzyła wstępnie skonfigurowane zestawy reguł WAF, aby ograniczyć luki w zabezpieczeniach aplikacji internetowych OWASP Top 10. Zestawy reguł są oparte na podstawowym zestawie reguł OWASP Modsecurity w wersji 3.0.2, aby chronić aplikacje przed najpowszechniejszymi zagrożeniami związanymi z bezpieczeństwem aplikacji internetowych, takimi jak uwzględnianie plików lokalnych (lfi), zdalne uwzględnianie plików (rfi), zdalne wykonywanie kodu (rce) i wiele innych.
Z tego ćwiczenia w Codelabs dowiesz się, jak ograniczyć niektóre typowe luki w zabezpieczeniach przy użyciu reguł Google Cloud Armor WAF.
Czego się nauczysz
- Jak skonfigurować grupę instancji i globalny system równoważenia obciążenia na potrzeby obsługi usługi
- Jak skonfigurować zasady zabezpieczeń Cloud Armor ze wstępnie skonfigurowanymi regułami WAF w celu ochrony przed lFi, rce, skanerami, atakami protokołów i ustaleniem sesji
- Jak sprawdzić, czy usługa Cloud Armor złagodziła atak przez obserwację logów.
Czego potrzebujesz
- Podstawowa znajomość Google Compute Engine ( laboratorium)
- Podstawowa wiedza o sieciach i TCP/IP
- Podstawowa wiedza na temat wiersza poleceń systemu Unix/Linux.
- Warto zapoznać się z prezentacją sieci w GCP w temacie Networking in the Google Cloud (Sieć w Google Cloud).
- (Opcjonalnie) Ukończ moduł Cloudnet20 Cloud Armor, aby dowiedzieć się, jak chronić zadania za pomocą wstrzykiwania SQL oraz reguł opartych na adresach IP i lokalizacjach geograficznych.
Topologia ćwiczeń z programowania przypadek użycia
Rysunek 1. Topologia reguł WAF w Cloud Armor w Codelabs
Aplikacja OWASP Juice Shop zbudowana jest przydaje się podczas szkoleń z zakresu bezpieczeństwa i zwiększania świadomości, ponieważ zawiera ona wystąpienia każdej z 10 luk w zabezpieczeniach programu OWASP Top 10. Osoba przeprowadzająca atak może je wykorzystać do celów testowych. W ramach tego ćwiczenia w programie wykorzystamy je do zademonstrowania niektórych ataków na aplikacje, a następnie ochrony aplikacji za pomocą reguł Cloud Armor WAF. Frontendem aplikacji będzie system równoważenia obciążenia Google Cloud, do którego będą stosowane zasady i reguły zabezpieczeń Cloud Armor. Będzie on dostępny w publicznym internecie, dzięki czemu będzie dostępny niemal z każdego miejsca i chroniony za pomocą reguł Cloud Armor i zapory sieciowej VPC.
2. Konfiguracja i wymagania
Samodzielne konfigurowanie środowiska
- Zaloguj się w konsoli Google Cloud i utwórz nowy projekt lub wykorzystaj już istniejący. Jeśli nie masz jeszcze konta Gmail ani Google Workspace, musisz je utworzyć.
Zapamiętaj identyfikator projektu, unikalną nazwę we wszystkich projektach Google Cloud (powyższa nazwa jest już zajęta i nie będzie Ci odpowiadać). W dalszej części tego ćwiczenia w Codelabs będzie ona określana jako PROJECT_ID
.
- Następnie musisz włączyć płatności w Cloud Console, aby korzystać z zasobów Google Cloud.
Ukończenie tego ćwiczenia z programowania nie powinno kosztować zbyt wiele. Postępuj zgodnie z instrukcjami podanymi w sekcji „Czyszczenie” W tym samouczku znajdziesz wskazówki, jak wyłączyć zasoby, aby uniknąć naliczania opłat. Nowi użytkownicy Google Cloud mogą skorzystać z programu bezpłatnego okresu próbnego o wartości 300 USD.
Uruchamianie Cloud Shell
Google Cloud można obsługiwać zdalnie z laptopa, ale w ramach tego ćwiczenia z programowania wykorzystasz Google Cloud Shell – środowisko wiersza poleceń działające w chmurze.
W konsoli GCP kliknij ikonę Cloud Shell na górnym pasku narzędzi:
Uzyskanie dostępu do środowiska i połączenie się z nim powinno zająć tylko kilka chwil. Po zakończeniu powinno pojawić się coś takiego:
Ta maszyna wirtualna ma wszystkie potrzebne narzędzia dla programistów. Zawiera stały katalog domowy o pojemności 5 GB i działa w Google Cloud, znacząco zwiększając wydajność sieci i uwierzytelnianie. Wszystkie zadania w tym module możesz wykonać w przeglądarce.
Zanim zaczniesz
Sprawdź w Cloud Shell, czy identyfikator projektu jest skonfigurowany
gcloud config list project gcloud config set project [YOUR-PROJECT-NAME] PROJECT_ID=[YOUR-PROJECT-NAME] echo $PROJECT_ID
włączyć interfejsy API,
Włącz wszystkie niezbędne usługi
gcloud services enable compute.googleapis.com gcloud services enable logging.googleapis.com gcloud services enable monitoring.googleapis.com
3. Tworzenie sieci VPC
Tworzenie sieci VPC
Z Cloud Shell
gcloud compute networks create ca-lab-vpc --subnet-mode custom
Wyniki
Created NAME SUBNET_MODE BGP_ROUTING_MODE IPV4_RANGE GATEWAY_IPV4 ca-lab-vpc CUSTOM REGIONAL
Tworzenie podsieci
Z Cloud Shell
gcloud compute networks subnets create ca-lab-subnet \ --network ca-lab-vpc --range 10.0.0.0/24 --region us-central1
Wyniki
Created NAME REGION NETWORK RANGE ca-lab-subnet us-central1 ca-lab-vpc 10.0.0.0/24
Tworzenie reguł zapory sieciowej VPC
Po utworzeniu sieci VPC i podsieci skonfiguruj teraz kilka reguł zapory sieciowej. Pierwsza reguła zapory sieciowej będzie używana do zezwalania wszystkim adresom IP na dostęp do zewnętrznego adresu IP witryny testowej na porcie 3000. Druga reguła zapory sieciowej będzie używana do zezwalania na kontrolę stanu ze źródłowego adresu IP systemów równoważenia obciążenia.
Z Cloud Shell
gcloud compute firewall-rules create allow-js-site --allow tcp:3000 --network ca-lab-vpc
Wyniki
Creating firewall...done. NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED allow-js-site ca-lab-vpc INGRESS 1000 tcp:3000 False
Utwórz reguły FW, aby umożliwić kontrole stanu z zakresów kontroli stanu Google.
Z Cloud Shell
gcloud compute firewall-rules create allow-health-check \ --network=ca-lab-vpc \ --action=allow \ --direction=ingress \ --source-ranges=130.211.0.0/22,35.191.0.0/16 \ --target-tags=allow-healthcheck \ --rules=tcp
Wyniki
Creating firewall...done. NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED allow-health-check ca-lab-vpc INGRESS 1000 tcp False
4. Konfigurowanie aplikacji testowej
Następnym krokiem jest utworzenie aplikacji testowej, w tym przypadku serwera WWW OWASP Juice Shop.
Podczas tworzenia instancji Compute używamy obrazu kontenera, aby zapewnić serwerowi dostęp do odpowiednich usług. Ten serwer zostanie wdrożony w regionie us-central1-c i będzie miał tag sieciowy umożliwiający kontrolę stanu.
Tworzenie aplikacji OWASP Juice Shop
Jako aplikację z lukami w zabezpieczeniach użyj dobrze znanej aplikacji OWASP Juice Shop. Za pomocą tej aplikacji możesz też przeprowadzać testy zabezpieczające OWASP na tej stronie.
Z Cloud Shell
gcloud compute instances create-with-container owasp-juice-shop-app --container-image bkimminich/juice-shop \ --network ca-lab-vpc \ --subnet ca-lab-subnet \ --private-network-ip=10.0.0.3 \ --machine-type n1-standard-2 \ --zone us-central1-c \ --tags allow-healthcheck
Wyniki
NAME ZONE MACHINE_TYPE PREEMPTIBLE owasp-juice-shop-app us-central1-c n1-standard-2 INTERNAL_IP EXTERNAL_IP STATUS 10.0.0.3 <public IP> RUNNING
Skonfiguruj komponent systemu równoważenia obciążenia Cloud: grupa instancji
Utwórz niezarządzaną grupę instancji.
Z Cloud Shell
gcloud compute instance-groups unmanaged create juice-shop-group \ --zone=us-central1-c
Wyniki
NAME LOCATION SCOPE NETWORK MANAGED INSTANCES juice-shop-group us-central1-c zone 0
Dodaj instancję GCE Juice Shop do niezarządzanej grupy instancji.
Z Cloud Shell
gcloud compute instance-groups unmanaged add-instances juice-shop-group \ --zone=us-central1-c \ --instances=owasp-juice-shop-app
Wyniki
Updated [https://www.googleapis.com/compute/v1/projects/<project name>/zones/us-central1-c/instanceGroups/juice-shop-group].
Ustaw nazwany port na port aplikacji Juice Shop.
Z Cloud Shell
gcloud compute instance-groups unmanaged set-named-ports \ juice-shop-group \ --named-ports=http:3000 \ --zone=us-central1-c
Wyniki
Updated [https://www.googleapis.com/compute/v1/projects/<project name>/zones/us-central1-c/instanceGroups/juice-shop-group].
Po utworzeniu niezarządzanej grupy instancji utwórz kontrolę stanu, usługę backendu, mapę URL, docelowy serwer proxy i regułę przekierowania.
Konfigurowanie komponentu systemu równoważenia obciążenia Cloud: kontrola stanu
Utwórz kontrolę stanu portu obsługi cukierni soków.
Z Cloud Shell
gcloud compute health-checks create tcp tcp-port-3000 \ --port 3000
Wyniki
Created NAME PROTOCOL tcp-port-3000 TCP
Konfigurowanie komponentu systemu równoważenia obciążenia Cloud: usługa backendu
Utwórz parametry usługi backendu.
Z Cloud Shell
gcloud compute backend-services create juice-shop-backend \ --protocol HTTP \ --port-name http \ --health-checks tcp-port-3000 \ --enable-logging \ --global
Wyniki
NAME BACKENDS PROTOCOL juice-shop-backend HTTP
Dodaj grupę instancji Juice Shop do usługi backendu.
Z Cloud Shell
gcloud compute backend-services add-backend juice-shop-backend \ --instance-group=juice-shop-group \ --instance-group-zone=us-central1-c \ --global
Wyniki
Updated [https://www.googleapis.com/compute/v1/projects/cythom-host1/global/backendServices/juice-shop-backend].
Konfigurowanie komponentu automatycznego systemu równoważenia obciążenia: mapa URL
Utwórz mapę URL, która ma zostać wysłana do backendu.
Z Cloud Shell
gcloud compute url-maps create juice-shop-loadbalancer \ --default-service juice-shop-backend
Wyniki
NAME DEFAULT_SERVICE juice-shop-loadbalancer backendServices/juice-shop-backend
Skonfiguruj komponent systemu równoważenia obciążenia Clud: docelowy serwer proxy.
Utwórz docelowy serwer proxy, aby umieścić mapę na początku mapy URL.
Z Cloud Shell
gcloud compute target-http-proxies create juice-shop-proxy \ --url-map juice-shop-loadbalancer
Wyniki
NAME URL_MAP juice-shop-proxy juice-shop-loadbalancer
Konfigurowanie komponentu systemu równoważenia obciążenia Cloud: reguła przekierowania
Utwórz regułę przekierowania dla systemu równoważenia obciążenia.
Z Cloud Shell
gcloud compute forwarding-rules create juice-shop-rule \ --global \ --target-http-proxy=juice-shop-proxy \ --ports=80
Wyniki
Created [https://www.googleapis.com/compute/v1/projects/cythom-host1/global/forwardingRules/juice-shop-rule].
Sprawdzanie, czy sklep z sokami jest online
Z Cloud Shell
PUBLIC_SVC_IP="$(gcloud compute forwarding-rules describe juice-shop-rule --global --format="value(IPAddress)")"
Z Cloud Shell
echo $PUBLIC_SVC_IP
Wyniki
<public VIP of service>
Poczekaj kilka minut, zanim przejdziesz dalej. W przeciwnym razie możesz otrzymać odpowiedź HTTP/1.1 „404 – nie znaleziono”.
Z Cloud Shell
curl -Ii http://$PUBLIC_SVC_IP
Wyniki
HTTP/1.1 200 OK <...>
Możesz też otworzyć sklep z sokami w przeglądarce.
Teraz możesz zapoznać się z lukami w zabezpieczeniach sklepu Juice Shop i chronić się przed nimi za pomocą zestawów reguł WAF w Cloud Armor.
5. Demonstracja znanych luk w zabezpieczeniach
Aby zaoszczędzić czas, zademonstrujemy stany przed i po rozpowszechnieniu reguł Cloud Armor WAF w etapach skróconych.
Obserwowanie luki w zabezpieczeniach LFI: przemierzanie ścieżki
Uwzględnienie plików lokalnych to proces obserwowania plików znajdujących się na serwerze przez wykorzystanie braku weryfikacji danych wejściowych w żądaniu do potencjalnego ujawnienia danych wrażliwych. Poniższy przykład pokazuje tylko, że przemierzanie ścieżki jest możliwe. W przeglądarce lub za pomocą narzędzia curl obserwuj istniejącą ścieżkę serwowaną przez aplikację.
Z Cloud Shell
curl -Ii http://$PUBLIC_SVC_IP/ftp
Wyniki
HTTP/1.1 200 OK <...>
Zauważ też, że przemierzanie ścieżki również działa:
Z Cloud Shell
curl -Ii http://$PUBLIC_SVC_IP/ftp/../
Wyniki
HTTP/1.1 200 OK <...>
Obserwowanie luki w zabezpieczeniach RCE
Zdalne wykonywanie kodu obejmuje różne scenariusze wstrzykiwania poleceń w systemie UNIX i Windows, co pozwala osobom przeprowadzającym atak na wykonywanie poleceń systemu operacyjnego, które są zwykle ograniczone do użytkowników z podwyższonymi uprawnieniami. Poniżej przedstawiono proste wykonanie polecenia ls przekazane przez niego.
Z Cloud Shell
curl -Ii http://$PUBLIC_SVC_IP/ftp?doc=/bin/ls
Wyniki
HTTP/1.1 200 OK <...>
Możesz usunąć flagi curl, aby zobaczyć pełne dane wyjściowe.
Obserwowanie dostępu dobrze znanego skanera
Zarówno aplikacje komercyjne, jak i open source do skanowania do różnych celów, w tym skanowania w poszukiwaniu luk w zabezpieczeniach. Narzędzia te korzystają ze znanych nagłówków User-Agent i innych nagłówków. Obserwuj curl ze znanym nagłówkiem User-Agent:
Z Cloud Shell
curl -Ii http://$PUBLIC_SVC_IP -H "User-Agent: blackwidow"
Wyniki
HTTP/1.1 200 OK <...>
Obserwowanie ataku protokołu: podział HTTP
Niektóre aplikacje internetowe generują nagłówki w odpowiedziach na podstawie danych wejściowych użytkownika. Jeśli aplikacja nie filtruje prawidłowo danych wejściowych, osoba przeprowadzająca atak może zanieczyść parametr wejściowy sekwencją %0d%0a (sekwencją CRLF wykorzystywaną do rozdzielania różnych wierszy). Odpowiedź może zostać zinterpretowana jako 2 odpowiedzi przez dowolny element, który dokonuje jej analizy, np. przez pośredni serwer proxy, który może wyświetlać fałszywe treści w kolejnych żądaniach. Wstaw sekwencję %0d%0a do parametru wejściowego, co może spowodować wyświetlenie strony wprowadzającej w błąd.
Z Cloud Shell
curl -Ii "http://$PUBLIC_SVC_IP/index.html?foo=advanced%0d%0aContent-Length:%200%0d%0a%0d%0aHTTP/1.1%20200%20OK%0d%0aContent-Type:%20text/html%0d%0aContent-Length:%2035%0d%0a%0d%0a<html>Sorry,%20System%20Down</html>"
Wyniki
HTTP/1.1 200 OK <...>
Obserwuj utrwalanie sesji
Z Cloud Shell
curl -Ii http://$PUBLIC_SVC_IP -H session_id=X
Wyniki
HTTP/1.1 200 OK <...>
6. Definiowanie reguł Cloud Armor WAF
Wyświetl listę wstępnie skonfigurowanych reguł WAF:
Z Cloud Shell
gcloud compute security-policies list-preconfigured-expression-sets
Wyniki
EXPRESSION_SET Sqli-canary RULE_ID owasp-crs-v030001-id942110-sqli owasp-crs-v030001-id942120-sqli <...>
Tworzenie zasady zabezpieczeń Cloud Armor
W Cloud Shell:
gcloud compute security-policies create block-with-modsec-crs \ --description "Block with OWASP ModSecurity CRS"
Aktualizowanie domyślnej reguły zasady zabezpieczeń
Pamiętaj, że domyślny priorytet reguły ma wartość liczbową 2147483647.
W Cloud Shell:
gcloud compute security-policies rules update 2147483647 \ --security-policy block-with-modsec-crs \ --action "deny-403"
Ponieważ reguła domyślna ma skonfigurowaną opcję odmowy działań, musimy zezwolić na dostęp z Twojego adresu IP. Znajdź swój publiczny adres IP (curl, ipmonkey, whatismyip itp.).
W Cloud Shell:
MY_IP=$(curl ifconfig.me)
Dodaj pierwszą regułę, która zezwala na dostęp z Twojego adresu IP (WPISZ PONIŻEJ ADRES IP)
W Cloud Shell:
gcloud compute security-policies rules create 10000 \ --security-policy block-with-modsec-crs \ --description "allow traffic from my IP" \ --src-ip-ranges "$MY_IP/32" \ --action "allow"
Aktualizowanie zasady zabezpieczeń w celu blokowania ataków LFI
Zastosuj zestaw reguł OWASP ModSecurity Core , który uniemożliwia przemierzanie ścieżki w przypadku uwzględnienia plików lokalnych.
W Cloud Shell:
gcloud compute security-policies rules create 9000 \ --security-policy block-with-modsec-crs \ --description "block local file inclusion" \ --expression "evaluatePreconfiguredExpr('lfi-stable')" \ --action deny-403
Aktualizowanie zasady zabezpieczeń w celu blokowania zdalnego wykonywania kodu (rce)
Zgodnie z zestawem reguł OWASP ModSecurity Core stosuj reguły, które szukają rce, w tym wstrzykiwania poleceń. Typowe polecenia systemu operacyjnego są wykrywane i blokowane.
W Cloud Shell:
gcloud compute security-policies rules create 9001 \ --security-policy block-with-modsec-crs \ --description "block rce attacks" \ --expression "evaluatePreconfiguredExpr('rce-stable')" \ --action deny-403
Aktualizowanie zasady zabezpieczeń w celu blokowania skanerów zabezpieczeń
Zastosuj zestaw reguł OWASP ModSecurity Core Rule, aby zablokować dobrze znane skanery zabezpieczeń, klienty HTTP i roboty sieciowe.
W Cloud Shell:
gcloud compute security-policies rules create 9002 \ --security-policy block-with-modsec-crs \ --description "block scanners" \ --expression "evaluatePreconfiguredExpr('scannerdetection-stable')" \ --action deny-403
Aktualizowanie zasady zabezpieczeń w celu blokowania ataków protokołów
Zgodnie z zestawem reguł OWASP ModSecurity Security Core stosuj reguły uwzględniające znaki %0d powrotu karetki (CR) i LF (LF) %0a oraz inne rodzaje ataków protokołów, takie jak przemyt żądań HTTP.
W Cloud Shell:
gcloud compute security-policies rules create 9003 \ --security-policy block-with-modsec-crs \ --description "block protocol attacks" \ --expression "evaluatePreconfiguredExpr('protocolattack-stable')" \ --action deny-403
Aktualizowanie zasady zabezpieczeń w celu blokowania utrwalania sesji
Zgodnie z zestawem reguł OWASP ModSecurity Core stosuj reguły, które...
W Cloud Shell:
gcloud compute security-policies rules create 9004 \ --security-policy block-with-modsec-crs \ --description "block session fixation attacks" \ --expression "evaluatePreconfiguredExpr('sessionfixation-stable')" \ --action deny-403
Dołączanie zasady zabezpieczeń do usługi backendu
W Cloud Shell:
gcloud compute backend-services update juice-shop-backend \ --security-policy block-with-modsec-crs \ --global
Rozpowszechnienie reguł może trochę potrwać (maksymalnie 10 minut). Gdy będziesz mieć pewność, że upłynęło wystarczająco dużo czasu, przetestuj luki w zabezpieczeniach, aby potwierdzić egzekwowanie reguły WAF w następnym kroku.
7. Obserwuj ochronę Cloud Armor za pomocą zestawu reguł OWASP ModSecurity
Potwierdzanie, że luka w zabezpieczeniach LFI została wyeliminowana
Z Cloud Shell
curl -Ii http://$PUBLIC_SVC_IP/?a=../
Wyniki
HTTP/1.1 403 Forbidden <...>
Potwierdzanie, że atak RCE jest złagodzony
Z Cloud Shell
curl -Ii http://$PUBLIC_SVC_IP/ftp?doc=/bin/ls
Wyniki
HTTP/1.1 403 Forbidden <..>
Potwierdź wykrywanie dobrze znanego skanera
Z Cloud Shell
curl -Ii http://$PUBLIC_SVC_IP -H "User-Agent: blackwidow"
Wyniki
HTTP/1.1 403 Forbidden <..>
Potwierdzanie, że atak z protokołem został złagodzony
Zgodnie z zestawem reguł OWASP ModSecurity Core Rule w wersji 3.0.2 atak na protokół jest ograniczany przez
Z Cloud Shell
curl -Ii "http://$PUBLIC_SVC_IP/index.html?foo=advanced%0d%0aContent-Length:%200%0d%0a%0d%0aHTTP/1.1%20200%20OK%0d%0aContent-Type:%20text/html%0d%0aContent-Length:%2035%0d%0a%0d%0a<html>Sorry,%20System%20Down</html>"
Wyniki
HTTP/1.1 403 Forbidden <..>
Potwierdzanie, że próby rozwiązania problemów z sesją są blokowane
Z Cloud Shell
curl -Ii http://$PUBLIC_SVC_IP/?session_id=a
Wyniki
HTTP/1.1 403 Forbidden <..>
8. Sprawdź reguły zabezpieczeń Cloud Armor
Po utworzeniu zasady zabezpieczeń przyjrzyjmy się dokładnie tym, które reguły zostały skonfigurowane.
Reguły są sprawdzane według priorytetu: w pierwszej kolejności są sprawdzane niższe wartości. Po aktywowaniu reguły przetwarzanie nie jest kontynuowane w przypadku reguł o wyższym priorytecie.
- Priorytet 9000 – blokuj LFI (uwzględnianie plików lokalnych)
- Priorytet 9001 – blokuj RCE (zdalne wykonywanie kodu/wstrzykiwanie poleceń)
- Priorytet 9002 – blokuj skanery
- Priorytet 9003 – blokuj ataki protokołów, np. podział HTTP i przemyt HTTP
- Priorytet 9004 – blokuj ataki polegające na utrwalaniu sesji
- Priorytet 10000 – zezwalanie na dostęp do witryny z wykorzystaniem Twojego adresu IP
- Domyślny priorytet – Odrzucaj.
*Zwróć uwagę na komunikat „zezwól na swój adres IP”. jest skonfigurowana z numerem o najwyższym priorytecie, co umożliwia dostęp do witryny, jednak blokuje wszelkie atak.
9. Obserwuj logi zasad zabezpieczeń Cloud Armor
Na stronie konsoli Cloud Armor możesz wyświetlić szczegóły zasady zabezpieczeń. Kliknij kartę Logs
, a następnie link View policy logs
, aby przejść na stronę Cloud Logging. Jest on automatycznie filtrowany na podstawie interesującej Cię zasady bezpieczeństwa, np. resource.type:(http_load_balancer) AND jsonPayload.enforcedSecurityPolicy.name:(block-with-modsec-crs)
Zapoznaj się z kodami odpowiedzi na błąd 403 i rozwiń szczegóły dziennika, aby zobaczyć nazwę egzekwowanej zasady zabezpieczeń, dopasowaną wartość pola oraz wstępnie skonfigurowane identyfikatory wyrażeń (lub identyfikator podpisu). Poniższe zrzuty ekranu przedstawiają przykłady dzienników egzekwowanych zasad zabezpieczeń skonfigurowanych w ramach tego ćwiczenia w Codelabs.
Dziennik LFI
Dziennik RCE
Dziennik wykrywania skanera
Dziennik ataku protokołu
Dziennik naprawy sesji
10. Czyszczenie modułu
Po ukończeniu modułu usuń zasoby.
Uruchom te polecenia, aby usunąć zasadę zabezpieczeń Cloud Armor, system równoważenia obciążenia, instancje, reguły zapory sieciowej i sieć VPC.
Usuwanie zasady zabezpieczeń Cloud Armor z usługi backendu
gcloud -q compute backend-services update juice-shop-backend --security-policy "" --global
Usuwanie zasady zabezpieczeń Cloud Armor
Usunięcie zasady zabezpieczeń spowoduje automatyczne usunięcie powiązanych reguł.
gcloud -q compute security-policies delete block-with-modsec-crs
Usuwanie zasobów systemu równoważenia obciążenia
Te zasoby systemu równoważenia obciążenia, które mają zostać usunięte, obejmują regułę przekierowania, docelowe serwery proxy HTTP, mapy URL, backend, kontrole stanu i grupę instancji.
gcloud -q compute forwarding-rules delete juice-shop-rule --global gcloud -q compute target-http-proxies delete juice-shop-proxy gcloud -q compute url-maps delete juice-shop-loadbalancer gcloud -q compute backend-services delete juice-shop-backend \ --global gcloud -q compute health-checks delete tcp-port-3000 gcloud -q compute instance-groups unmanaged delete juice-shop-group --zone=us-central1-c
Usuwanie instancji
gcloud -q compute instances delete owasp-juice-shop-app --zone us-central1-c
Usuwanie reguł zapory sieciowej, podsieci i sieci VPC
gcloud -q compute firewall-rules delete allow-health-check gcloud -q compute firewall-rules delete allow-js-site gcloud -q compute networks subnets delete ca-lab-subnet --region us-central1 gcloud -q compute networks delete ca-lab-vpc
11. Gratulacje!
Gratulujemy ukończenia ćwiczenia z programowania dotyczącego wstępnie skonfigurowanych reguł WAF w Cloud Armor.
Omówione zagadnienia
- Jak skonfigurować grupę instancji i globalny system równoważenia obciążenia Cloud
- Jak skonfigurować zasady zabezpieczeń Cloud Armor ze wstępnie skonfigurowanymi regułami WAF w celu ochrony przed lFi, rce, skanerami, atakami protokołów i ustaleniem sesji
- Jak sprawdzić za pomocą logów, czy usługa Cloud Armor oszczędziła niektóre ataki OWASP z najwyższej półki
Dalsze kroki
- Chroń aplikację przed lukami w zabezpieczeniach OWASP Top 10 przy użyciu wstępnie skonfigurowanych reguł WAF w Cloud Armor
- Dostosowywanie reguł na podstawie poziomów poufności
- Zapoznaj się z informacjami o języku reguł niestandardowych, aby zwiększyć szczegółowość egzekwowania zabezpieczeń.