1. Einführung
Das HTTP(S)-Load-Balancing von Google Cloud wird an den weltweiten Edges des Google-Netzwerks in seinen Points of Presence (POPs) bereitgestellt. Der an einen HTTP(S) Load Balancer geleitete Nutzertraffic gelangt in den POP, der dem Nutzer am nächsten liegt, und wird dann über das globale Google-Netzwerk auf das nächstgelegene Backend mit ausreichender Kapazität verteilt.
Cloud Armor ist das DDoS-Erkennungssystem (Distributed Denial of Service) und die Web Application Firewall (WAF) von Google. Cloud Armor ist eng mit dem Google Cloud HTTP Load Balancer verknüpft und schützt Anwendungen von Google Cloud-Kunden vor Angriffen aus dem Internet. reCAPTCHA Enterprise ist ein Dienst, der Ihre Website vor Spam und Missbrauch schützt. Er basiert auf der vorhandenen reCAPTCHA API, die mithilfe fortschrittlicher Risikoanalysetechniken zwischen Menschen und Bots unterscheidet. Cloud Armor Bot Management bietet eine End-to-End-Lösung, die die Bot-Erkennung und ‑Bewertung von reCAPTCHA Enterprise mit der Durchsetzung durch Cloud Armor am Netzwerkrand kombiniert, um Downstream-Anwendungen zu schützen.
In diesem Lab konfigurieren Sie einen HTTP Load Balancer mit einem Backend, wie im folgenden Diagramm dargestellt. Anschließend erfahren Sie, wie Sie einen Websiteschlüssel für reCAPTCHA-Sitzungstokens einrichten und in Ihre Website einbetten. Außerdem erfahren Sie, wie Sie die Weiterleitung zur manuellen reCAPTCHA Enterprise-Aufgabe einrichten. Anschließend konfigurieren wir eine Cloud Armor-Richtlinie zur Bot-Verwaltung, um zu zeigen, wie die Bot-Erkennung Ihre Anwendung vor schädlichem Bot-Traffic schützt.

Lerninhalte
- HTTP-Load-Balancer mit entsprechenden Systemdiagnosen einrichten
- So erstellen Sie einen reCAPTCHA WAF-Websiteschlüssel für die Aufgaben-Seite und verknüpfen ihn mit einer Cloud Armor-Sicherheitsrichtlinie.
- Hier erfahren Sie, wie Sie einen reCAPTCHA-Sitzungstoken-Websiteschlüssel erstellen und auf Ihren Webseiten installieren.
- So erstellen Sie eine Cloud Armor-Richtlinie zur Bot-Verwaltung.
- So prüfen Sie, ob die Bot-Verwaltungsrichtlinie Traffic gemäß den konfigurierten Regeln verarbeitet.
Voraussetzungen
- Grundkenntnisse in den Bereichen Netzwerk und HTTP
- Grundkenntnisse zu Unix/Linux-Befehlszeilen
2. Einrichtung und Anforderungen
Umgebung zum selbstbestimmten Lernen einrichten
- Melden Sie sich in der Google Cloud Console an und erstellen Sie ein neues Projekt oder verwenden Sie ein vorhandenes Projekt. Wenn Sie noch kein Gmail- oder Google Workspace-Konto haben, müssen Sie eines erstellen.



