Zarządzanie botami za pomocą Google Cloud Armor + reCAPTCHA

1. Wprowadzenie

Równoważenie obciążenia HTTP(S) w Google Cloud jest wdrażane na brzegu sieci Google w punktach dostępowych Google na całym świecie. Ruch użytkowników kierowany do systemu równoważenia obciążenia HTTP(S) trafia do punktu dostępu najbliższego użytkownikowi, a następnie obciążenie jest równoważone w globalnej sieci Google do najbliższego backendu, który ma wystarczającą wydajność.

Cloud Armor to system wykrywania ataków typu DDoS i zapora sieciowa aplikacji internetowych (WAF) od Google. Cloud Armor jest ściśle powiązany z systemem równoważenia obciążenia HTTP Google Cloud i chroni aplikacje klientów Google Cloud przed atakami z internetu. reCAPTCHA Enterprise to usługa, która chroni Twoją witrynę przed spamem i nadużyciami. Korzysta z interfejsu reCAPTCHA API, który wykorzystuje zaawansowane techniki analizy ryzyka, aby odróżnić ludzi od botów. Cloud Armor Bot Management to kompleksowe rozwiązanie integrujące wykrywanie i ocenę botów w reCAPTCHA Enterprise z egzekwowaniem zasad przez Cloud Armor na brzegu sieci w celu ochrony aplikacji działających na niższych poziomach.

W tym module skonfigurujesz system równoważenia obciążenia HTTP z backendem, tak jak to widać na schemacie poniżej. Następnie dowiesz się, jak skonfigurować klucz witryny tokena sesji reCAPTCHA i umieścić go w witrynie. Dowiesz się też, jak skonfigurować przekierowanie do ręcznego zadania reCAPTCHA Enterprise. Następnie skonfigurujemy zasadę zarządzania botami w Cloud Armor, aby pokazać, jak wykrywanie botów chroni aplikację przed złośliwym ruchem generowanym przez boty.

8b46e6728996bc0c.png

Czego się nauczysz

  • Jak skonfigurować system równoważenia obciążenia HTTP z odpowiednimi kontrolami stanu.
  • Jak utworzyć klucz witryny strony z wyzwaniem reCAPTCHA WAF i powiązać go z zasadami zabezpieczeń Cloud Armor.
  • Jak utworzyć klucz witryny tokena sesji reCAPTCHA i zainstalować go na stronach internetowych.
  • Jak utworzyć zasadę zarządzania botami w Cloud Armor.
  • Jak sprawdzić, czy zasady zarządzania botami obsługują ruch na podstawie skonfigurowanych reguł.

Czego potrzebujesz

  • Podstawowa znajomość sieci i protokołu HTTP
  • Podstawowa znajomość wiersza poleceń w systemach Unix i Linux

2. Konfiguracja i wymagania

Samodzielne konfigurowanie środowiska

  1. Zaloguj się w konsoli Google Cloud i utwórz nowy projekt lub użyj istniejącego. Jeśli nie masz jeszcze konta Gmail ani Google Workspace, musisz je utworzyć.

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

bd84a6d3004737c5.png

  • Nazwa projektu to wyświetlana nazwa uczestników tego projektu. Jest to ciąg znaków, który nie jest używany przez interfejsy API Google. Możesz go w dowolnym momencie zaktualizować.
  • Identyfikator projektu musi być unikalny we wszystkich projektach Google Cloud i jest niezmienny (nie można go zmienić po ustawieniu). Konsola Cloud automatycznie generuje unikalny ciąg znaków. Zwykle nie musisz się nim przejmować. W większości modułów z kodem musisz odwoływać się do identyfikatora projektu (zwykle oznaczanego jako PROJECT_ID). Jeśli Ci się nie podoba, wygeneruj inny losowy identyfikator lub spróbuj użyć własnego i sprawdź, czy jest dostępny. Po utworzeniu projektu jest on „zamrażany”.
  • Istnieje też trzecia wartość, czyli numer projektu, którego używają niektóre interfejsy API. Więcej informacji o tych 3 wartościach znajdziesz w dokumentacji.
  1. Następnie musisz włączyć płatności w konsoli Cloud, aby korzystać z zasobów i interfejsów API Google Cloud. Ukończenie tego laboratorium nie powinno wiązać się z dużymi kosztami, a nawet z żadnymi. Aby wyłączyć zasoby i uniknąć naliczenia opłat po zakończeniu tego samouczka, postępuj zgodnie z instrukcjami „czyszczenia” na końcu ćwiczenia. Nowi użytkownicy Google Cloud mogą skorzystać z bezpłatnego okresu próbnego, w którym mają do dyspozycji środki w wysokości 300 USD.