- Der Projektname ist der Anzeigename für die Teilnehmer dieses Projekts. Es handelt sich um einen String, der nicht von Google APIs verwendet wird und den Sie jederzeit aktualisieren können.
- Die Projekt-ID muss für alle Google Cloud-Projekte eindeutig sein und ist unveränderlich (kann nach der Festlegung nicht mehr geändert werden). In der Cloud Console wird automatisch ein eindeutiger String generiert. Normalerweise ist es nicht wichtig, wie dieser aussieht. In den meisten Codelabs müssen Sie auf die Projekt-ID verweisen (die in der Regel als
PROJECT_IDangegeben wird). Wenn Ihnen die ID nicht gefällt, können Sie eine andere zufällige ID generieren oder eine eigene ID ausprobieren und sehen, ob sie verfügbar ist. Nachdem das Projekt erstellt wurde, wird es „eingefroren“. - Es gibt einen dritten Wert, die Projektnummer, die von einigen APIs verwendet wird. Weitere Informationen zu diesen drei Werten
- Als Nächstes müssen Sie die Abrechnung in der Cloud Console aktivieren, um Cloud-Ressourcen/-APIs verwenden zu können. Die Durchführung dieses Codelabs sollte keine oder nur geringe Kosten verursachen. Wenn Sie Ressourcen herunterfahren möchten, damit nach Abschluss dieses Codelabs keine Gebühren anfallen, folgen Sie den Bereinigungsanweisungen am Ende des Codelabs. Neue Nutzer von Google Cloud kommen für das Programm für kostenlose Testversionen mit einem Guthaben von 300$ infrage.
Cloud Shell starten
Während Sie Google Cloud von Ihrem Laptop aus per Fernzugriff nutzen können, wird in diesem Codelab Google Cloud Shell verwendet, eine Befehlszeilenumgebung, die in der Cloud ausgeführt wird.
Klicken Sie in der GCP Console oben rechts in der Symbolleiste auf das Cloud Shell-Symbol:

Die Bereitstellung und Verbindung mit der Umgebung sollte nur wenige Augenblicke dauern. Anschließend sehen Sie in etwa Folgendes:

Diese virtuelle Maschine verfügt über sämtliche Entwicklertools, die Sie benötigen. Sie bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und läuft in Google Cloud, was die Netzwerkleistung und Authentifizierung erheblich verbessert. Für dieses Lab benötigen Sie lediglich einen Browser.
Hinweis
Prüfen Sie in Cloud Shell, ob Ihre Projekt-ID eingerichtet ist.
gcloud config list project gcloud config set project [YOUR-PROJECT-NAME] PROJECT_ID=[YOUR-PROJECT-NAME] echo $PROJECT_ID
APIs aktivieren
Alle erforderlichen Dienste aktivieren
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. Firewallregeln konfigurieren, um HTTP- und SSH-Traffic zu Back-Ends zuzulassen
Konfigurieren Sie Firewallregeln, um HTTP-Traffic zu den Backends von den Google Cloud-Systemdiagnosen und dem Load-Balancer zuzulassen. Konfigurieren Sie außerdem eine Firewallregel, um SSH-Verbindungen zu den Instanzen zuzulassen.
Wir verwenden das in Ihrem Projekt erstellte Standard-VPC-Netzwerk. Erstellen Sie eine Firewallregel, um HTTP-Traffic an die Backends zuzulassen. Mit Systemdiagnosen wird ermittelt, zu welchen Instanzen eines Load Balancers neue Verbindungen aufgebaut werden können. Beim HTTP Load Balancing werden die Systemdiagnosetests für Ihre Instanzen mit Load Balancing über Adressen in den Bereichen 130.211.0.0/22 und 35.191.0.0/16 durchgeführt. Ihre VPC-Firewallregeln müssen diese Verbindungen zulassen. Außerdem kommunizieren die Load-Balancer mit dem Back-End über denselben IP-Bereich.
- Öffnen Sie in der Cloud Console das Navigationsmenü (
) und klicken Sie dann auf VPC‑Netzwerk > Firewall.

- Sie sehen die folgenden Firewallregeln: ICMP, internal, RDP und SSH.Jedes Google Cloud-Projekt startet mit dem Netzwerk default und diesen Firewallregeln.
- Klicken Sie auf Firewallregel erstellen.
- Legen Sie die folgenden Werte fest und übernehmen Sie für alle anderen die Standardeinstellung:
Attribut | Wert (Wert eingeben bzw. Option auswählen) |
Name | default-allow-health-check |
Netzwerk | Standard |
Ziele | Angegebene Ziel-Tags |
Zieltags | allow-health-check |
Quellfilter | IP-Bereiche |
Quell-IP-Bereiche | 130.211.0.0/22, 35.191.0.0/16 |
Protokolle und Ports | Angegebene Protokolle und Ports; klicken Sie dann auf das Kästchen neben „tcp“. Geben Sie 80 für die Portnummer ein. |
- Klicken Sie auf Erstellen.
Alternativ können Sie die gcloud-Befehlszeile verwenden. Unten sehen Sie den Befehl:
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
- Erstellen Sie auf ähnliche Weise eine Firewallregel, um SSH-Verbindungen zu den Instanzen zuzulassen:
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. Instanzvorlagen konfigurieren und verwaltete Instanzgruppen erstellen
Mit einer Instanzvorlage kann in einer verwalteten Instanzgruppe eine Gruppe identischer Instanzen eingerichtet werden. Erstellen Sie damit das Backend des HTTP Load Balancers.
Instanzvorlagen konfigurieren
Eine Instanzvorlage ist eine Ressource, mit der Sie VM-Instanzen und verwaltete Instanzgruppen erstellen können. In Instanzvorlagen sind Maschinentyp, Image des Bootlaufwerks, Subnetz, Labels und andere Instanzattribute definiert. Erstellen Sie eine Instanzvorlage wie unten beschrieben.
- Öffnen Sie in der Cloud Console das Navigationsmenü (
) > Compute Engine > Instanzvorlagen und klicken Sie dann auf Instanzvorlage erstellen. - Geben Sie lb-backend-template bei Name ein.
- Wählen Sie unter Serie die Option N1 aus.
- Klicken Sie auf Netzwerk, Laufwerke, Sicherheit, Verwaltung , einzelne Mandanten.

- Rufen Sie den Bereich Verwaltung auf und fügen Sie das folgende Skript in das Feld Startskript ein.
#! /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
- Klicken Sie auf den Tab Netzwerk und fügen Sie die Netzwerk-Tags hinzu: allow-health-check
- Legen Sie die folgenden Werte fest und übernehmen Sie für alle anderen die Standardeinstellung:
Attribut | Wert (Wert eingeben bzw. Option auswählen) |
Netzwerk (unter „Netzwerkschnittstellen“) | Standard |
Subnetz (unter „Netzwerkschnittstellen“) | default (us-east1) |
Netzwerk-Tags | allow-health-check |
- Klicken Sie auf Erstellen.
- Warten Sie, bis die Instanzvorlage erstellt wurde.
Verwaltete Instanzgruppe erstellen
- Klicken Sie auf der Seite Compute Engine im Menü auf der linken Seite auf Instanzgruppen.

- Klicken Sie auf Instanzgruppe erstellen. Wählen Sie Neue verwaltete Instanzgruppe (zustandslos) aus.
- Legen Sie die folgenden Werte fest und übernehmen Sie für alle anderen Werte die Standardeinstellung:
Attribut | Wert (Wert eingeben bzw. Option auswählen) |
Name | lb-backend-example |
Standort | Einzelne Zone |
Region | us-east1 |
Zone | us-east1-b |
Instanzvorlage | lb-backend-template |
Autoscaling | Kein Autoscaling |
Anzahl der Instanzen | 1 |
- Klicken Sie auf Erstellen.
Benannten Port zur Instanzgruppe hinzufügen
Legen Sie für Ihre Instanzgruppe einen HTTP-Dienst fest und ordnen Sie dem entsprechenden Port einen Portnamen zu. Der Load-Balancing-Dienst leitet den Traffic an den benannten Port weiter.
gcloud compute instance-groups set-named-ports lb-backend-example \
--named-ports http:80 \
--zone us-east1-b
5. HTTP Load Balancer konfigurieren
Konfigurieren Sie den HTTP Load Balancer so, dass Traffic an Ihr Backend lb-backend-example: gesendet wird:
Konfiguration starten
- Klicken Sie in der Cloud Console auf das Navigationsmenü (
) > Netzwerkdienste > Load-Balancing > Load-Balancer erstellen. - Klicken Sie unter HTTP(S) Load Balancing (HTTP(S)-Load-Balancing) auf Start configuration (Konfiguration starten).