Uruchamianie Cloud Shell

Z Google Cloud można korzystać zdalnie na laptopie, ale w tym module praktycznym będziesz używać Google Cloud Shell, czyli środowiska wiersza poleceń działającego w chmurze.

W konsoli GCP kliknij ikonę Cloud Shell na pasku narzędzi w prawym górnym rogu:

55efc1aaa7a4d3ad.png

Uzyskanie dostępu do środowiska i połączenie się z nim powinno zająć tylko kilka chwil. Po zakończeniu powinno wyświetlić się coś takiego:

7ffe5cbb04455448.png

Ta maszyna wirtualna zawiera wszystkie potrzebne narzędzia dla programistów. Zawiera również stały katalog domowy o pojemności 5 GB i działa w Google Cloud, co znacznie zwiększa wydajność sieci i usprawnia proces uwierzytelniania. Wszystkie zadania w tym module możesz wykonać w przeglądarce.

Zanim zaczniesz

W Cloud Shell sprawdź, 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
gcloud services enable recaptchaenterprise.googleapis.com

3. Konfigurowanie reguł zapory sieciowej zezwalających na ruch HTTP i SSH do backendów

Skonfiguruj reguły zapory sieciowej tak, aby przepuszczała ruch HTTP do backendów z kontroli stanu Google Cloud i systemu równoważenia obciążenia. Skonfiguruj też regułę zapory sieciowej, która zezwala na połączenia SSH z instancjami.

Będziemy używać domyślnej sieci VPC utworzonej w Twoim projekcie. Utwórz regułę zapory sieciowej, która umożliwi ruch HTTP do backendów. Kontrola stanu wskazuje instancje systemu równoważenia obciążenia, które mogą otrzymywać nowe połączenia. Do równoważenia obciążenia HTTP kontrola stanu sonduje Twoje instancje o zrównoważonym obciążeniu, które pochodzą z adresów w zakresach: 130.211.0.0/22 i 35.191.0.0/16. Twoje reguły zapory sieciowej VPC muszą przepuszczać te połączenia. Systemy równoważenia obciążenia komunikują się z backendem w tym samym zakresie adresów IP.

  1. W konsoli Google Cloud otwórz menu nawigacyjne ( mainmenu.png) i kliknij Sieć VPC > Zapora sieciowa.

131fb495c9242335.png

  1. Zwróć uwagę na istniejące reguły zapory sieciowej dotyczące ICMP, ruchu wewnętrznego, RDPSSH.Każdy projekt w chmurze Google Cloud rozpoczyna się od sieci default (domyślnej) i tych reguł zapory sieciowej.
  2. Kliknij Utwórz regułę zapory sieciowej.
  3. Ustaw te wartości, a wszystkie inne pozostaw domyślne:

Właściwość

Wartość (wpisz podaną wartość lub wybierz podaną opcję)

Nazwa

default-allow-health-check

Sieć

default

Cele

Określone tagi docelowe

Tagi docelowe

allow-health-check

Filtr źródeł

Zakresy adresów IP

Zakresy źródłowych IP

130.211.0.0/22, 35.191.0.0/16

Protokoły i porty

Określone protokoły i porty, a następnie zaznacz tcp. Wpisz 80 jako numer portu.

  1. Kliknij Utwórz.

Możesz też użyć wiersza poleceń gcloud. Oto polecenie:

gcloud compute firewall-rules create default-allow-health-check --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp:80 --source-ranges=130.211.0.0/22,35.191.0.0/16 --target-tags=allow-health-check
  1. Podobnie utwórz regułę zapory sieciowej, która zezwala na połączenia SSH z instancjami:
gcloud compute firewall-rules create allow-ssh --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp:22 --source-ranges=0.0.0.0/0 --target-tags=allow-health-check

4. Konfigurowanie szablonów instancji i tworzenie zarządzanych grup instancji

Zarządzana grupa instancji używa szablonu do utworzenia grupy jednakowych instancji. Korzystając z nich, utwórz backend systemu równoważenia obciążenia HTTP.

Konfigurowanie szablonów instancji

Szablon instancji to zasób, którego możesz użyć do utworzenia instancji maszyny wirtualnej oraz zarządzanych grup instancji. Szablony instancji określają typ maszyny, obraz dysku rozruchowego, podsieć, etykiety i inne właściwości instancji. Utwórz szablon instancji zgodnie z poniższymi instrukcjami.

  1. W konsoli Cloud wybierz menu nawigacyjne ( mainmenu.png) > Compute Engine > Szablony instancji, a następnie kliknij Utwórz szablon instancji.
  2. W polu Nazwa wpisz lb-backend-template.
  3. W polu Seria wybierz N1.
  4. Kliknij Sieć, dyski, zabezpieczenia, zarządzanie , jedyny najemca.

1d0b7122f4bb410d.png

  1. Przejdź do sekcji Zarządzanie i wstaw ten skrypt w polu Skrypt startowy.
#! /bin/bash
sudo apt-get update
sudo apt-get install apache2 -y
sudo a2ensite default-ssl
sudo a2enmod ssl
sudo vm_hostname="$(curl -H "Metadata-Flavor:Google" \
http://169.254.169.254/computeMetadata/v1/instance/name)"
sudo echo "Page served from: $vm_hostname" | \
tee /var/www/html/index.html
  1. Kliknij kartę Sieć i dodaj tagi sieci: allow-health-check.
  2. Ustaw te wartości, a wszystkie inne pozostaw domyślne:

Właściwość

Wartość (wpisz podaną wartość lub wybierz podaną opcję)

Sieć (w sekcji Interfejsy sieci)

domyślna

Podsieć (w sekcji Interfejsy sieci)

default (us-east1)

Tagi sieci

allow-health-check

  1. Kliknij Utwórz.
  2. Poczekaj, aż szablon instancji zostanie utworzony.

Tworzenie zarządzanej grupy instancji

  1. Będąc na stronie Compute Engine, w menu po lewej stronie kliknij Grupy instancji.

ed419061ad2b982c.png

  1. Kliknij Utwórz grupę instancji. Wybierz Nowa zarządzana grupa instancji (bezstanowa).
  2. Ustaw te wartości, a wszystkie inne pozostaw domyślne:

Właściwość

Wartość (wpisz podaną wartość lub wybierz podaną opcję)

Nazwa

lb-backend-example

Lokalizacja

Jedna strefa

Region

us-east1

Strefa

us-east1-b

Szablon instancji

lb-backend-template

Autoskalowanie

Bez autoskalowania

Liczba instancji

1

  1. Kliknij Utwórz.

Dodawanie nazwanego portu do grupy instancji

Zdefiniuj usługę HTTP dla grupy instancji i zmapuj nazwę portu na odpowiedni port. Usługa równoważenia obciążenia przekierowuje ruch na nazwany port.

gcloud compute instance-groups set-named-ports lb-backend-example \
    --named-ports http:80 \
    --zone us-east1-b

5. Konfigurowanie systemu równoważenia obciążenia HTTP

Skonfiguruj system równoważenia obciążenia HTTP, aby kierował ruch do backendu lb-backend-example:

Rozpoczynanie konfiguracji

  1. W konsoli Cloud kliknij Menu nawigacyjne ( mainmenu.png) > Usługi sieciowe > Równoważenie obciążenia, a następnie Utwórz system równoważenia obciążenia.
  2. W sekcji Równoważenie obciążenia HTTP(S) kliknij Rozpocznij konfigurację.

4f8b8cb10347ecec.png

  1. Wybierz Z internetu do moich maszyn wirtualnych, Klasyczny system równoważenia obciążenia HTTP(S) i kliknij Dalej.
  2. W polu Nazwa wpisz http-lb.

Konfigurowanie backendu

Usługi backendu kierują ruch przychodzący do co najmniej jednego z podłączonych backendów. Każdy backend składa się z grupy instancji i metadanych dotyczących dodatkowej obsługiwanej przepustowości.

  1. Kliknij Konfiguracja backendu.
  2. W obszarze Usługi backendu i zasobniki backendu kliknij Utwórz usługę backendu.
  3. Ustaw te wartości, a wszystkie inne pozostaw domyślne:

Właściwość