- Wählen Sie Vom Internet zu meinen VMs und Klassischer HTTP(S)-Load Balancer aus und klicken Sie auf Weiter.
- Legen Sie als Name „http-lb“ fest.
Backend konfigurieren
Backend-Dienste leiten eingehenden Traffic an ein oder mehrere verknüpfte Backends weiter. Jedes Backend besteht aus einer Instanzgruppe und zusätzlichen Metadaten zur Kapazität.
- Klicken Sie auf Backend-Konfiguration.
- Klicken Sie unter Backend-Dienste und Backend-Buckets auf Backend-Dienst erstellen.
- Legen Sie die folgenden Werte fest und übernehmen Sie für alle anderen die Standardeinstellung:
Attribut | Wert (Option auswählen) |
Name | http-backend |
Protokoll | HTTP |
Benannter Port | htp |
Instanzgruppe | lb-backend-example |
Portnummern | 80 |
- Klicken Sie auf Fertig.
- Klicken Sie auf Backend hinzufügen.
- Klicken Sie unter Systemdiagnose auf Systemdiagnose erstellen.

- Legen Sie die folgenden Werte fest und übernehmen Sie für alle anderen Werte die Standardeinstellung:
Attribut | Wert (Option auswählen) |
Name | http-health-check |
Protokoll | TCP |
Port | 80 |

- Klicken Sie auf Speichern.
- Klicken Sie auf das Kästchen für Logging aktivieren.
- Legen Sie die Stichprobenrate auf 1 fest:

- Klicken Sie auf Erstellen, um den Backend-Dienst zu erstellen.

Frontend konfigurieren
Host- und Pfadregeln bestimmen, wohin Ihr Traffic weitergeleitet wird. Sie könnten beispielsweise Traffic, der durch Videos entsteht, an ein Backend weiterleiten und Traffic, der aus statischen Daten entsteht, an ein anderes Backend. Allerdings konfigurieren wir in diesem Lab keine Host- und Pfadregeln.
- Klicken Sie auf Frontend-Konfiguration.
- Legen Sie die folgenden Werte fest und übernehmen Sie für alle anderen die Standardeinstellungen:
Attribut | Wert (Wert eingeben bzw. Option auswählen) |
Protokoll | HTTP |
IP-Version | IPv4 |
IP-Adresse | Sitzungsspezifisch |
Port | 80 |
- Klicken Sie auf Fertig.
HTTP-Load-Balancer prüfen und erstellen
- Klicken Sie auf Prüfen und abschließen.