Wartość (wybierz podaną opcję)

Nazwa

http-backend

Protokół

HTTP

Nazwany port

htp

Grupa instancji

lb-backend-example

Numery portów

80

  1. Kliknij Gotowe.
  2. Kliknij Dodaj backend.
  3. W obszarze Kontrola stanu wybierz Utwórz kontrolę stanu.

168a9ba1062b1f45.png

  1. Ustaw te wartości, a wszystkie inne pozostaw domyślne:

Właściwość

Wartość (wybierz podaną opcję)

Nazwa

http-health-check

Protokół

TCP

Port

80

dc45bc726bb4dfad.png

  1. Kliknij Zapisz.
  2. Zaznacz pole Włącz logowanie.
  3. Ustaw Częstotliwość próbkowania na 1:

c8f884fa4a8cd50.png

  1. Kliknij Utwórz, aby utworzyć usługę backendu.

1fd2ad21b1d32a95.png

Konfigurowanie frontendu

Reguły hostów i ścieżek określają, w jaki sposób będzie kierowany ruch. Możesz na przykład skierować ruch wideo do jednego backendu, a ruch statyczny do innego. W tym module nie konfigurujesz jednak reguł hostów i ścieżek.

  1. Kliknij Konfiguracja frontendu.
  2. Określ te wartości, a wszystkie inne pozostaw domyślne:

Właściwość

Wartość (wpisz podaną wartość lub wybierz podaną opcję)

Protokół

HTTP

Wersja IP

IPv4

Adres IP

Efemeryczny

Port

80

  1. Kliknij Gotowe.

Przeglądanie i tworzenie wewnętrznego systemu równoważenia obciążenia

  1. Kliknij Przejrzyj i zakończ.

478e5e51057af3a3.png

  1. Przejrzyj Usługi backenduFrontend.
  2. Kliknij Utwórz.
  3. Poczekaj, aż system równoważenia obciążenia zostanie utworzony.
  4. Kliknij nazwę systemu równoważenia obciążenia (http-lb).
  5. Zapisz adres IPv4 systemu równoważenia obciążenia – będzie potrzebny w następnym zadaniu. Będziemy go oznaczać jako [LB_IP_v4].

6. Testowanie systemu równoważenia obciążenia HTTP

Masz już system równoważenia obciążenia HTTP dla swoich backendów. Sprawdź teraz, czy ruch jest przekierowywany do usługi backendu. Aby przetestować dostęp adresu IPv4 do systemu równoważenia obciążenia, otwórz nową kartę w przeglądarce i wejdź na stronę http://[LB_IP_v4]. Pamiętaj, aby zastąpić [LB_IP_v4] adresem IPv4 systemu równoważenia obciążenia.

7. Tworzenie i wdrażanie tokena sesji reCAPTCHA oraz klucza witryny strony z wyzwaniem

Integracja reCAPTCHA Enterprise z WAF i Google Cloud Armor oferuje te funkcje: stronę z zadaniem reCAPTCHA, tokeny działania reCAPTCHAtokeny sesji reCAPTCHA. W tym laboratorium kodowania wdrożymy klucz witryny tokena sesji reCAPTCHA i witrynę strony z wyzwaniem reCAPTCHA WAF.

Utwórz token sesji reCAPTCHA i klucz witryny strony z wyzwaniem zapory WAF

Zanim utworzysz klucz witryny tokena sesji i klucz witryny strony z wyzwaniem, sprawdź, czy interfejs reCAPTCHA Enterprise API jest włączony zgodnie z instrukcjami w sekcji „Włączanie interfejsu API” na początku.

Po ocenie kod JavaScript reCAPTCHA ustawia token sesji reCAPTCHA jako plik cookie w przeglądarce użytkownika. Przeglądarka użytkownika dołącza plik cookie i odświeża go, dopóki JavaScript reCAPTCHA pozostaje aktywny.

  1. Utwórz klucz witryny tokena sesji reCAPTCHA i włącz dla niego funkcję WAF. Ustawimy też usługę WAF na Cloud Armor, aby włączyć integrację z Cloud Armor.
gcloud recaptcha keys create --display-name=test-key-name \
   --web --allow-all-domains --integration-type=score --testing-score=0.5 \
   --waf-feature=session-token --waf-service=ca
  1. Dane wyjściowe powyższego polecenia zawierają utworzony klucz. Zanotuj go, ponieważ w następnym kroku dodamy go do Twojej witryny.
  2. Utwórz klucz witryny strony testu zabezpieczającego reCAPTCHA WAF i włącz funkcję WAF dla tego klucza. Możesz użyć funkcji strony z zadaniem reCAPTCHA, aby przekierowywać przychodzące żądania do reCAPTCHA Enterprise i określać, czy każde żądanie jest potencjalnie fałszywe czy uzasadnione. Później powiążemy ten klucz z zasadami zabezpieczeń Cloud Armor, aby włączyć ręczne wyzwanie. W dalszych krokach będziemy odwoływać się do tego klucza jako CHALLENGE-PAGE-KEY.
gcloud recaptcha keys create --display-name=challenge-page-key \
   --web --allow-all-domains --integration-type=INVISIBLE \
   --waf-feature=challenge-page --waf-service=ca
  1. Otwórz menu nawigacyjne ( mainmenu.png) > Bezpieczeństwo > reCAPTCHA Enterprise. Utworzone klucze powinny być widoczne w sekcji Klucze Enterprise –

4e2567aae0eb92d7.png

Wdrażanie klucza witryny tokena sesji reCAPTCHA

  1. Otwórz Menu nawigacyjne ( mainmenu.png) > Compute Engine > Instancje maszyn wirtualnych. Znajdź maszynę wirtualną w grupie instancji i połącz się z nią przez SSH.

6d7b0fd12a667b5f.png

  1. Otwórz katalog główny serwera internetowego i zmień użytkownika na root:
@lb-backend-example-4wmn:~$ cd /var/www/html/
@lb-backend-example-4wmn:/var/www/html$ sudo su
  1. Zaktualizuj stronę docelową index.html i osadź klucz witryny tokena sesji reCAPTCHA. Klucz witryny tokena sesji jest ustawiony w sekcji head strony docelowej w sposób pokazany poniżej:

<script src="https://www.google.com/recaptcha/enterprise.js?render=<REPLACE_TOKEN_HERE>&waf=session" async defer></script>

Pamiętaj, aby przed zaktualizowaniem pliku index.html zastąpić token zgodnie z poniższymi instrukcjami:

root@lb-backend-example-4wmn:/var/www/html# echo '<!doctype html><html><head><title>ReCAPTCHA Session Token</title><script src="https://www.google.com/recaptcha/enterprise.js?render=<REPLACE_TOKEN_HERE>&waf=session" async defer></script></head><body><h1>Main Page</h1><p><a href="/good-score.html">Visit allowed link</a></p><p><a href="/bad-score.html">Visit blocked link</a></p><p><a href="/median-score.html">Visit redirect link</a></p></body></html>' > index.html
  1. Utwórz 3 inne przykładowe strony, aby przetestować zasady zarządzania botami:
  • dobry-wynik.html
root@lb-backend-example-4wmn:/var/www/html# echo '<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"></head><body><h1>Congrats! You have a good score!!</h1></body></html>' > good-score.html
  • bad-score.html
root@lb-backend-example-4wmn:/var/www/html# echo '<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"></head><body><h1>Sorry, You have a bad score!</h1></body></html>' > bad-score.html
  • median-score.html
root@lb-backend-example-4wmn:/var/www/html# echo '<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"></head><body><h1>You have a median score that we need a second verification.</h1></body></html>' > median-score.html
  1. Sprawdź, czy masz dostęp do wszystkich stron internetowych, otwierając je w przeglądarce. Pamiętaj, aby zastąpić [LB_IP_v4] adresem IPv4 systemu równoważenia obciążenia.
  • Otwórz http://[LB_IP_v4]/index.html. Aby sprawdzić, czy implementacja reCAPTCHA działa, poszukaj w prawym dolnym rogu strony informacji „protected by reCAPTCHA” (chroniona przez reCAPTCHA).

d695ad23d91ae4e9.png

  • Kliknij każdy z linków.

4a2ad1b2f10b4c86.png

  • Sprawdź, czy masz dostęp do wszystkich stron.

481f63bf5e6f244.png

8. Tworzenie reguł zasad zabezpieczeń Cloud Armor na potrzeby zarządzania botami