- Prüfen Sie die Backend-Dienste und das Frontend.
- Klicken Sie auf Erstellen.
- Warten Sie, bis der Load Balancer erstellt ist.
- Klicken Sie auf den Namen des Load Balancers (http-lb).
- Notieren Sie sich für die nächste Aufgabe die IPv4-Adresse des Load Balancers. Sie wird als [LB_IP_v4] bezeichnet.
6. HTTP Load Balancer testen
Nachdem Sie einen HTTP Load Balancer für Ihre Backends erstellt haben, prüfen Sie nun, ob der Traffic über den Backend-Service weitergeleitet wird. Öffnen Sie einen neuen Tab im Browser und rufen Sie http://[LB_IP_v4] auf, um den IPv4-Zugriff auf den HTTP Load Balancer zu testen. Ersetzen Sie [LB_IP_v4] durch die IPv4-Adresse des Load Balancers.
7. reCAPTCHA-Sitzungstoken und Websiteschlüssel für die Abfrageseite erstellen und bereitstellen
reCAPTCHA Enterprise für WAF und Google Cloud Armor-Integration bietet die folgenden Funktionen: reCAPTCHA-Herausforderungsseite, reCAPTCHA-Aktionstokens und reCAPTCHA-Sitzungstokens. In diesem Codelab implementieren wir den reCAPTCHA-Sitzungstoken-Websiteschlüssel und die reCAPTCHA-WAF-Abfrageseite.
reCAPTCHA-Sitzungstoken und WAF-Herausforderungsseite erstellen
Bevor Sie den Websiteschlüssel für Sitzungstokens und den Websiteschlüssel für die Abfrageseite erstellen, sollten Sie noch einmal prüfen, ob Sie die reCAPTCHA Enterprise API wie am Anfang im Abschnitt „API aktivieren“ beschrieben aktiviert haben.
Das reCAPTCHA-JavaScript legt nach der Bewertung ein reCAPTCHA-Sitzungstoken als Cookie im Browser des Endnutzers fest. Der Browser des Endnutzers hängt das Cookie an und aktualisiert das Cookie, solange das reCAPTCHA-JavaScript aktiv bleibt.
- Erstellen Sie den Websiteschlüssel für das reCAPTCHA-Sitzungstoken und aktivieren Sie das WAF-Feature für den Schlüssel. Außerdem legen wir den WAF-Dienst auf Cloud Armor fest, um die Cloud Armor-Integration zu aktivieren.
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
- Die Ausgabe des obigen Befehls enthält den erstellten Schlüssel. Notieren Sie sich die ID, da wir sie im nächsten Schritt auf Ihrer Website einfügen.
- Erstellen Sie den Websiteschlüssel für die reCAPTCHA WAF-Abrufseite und aktivieren Sie die WAF-Funktion für den Schlüssel. Mit der Funktion „reCAPTCHA-Herausforderung“ können Sie eingehende Anfragen an reCAPTCHA Enterprise weiterleiten, um festzustellen, ob jede Anfrage potenziell betrügerisch oder legitim ist. Wir ordnen diesen Schlüssel später der Cloud Armor-Sicherheitsrichtlinie zu, um die manuelle Challenge zu aktivieren. Dieser Schlüssel wird in den späteren Schritten als CHALLENGE-PAGE-KEY bezeichnet.
gcloud recaptcha keys create --display-name=challenge-page-key \ --web --allow-all-domains --integration-type=INVISIBLE \ --waf-feature=challenge-page --waf-service=ca
- Rufen Sie das Navigationsmenü (
) > Sicherheit > reCAPTCHA Enterprise auf. Unter „Enterprise-Schlüssel“ sollten die von Ihnen erstellten Schlüssel angezeigt werden:

Websiteschlüssel für reCAPTCHA-Sitzungstoken implementieren
- Rufen Sie das Navigationsmenü (
) > Compute Engine > VM-Instanzen auf. Suchen Sie die VM in Ihrer Instanzgruppe und stellen Sie eine SSH-Verbindung zu ihr her.

- Wechseln Sie zum Webserver-Stammverzeichnis und ändern Sie den Nutzer zu „root“:
@lb-backend-example-4wmn:~$ cd /var/www/html/ @lb-backend-example-4wmn:/var/www/html$ sudo su
- Aktualisieren Sie die Landingpage „index.html“ und betten Sie den Websiteschlüssel für das reCAPTCHA-Sitzungstoken ein. Der Websiteschlüssel für Sitzungstokens wird im Head-Bereich Ihrer Landingpage wie unten dargestellt festgelegt:
<script src="https://www.google.com/recaptcha/enterprise.js?render=<REPLACE_TOKEN_HERE>&waf=session" async defer></script>
Denken Sie daran, das Token zu ersetzen, bevor Sie die Datei „index.html“ wie unten angegeben aktualisieren.
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
- Erstellen Sie drei weitere Beispielseiten, um die Bot-Verwaltungsrichtlinien zu testen:
- good-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>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
- Prüfen Sie, ob Sie auf alle Webseiten zugreifen können, indem Sie sie in Ihrem Browser öffnen. Ersetzen Sie [LB_IP_v4] durch die IPv4-Adresse des Load Balancers.
- Öffnen Sie http://[LB_IP_v4]/index.html. Sie können überprüfen, ob die reCAPTCHA-Implementierung funktioniert, wenn Sie unten rechts auf der Seite „protected by reCAPTCHA“ sehen:

- Klicken Sie auf die einzelnen Links.

- Prüfen Sie, ob Sie auf alle Seiten zugreifen können.

8. Cloud Armor-Sicherheitsrichtlinienregeln für die Bot-Verwaltung erstellen
In diesem Abschnitt verwenden Sie Cloud Armor-Regeln für die Bot-Verwaltung, um Anfragen basierend auf der reCAPTCHA-Punktzahl zuzulassen, abzulehnen und weiterzuleiten. Als Sie den Website-Schlüssel für das Sitzungstoken erstellt haben, haben Sie einen Testwert von 0,5 festgelegt.
- Erstellen Sie in Cloud Shell(eine Anleitung zur Verwendung von Cloud Shell finden Sie unter Cloud Shell starten im Abschnitt Einrichtung und Anforderungen) eine Sicherheitsrichtlinie über gcloud:
gcloud compute security-policies create recaptcha-policy \
--description "policy for bot management"
- Wenn Sie manuelle reCAPTCHA Enterprise-Herausforderungen verwenden möchten, um zwischen menschlichen und automatisierten Clients zu unterscheiden, verknüpfen Sie den reCAPTCHA WAF-Aufgaben-Websiteschlüssel, den wir für manuelle Herausforderungen erstellt haben, mit der Sicherheitsrichtlinie. Ersetzen Sie „CHALLENGE-PAGE-KEY“ durch den von uns erstellten Schlüssel:
gcloud compute security-policies update recaptcha-policy \ --recaptcha-redirect-site-key "CHALLENGE-PAGE-KEY"
- Fügen Sie eine Bot-Management-Regel hinzu, um Traffic zuzulassen, wenn der URL-Pfad mit „good-score.html“ übereinstimmt und der Wert größer als 0,4 ist.
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
- Fügen Sie eine Bot-Verwaltungsregel hinzu, um Traffic abzulehnen, wenn der URL-Pfad mit „bad-score.html“ übereinstimmt und der Score unter 0,6 liegt.
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"
- Fügen Sie eine Bot-Verwaltungsregel hinzu, um Traffic zu Google reCAPTCHA weiterzuleiten, wenn der URL-Pfad mit „median-score.html“ übereinstimmt und die Punktzahl 0,5 beträgt.
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
- Hängen Sie die Sicherheitsrichtlinie an den Back-End-Dienst „http-backend“ an:
gcloud compute backend-services update http-backend \
--security-policy recaptcha-policy –-global
- Öffnen Sie in der Console das Navigationsmenü. Klicken Sie auf Netzwerksicherheit und dann auf Cloud Armor.
- Klicken Sie auf „recaptcha-policy“. Ihre Richtlinie sollte in etwa so aussehen:

9. Bot-Verwaltung mit Cloud Armor validieren
- Öffnen Sie einen Browser und geben Sie die URL http://[LB_IP_v4]/index.html ein. Rufen Sie „Besuchserlaubnislink“ auf. Sie sollten durchgelassen werden –

- Öffnen Sie ein neues Fenster im Inkognitomodus, um eine neue Sitzung zu starten. Geben Sie die URL http://[LB_IP_v4]/index.html ein und rufen Sie „Visit blocked link“ (Blockierten Link aufrufen) auf. Sie sollten einen HTTP 403-Fehler erhalten:

- Öffnen Sie ein neues Fenster im Inkognitomodus, um eine neue Sitzung zu starten. Geben Sie die URL http://[LB_IP_v4]/index.html ein und rufen Sie „Visit redirect link“ (Weiterleitungslink aufrufen) auf. Sie sollten die Weiterleitung zu Google reCAPTCHA und die Seite für die manuelle Identitätsbestätigung wie unten sehen:

Cloud Armor-Logs prüfen
Sehen Sie sich die Protokolle der Sicherheitsrichtlinie an, um zu prüfen, ob die Bot-Verwaltung wie erwartet funktioniert hat.
- Öffnen Sie in der Console das Navigationsmenü > Netzwerksicherheit > Cloud Armor.
- Klicken Sie auf recaptcha-policy.
- Klicken Sie auf Logs.

- Klicken Sie auf Richtlinienlogs ansehen.
- Unten finden Sie die MQL-Abfrage(Monitoring Query Language), die Sie kopieren und in den Abfrageeditor einfügen können:
resource.type:(http_load_balancer) AND jsonPayload.enforcedSecurityPolicy.name:(recaptcha-policy)
- Klicken Sie jetzt auf Abfrage ausführen.
- Suchen Sie in den Abfrageergebnissen nach einem Logeintrag, in dem die Anfrage für http://[LB_IP_v4]/good-score.html erfolgt. Maximieren Sie „jsonPayload“ und dann „enforcedSecurityPolicy“.