W tej sekcji użyjesz reguł zarządzania botami Cloud Armor, aby zezwalać na żądania, odrzucać je i przekierowywać na podstawie wyniku reCAPTCHA. Pamiętaj, że podczas tworzenia klucza witryny tokena sesji ustawiono wynik testu na 0,5.

  1. W Cloud Shell(instrukcje korzystania z Cloud Shell znajdziesz w sekcji „Uruchamianie Cloud Shell” w artykule „Konfiguracja i wymagania”) utwórz zasady zabezpieczeń za pomocą gcloud:
gcloud compute security-policies create recaptcha-policy \
    --description "policy for bot management"
  1. Aby używać ręcznego wyzwania reCAPTCHA Enterprise do odróżniania klientów będących ludźmi od klientów automatycznych, powiąż klucz witryny wyzwania reCAPTCHA WAF utworzony przez nas na potrzeby ręcznego wyzwania z zasadami zabezpieczeń. Zastąp „CHALLENGE-PAGE-KEY” utworzonym przez nas kluczem.
gcloud compute security-policies update recaptcha-policy \
   --recaptcha-redirect-site-key "CHALLENGE-PAGE-KEY"
  1. Dodaj regułę zarządzania botami, aby zezwalać na ruch, jeśli ścieżka adresu URL pasuje do good-score.html, a wynik jest większy niż 0,4.
gcloud compute security-policies rules create 2000 \
     --security-policy recaptcha-policy\
     --expression "request.path.matches('good-score.html') &&    token.recaptcha_session.score > 0.4"\
     --action allow
  1. Dodaj regułę zarządzania botami, aby odrzucać ruch, jeśli ścieżka adresu URL pasuje do bad-score.html, a wynik jest mniejszy niż 0,6.
  gcloud compute security-policies rules create 3000 \
     --security-policy recaptcha-policy\
     --expression "request.path.matches('bad-score.html') && token.recaptcha_session.score < 0.6"\
     --action "deny-403"
  1. Dodaj regułę zarządzania botami, aby przekierowywać ruch do Google reCAPTCHA, jeśli ścieżka adresu URL pasuje do median-score.html i ma wynik równy 0,5.
  gcloud compute security-policies rules create 1000 \
     --security-policy recaptcha-policy\
     --expression "request.path.matches('median-score.html') && token.recaptcha_session.score == 0.5"\
     --action redirect \
     --redirect-type google-recaptcha
  1. Dołącz zasadę zabezpieczeń do usługi backendu http-backend:
gcloud compute backend-services update http-backend \
    --security-policy recaptcha-policy –-global
  1. W konsoli wybierz menu nawigacyjne > Bezpieczeństwo sieciowe > Cloud Armor.
  2. Kliknij recaptcha-policy. Twoja polityka powinna wyglądać mniej więcej tak:

74852618aaa96786.png

9. Weryfikowanie zarządzania botami za pomocą Cloud Armor

  1. Otwórz przeglądarkę i wpisz adres URL http://[LB_IP_v4]/index.html. Otwórz „Visit allow link” (Odwiedź link zezwalający). Powinieneś/powinnaś przejść przez bramkę.

edf3e6ca238d2ee7.png

  1. Otwórz nowe okno w trybie incognito, aby mieć pewność, że rozpoczynasz nową sesję. Wpisz adres URL http://[LB_IP_v4]/index.html i kliknij „Odwiedź zablokowany link”. Powinien wyświetlić Ci się błąd HTTP 403:

ecef5655b291dbb0.png

  1. Otwórz nowe okno w trybie incognito, aby mieć pewność, że rozpoczynasz nową sesję. Wpisz adres URL http://[LB_IP_v4]/index.html i kliknij „Visit redirect link” (Odwiedź link przekierowania). Powinno nastąpić przekierowanie do Google reCAPTCHA i strony z ręcznym zadaniem, jak poniżej:

53ed2b4067b55436.png

Sprawdzanie logów Cloud Armor

Sprawdź logi zasad zabezpieczeń, aby potwierdzić, że zarządzanie botami działa zgodnie z oczekiwaniami.

  1. W konsoli wybierz Menu nawigacyjne > Bezpieczeństwo sieciowe > Cloud Armor.
  2. Kliknij recaptcha-policy.
  3. Kliknij Logi.

46fd825d8506d355.png

  1. Kliknij Wyświetl logi zasad.
  2. Poniżej znajduje się zapytanie w języku zapytań monitorowania(MQL), które możesz skopiować i wkleić do edytora zapytań:
resource.type:(http_load_balancer) AND jsonPayload.enforcedSecurityPolicy.name:(recaptcha-policy)
  1. Teraz kliknij Uruchom.
  2. W wynikach zapytania poszukaj wpisu logu, w którym żądanie dotyczy adresu http://[LB_IP_v4]/good-score.html. Rozwiń jsonPayload.Rozwiń enforcedSecurityPolicy.

b7b1712642cf092b.png

  1. Powtórz te same czynności dla adresów http://[LB_IP_v4]/bad-score.html i http://[LB_IP_v4]/median-score.html.

c28f96d83056725a.png

8c4803d75a77142c.png

Zwróć uwagę, że skonfigurowane działanie ma wartość ALLOW, DENY lub GOOGLE_RECAPTCHA, a jego nazwa to recaptcha-policy.

Gratulacje! Ten moduł dotyczący zarządzania botami za pomocą Cloud Armor został ukończony.

©2020 Google LLC. Wszelkie prawa zastrzeżone. Google i logo Google są znakami towarowymi Google LLC. Wszelkie inne nazwy firm i produktów mogą być znakami towarowymi odpowiednich podmiotów, z którymi są powiązane.

10. Zwalnianie miejsca w module

  1. Otwórz Bezpieczeństwo sieciowe >> Cloud Armor >> %POLICY NAME% i kliknij Usuń.

2646f9c1df093f90.png

  1. Otwórz Sieć >> Usługi sieciowe >> Równoważenie obciążenia. Wybierz utworzony system równoważenia obciążenia i kliknij Usuń.

8ad4f55dc06513f7.png

Wybierz usługę backendu i kontrolę stanu jako dodatkowe zasoby do usunięcia:

f6f02bb56add6420.png

  1. Otwórz Menu nawigacyjne ( mainmenu.png) > Compute Engine > Grupy instancji. Wybierz zarządzaną grupę instancji i kliknij Usuń:

2116b286954fd6.png

Potwierdź usunięcie, wpisując w polu tekstowym słowo „delete”.

Poczekaj, aż zarządzana grupa instancji zostanie usunięta. Spowoduje to też usunięcie instancji z grupy. Szablony możesz usunąć dopiero po usunięciu grupy instancji.

  1. W panelu po lewej stronie otwórz Szablony instancji**.** Wybierz szablon instancji i kliknij Usuń.
  2. Otwórz Menu nawigacyjne ( mainmenu.png) > Sieć VPC > Zapora sieciowa. Wybierz reguły default-allow-health-check i allow-ssh, a następnie kliknij Usuń.
  3. Otwórz menu nawigacyjne ( mainmenu.png) > Bezpieczeństwo > reCAPTCHA Enterprise. Wybierz utworzone przez nas klucze i je usuń. Potwierdź usunięcie, wpisując w polu tekstowym „DELETE”.

e71ecd11baf262ca.png

11. Gratulacje!

Udało Ci się wdrożyć zarządzanie botami za pomocą Cloud Armor. Masz już skonfigurowany system równoważenia obciążenia HTTP. Następnie utworzono i wdrożono na stronie klucz witryny tokena sesji reCAPTCHA. Dowiedziałeś(-aś) się też, jak utworzyć klucz witryny strony z wyzwaniem. Skonfigurowano zasady zarządzania botami w Cloud Armor i sprawdzono, jak obsługują one żądania na podstawie reguł. Udało Ci się też sprawdzić logi zasad zabezpieczeń, aby określić, dlaczego ruch był dozwolony, blokowany lub przekierowywany.

Omówione zagadnienia

  • Jak skonfigurować szablony instancji i utworzyć zarządzane grupy instancji.
  • Jak skonfigurować system równoważenia obciążenia HTTP.
  • Jak utworzyć zasadę zarządzania botami w Cloud Armor.
  • Jak utworzyć i wdrożyć klucz witryny tokena sesji reCAPTCHA.
  • Jak utworzyć i wdrożyć klucz witryny strony z wyzwaniem reCAPTCHA.
  • Jak sprawdzić, czy zasady zarządzania botami działają zgodnie z oczekiwaniami.

Dalsze kroki

  • Spróbuj skonfigurować tokeny działań reCAPTCHA.