- Wiederholen Sie den Vorgang für http://[LB_IP_v4]/bad-score.html und http://[LB_IP_v4]/median-score.html.


Beachten Sie, dass „configuredAction“ auf ALLOW, DENY oder GOOGLE_RECAPTCHA mit dem Namen recaptcha-policy festgelegt ist.
Das wars! Sie haben dieses Lab zur Bot-Verwaltung mit Cloud Armor abgeschlossen.
© 2020 Google LLC. Alle Rechte vorbehalten. Google und das Google-Logo sind Marken von Google LLC. Alle anderen Firmen- und Produktnamen können Marken der betreffenden Unternehmen sein.
10. Lab bereinigen
- Rufen Sie Netzwerksicherheit >> Cloud Armor >> %POLICY NAME% auf und wählen Sie „Löschen“ aus:

- Klicken Sie auf Netzwerk >> Netzwerkdienste >> Load-Balancing. Wählen Sie den erstellten Load-Balancer aus und klicken Sie auf „Löschen“.

Wählen Sie den Back-End-Dienst und die Systemdiagnose als zusätzliche Ressourcen aus, die gelöscht werden sollen:

- Rufen Sie das Navigationsmenü (
) > Compute Engine > Instanzgruppen auf. Wählen Sie die verwaltete Instanzgruppe aus und klicken Sie auf „Löschen“:

Bestätigen Sie das Löschen, indem Sie „delete“ in das Textfeld eingeben.
Warten Sie, bis die verwaltete Instanzgruppe gelöscht wurde. Dadurch wird auch die Instanz in der Gruppe gelöscht. Sie können die Vorlagen erst löschen, nachdem die Instanzgruppe gelöscht wurde.
- Rufen Sie im linken Bereich Instanzvorlagen auf. Wählen Sie die Instanzvorlage aus und klicken Sie auf „Löschen“.
- Rufen Sie das Navigationsmenü (
) > VPC-Netzwerk > Firewall auf. Wählen Sie die Regeln „default-allow-health-check“ und „allow-ssh“ aus und klicken Sie auf „Löschen“. - Rufen Sie das Navigationsmenü (
) > Sicherheit > reCAPTCHA Enterprise auf. Wählen Sie die von uns erstellten Schlüssel aus und löschen Sie sie. Bestätigen Sie das Löschen, indem Sie „LÖSCHEN“ in das Textfeld eingeben.

11. Glückwunsch!
Sie haben die Bot-Verwaltung mit Cloud Armor erfolgreich implementiert. Sie haben einen HTTP Load Balancer konfiguriert. Anschließend haben Sie einen reCAPTCHA-Sitzungstoken-Websiteschlüssel erstellt und auf einer Webseite implementiert. Außerdem haben Sie gelernt, wie Sie einen Websiteschlüssel für die Abfrageseite erstellen. Sie haben eine Cloud Armor-Richtlinie zur Bot-Verwaltung eingerichtet und validiert, wie Anfragen basierend auf den Regeln verarbeitet werden. Sie konnten die Logs der Sicherheitsrichtlinie untersuchen, um festzustellen, warum der Traffic zugelassen, blockiert oder weitergeleitet wurde.
Behandelte Themen
- Instanzvorlagen einrichten und verwaltete Instanzgruppen erstellen
- So richten Sie einen HTTP-Load-Balancer ein.
- So erstellen Sie eine Cloud Armor-Richtlinie zur Bot-Verwaltung.
- So erstellen und implementieren Sie einen Websiteschlüssel für reCAPTCHA-Sitzungstokens.
- So erstellen und implementieren Sie einen Websiteschlüssel für die reCAPTCHA-Abfrageseite.
- So prüfen Sie, ob die Bot-Management-Richtlinie wie vorgesehen funktioniert.
Weiteres Vorgehen
- Richten Sie reCAPTCHA-Aktionstokens ein.