GSP877
Übersicht
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 Erkennungssystem von Google für DDoS-Angriffe (Distributed Denial of Service), das außerdem eine Web Application Firewall (WAF) bietet. Cloud Armor ist eng mit dem HTTP-Load-Balancer von Google Cloud verknüpft und schützt Anwendungen von Google Cloud-Kundenunternehmen vor Angriffen aus dem Internet.
reCAPTCHA Enterprise ist ein Dienst, der auf der reCAPTCHA API aufbaut und Ihre Website vor Spam und Missbrauch schützt. Dabei werden mithilfe erweiterter Risikoanalyseverfahren Menschen und Bots unterschieden. Die Cloud Armor-Bot-Verwaltung 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 nachgeschaltete Anwendungen zu schützen.
In diesem Lab konfigurieren Sie einen HTTP-Load-Balancer mit einem Backend, wie im folgenden Diagramm dargestellt. Sie richten einen Websiteschlüssel für das reCAPTCHA-Sitzungstoken ein und binden ihn in Ihre Website ein. Außerdem richten Sie die Weiterleitung zur manuellen reCAPTCHA Enterprise-Aufgabe ein. Anschließend konfigurieren Sie eine Cloud Armor-Richtlinie zur Bot-Verwaltung, um zu sehen, wie die Bot-Erkennung Ihre Anwendung vor schädlichem Bot-Traffic schützt.

Lerninhalte
Aufgaben in diesem Lab:
- HTTP-Load-Balancer mit geeigneten Systemdiagnosen einrichten
- Einen Websiteschlüssel für die reCAPTCHA-WAF-Aufgabenseite erstellen und mit einer Cloud Armor-Sicherheitsrichtlinie verknüpfen
- Einen Websiteschlüssel für das reCAPTCHA-Sitzungstoken erstellen und auf Ihren Webseiten installieren
- Eine Cloud Armor-Richtlinie für die Bot-Verwaltung erstellen
- Prüfen, ob die Richtlinie zur Bot-Verwaltung den Traffic gemäß den konfigurierten Regeln verarbeitet
Einrichtung und Anforderungen
Vor dem Klick auf „Start Lab“ (Lab starten)
Lesen Sie diese Anleitung. Labs sind zeitlich begrenzt und können nicht pausiert werden. Der Timer beginnt zu laufen, wenn Sie auf Lab starten klicken, und zeigt Ihnen, wie lange Google Cloud-Ressourcen für das Lab verfügbar sind.
In diesem praxisorientierten Lab können Sie die Lab-Aktivitäten in einer echten Cloud-Umgebung durchführen – nicht in einer Simulations- oder Demo-Umgebung. Dazu erhalten Sie neue, temporäre Anmeldedaten, mit denen Sie für die Dauer des Labs auf Google Cloud zugreifen können.
Für dieses Lab benötigen Sie Folgendes:
- Einen Standardbrowser (empfohlen wird Chrome)
Hinweis: Nutzen Sie den privaten oder Inkognitomodus (empfohlen), um dieses Lab durchzuführen. So wird verhindert, dass es zu Konflikten zwischen Ihrem persönlichen Konto und dem Teilnehmerkonto kommt und zusätzliche Gebühren für Ihr persönliches Konto erhoben werden.
- Zeit für die Durchführung des Labs – denken Sie daran, dass Sie ein begonnenes Lab nicht unterbrechen können.
Hinweis: Verwenden Sie für dieses Lab nur das Teilnehmerkonto. Wenn Sie ein anderes Google Cloud-Konto verwenden, fallen dafür möglicherweise Kosten an.
Lab starten und bei der Google Cloud Console anmelden
-
Klicken Sie auf Lab starten. Wenn Sie für das Lab bezahlen müssen, wird ein Dialogfeld geöffnet, in dem Sie Ihre Zahlungsmethode auswählen können.
Auf der rechten Seite befindet sich der Bereich Lab-Einrichtung und ‑Zugriff:
- Button Google Cloud Console öffnen
- Die temporären Anmeldedaten (Nutzername und Passwort), die Sie für dieses Lab verwenden müssen
- Gegebenenfalls weitere Informationen für dieses Lab
Der Lab-Timer befindet sich oben auf der Seite und zeigt die verbleibende Zeit an.
-
Klicken Sie auf Google Cloud Console öffnen. Wenn Sie Chrome verwenden, können Sie auch rechtsklicken und Link in Inkognitofenster öffnen auswählen.
Im Lab werden Ressourcen aktiviert. Anschließend wird ein weiterer Tab mit der Seite „Anmelden“ geöffnet.
Tipp: Ordnen Sie die Tabs nebeneinander in separaten Fenstern an.
Hinweis: Wird das Dialogfeld Konto auswählen angezeigt, klicken Sie auf Anderes Konto verwenden.
-
Kopieren Sie bei Bedarf den folgenden Nutzernamen und fügen Sie ihn in das Dialogfeld Anmelden ein.
{{{user_0.username | "Username"}}}
Sie finden den Nutzernamen auch im Bereich Lab-Einrichtung und ‑Zugriff.
-
Klicken Sie auf Weiter.
-
Kopieren Sie das folgende Passwort und fügen Sie es in das Dialogfeld Willkommen ein.
{{{user_0.password | "Password"}}}
Sie finden das Passwort auch im Bereich Lab-Einrichtung und ‑Zugriff.
-
Klicken Sie auf Weiter.
Wichtig: Sie müssen die für das Lab bereitgestellten Anmeldedaten verwenden. Nutzen Sie nicht die Anmeldedaten Ihres Google Cloud-Kontos.
Hinweis: Wenn Sie Ihr eigenes Google Cloud-Konto für dieses Lab nutzen, können zusätzliche Kosten anfallen.
-
Klicken Sie sich durch die nachfolgenden Seiten:
- Akzeptieren Sie die Nutzungsbedingungen.
- Fügen Sie keine Wiederherstellungsoptionen oder 2-Faktor-Authentifizierung hinzu, da dies nur ein temporäres Konto ist.
- Melden Sie sich nicht für kostenlose Testversionen an.
Nach wenigen Augenblicken wird die Google Cloud Console in diesem Tab geöffnet.
Hinweis: Wenn Sie auf Google Cloud-Produkte und ‑Dienste zugreifen möchten, klicken Sie auf das Navigationsmenü oder geben Sie den Namen des Produkts oder Dienstes in das Feld Suchen ein.
Hinweis
- Legen Sie in der Cloud Shell Ihre Projekt-ID fest:
export PROJECT_ID=$(gcloud config get-value project)
echo $PROJECT_ID
gcloud config set project $PROJECT_ID
APIs aktivieren
- Aktivieren Sie alle erforderlichen Dienste:
gcloud services enable compute.googleapis.com
gcloud services enable logging.googleapis.com
gcloud services enable monitoring.googleapis.com
gcloud services enable recaptchaenterprise.googleapis.com
Sie können jetzt mit der ersten Aufgabe beginnen.
Aufgabe 1: Firewallregeln konfigurieren, um HTTP- und SSH-Traffic zu Backends zuzulassen
Für dieses Lab verwenden Sie das Standard-VPC-Netzwerk, das bei der Einrichtung des Labs in Ihrem Projekt erstellt wurde.
In diesem Abschnitt konfigurieren Sie Firewallregeln, um HTTP-Traffic von den Google Cloud-Systemdiagnosen und vom Load Balancer zu den Backends zuzulassen. Anschließend konfigurieren Sie eine Firewallregel, um SSH-Verbindungen zu den Instanzen zu erlauben.
Firewallregel erstellen, um HTTP-Traffic zu den 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 Backend über denselben IP-Bereich.
So erstellen Sie eine Firewallregel, um HTTP-Traffic zu den Backends zuzulassen:
- Rufen Sie in der Google Cloud Console im Hauptmenü unter Produkte die Option VPC-Netzwerk auf und wählen Sie dann Firewall aus.
- Sie sehen die folgenden Firewallregeln: ICMP, internal, RDP und SSH. Jedes Google Cloud-Projekt startet mit dem Standardnetzwerk 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 beziehungsweise Option auswählen) |
| Name |
default-allow-health-check |
| Netzwerk |
default |
| Ziele |
Angegebene Ziel-Tags |
| Ziel-Tags |
allow-health-check |
| Quellfilter |
IPv4-Bereiche |
| Quell-IPv4-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 als Portnummer ein. |
Hinweis: Achten Sie darauf, die beiden Quell-IPv4-Bereiche nacheinander und durch ein Leerzeichen getrennt einzugeben.
- Klicken Sie auf Erstellen.
Alternativ können Sie in der gCloud-Befehlszeile den folgenden Befehl verwenden:
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 genauso 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
Klicken Sie auf Fortschritt prüfen.
Firewallregeln konfigurieren, um HTTP- und SSH-Traffic zu Backends zuzulassen
Aufgabe 2: Instanzvorlagen konfigurieren und verwaltete Instanzgruppen erstellen
Mit einer Instanzvorlage kann in einer verwalteten Instanzgruppe eine Gruppe identischer Instanzen eingerichtet werden. Erstellen Sie damit die Backends des HTTP-Load-Balancers.
Instanzvorlagen konfigurieren
Eine Instanzvorlage ist eine Ressource, die Sie zum Erstellen von VM-Instanzen und verwalteten Instanzgruppen verwenden. In Instanzvorlagen sind Maschinentyp, Image des Bootlaufwerks, Subnetz, Labels und andere Instanzattribute definiert.
So erstellen Sie eine Instanzvorlage:
- Rufen Sie in der Console im Hauptmenü unter Produkte die Option Compute Engine auf und wählen Sie dann unter Virtuelle Maschinen die Option Instanzvorlagen aus.
- Klicken Sie im Header der Seite Instanzvorlagen auf Instanzvorlage erstellen.
- Geben Sie unter Name den Namen lb-backend-template ein.
- Wählen Sie unter Standort die Option Global aus.
- Wählen Sie unter Serie die Option E2 aus.
- Klicken Sie auf Erweiterte Optionen.
- Scrollen Sie auf dem Tab Verwaltung zum Abschnitt Automatisierung 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 su
vm_hostname="$(curl -H "Metadata-Flavor:Google" \
http://metadata.google.internal/computeMetadata/v1/instance/name)"
echo "Page served from: $vm_hostname" | \
tee /var/www/html/index.html
- Klicken Sie unter Erweiterte Optionen auf den Tab Netzwerk und geben Sie allow-health-check in das Textfeld Netzwerk-Tags ein.
- Legen Sie die folgenden Werte fest und übernehmen Sie für alle anderen die Standardeinstellung:
| Attribut |
Wert (Wert eingeben beziehungsweise Option auswählen) |
| Netzwerk (unter „Netzwerkschnittstellen“) |
default |
| Subnetzwerk (unter „Netzwerkschnittstellen“) |
default () |
Hinweis: Durch das Netzwerk-Tag allow-health-check wird sichergestellt, dass die Firewallregeln für HTTP-Systemdiagnose und SSH auf diese Instanzen angewendet werden.
- Klicken Sie auf Erstellen.
Warten Sie, bis die Instanzvorlage erstellt wurde.
Verwaltete Instanzgruppe erstellen
So erstellen Sie die verwaltete Instanzgruppe:
-
Klicken Sie im Navigationsmenü von Compute Engine unter Instanzgruppe auf Instanzgruppen.
-
Klicken Sie auf Instanzgruppe erstellen.
-
Achten Sie darauf, dass Neue verwaltete Instanzgruppe (zustandslos) ausgewählt ist.
-
Legen Sie die folgenden Werte fest und übernehmen Sie für alle anderen die Standardeinstellung:
| Attribut |
Wert (Wert eingeben beziehungsweise Option auswählen) |
| Name |
lb-backend-example |
| Instanzvorlage |
lb-backend-template |
| Standort |
Einzelne Zone |
| Region |
|
| Zone |
|
| Autoscaling |
Legen Sie den Autoscaling-Modus auf Aus: nicht automatisch skalieren fest. |
| Mindestanzahl von 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, indem Sie das folgende Code-Snippet in der Cloud Shell einfügen:
gcloud compute instance-groups set-named-ports lb-backend-example \
--named-ports http:80 \
--zone {{{project_0.startup_script.lab_zone|lab_zone}}}
Der Load-Balancing-Dienst leitet den Traffic an den benannten Port weiter.
Klicken Sie auf Fortschritt prüfen.
Instanzvorlagen konfigurieren und verwaltete Instanzgruppen erstellen
Aufgabe 3: HTTP-Load-Balancer konfigurieren
In diesem Abschnitt konfigurieren Sie den HTTP-Load-Balancer so, dass er Traffic an Ihr Backend lb-backend-example sendet.
Konfiguration starten
-
Gehen Sie in der Console zum Navigationsmenü (
) > Alle Produkte ansehen und klicken Sie unter Netzwerk auf Netzwerkdienste > Load Balancing.
-
Klicken Sie auf Load Balancer erstellen.
-
Achten Sie darauf, dass Application Load Balancer (HTTP/HTTPS) ausgewählt ist, und klicken Sie auf Weiter.
-
Überprüfen Sie, ob Öffentlich (extern) ausgewählt ist, und klicken Sie auf Weiter.
-
Stellen Sie sicher, dass Optimal für globale Arbeitslasten ausgewählt ist, und klicken Sie auf Weiter.
-
Achten Sie darauf, dass Globaler externer Application Load Balancer ausgewählt ist, und klicken Sie auf Weiter.
-
Wählen Sie Konfigurieren aus.
-
Geben Sie in das Textfeld Name des Load Balancers den Wert http-lb ein.
Frontend konfigurieren
- Klicken Sie auf Frontend-Konfiguration.
- Legen Sie die folgenden Werte fest und übernehmen Sie für alle anderen die Standardeinstellungen:
| Attribut |
Wert (Wert eingeben beziehungsweise Option auswählen) |
| Protokoll |
HTTP |
| IP-Version |
IPv4 |
| IP-Adresse |
Sitzungsspezifisch |
| Port |
80 |
- Klicken Sie auf Fertig.
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 der Seite Globalen externen Application Load Balancer erstellen 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 |
http |
| Instanzgruppe (unter „Neues Backend“) |
lb-backend-example |
| Portnummern |
80 |
| Cache-Modus |
Auf Cache-Control-Headern basierende Ursprungsserver-Einstellungen verwenden |
| Systemdiagnose |
Systemdiagnose erstellen |
- Legen Sie auf der Seite Systemdiagnose die folgenden Werte fest und übernehmen Sie für alle anderen die Standardeinstellung:

- Legen Sie die folgenden Werte fest und übernehmen Sie für alle anderen die Standardeinstellung:
| Attribut |
Wert (Option auswählen) |
| Name |
http-health-check |
| Protokoll |
TCP |
| Port |
80 |
Hinweis: Mit Systemdiagnosen wird ermittelt, zu welchen Instanzen neue Verbindungen aufgebaut werden können.
Diese HTTP-Systemdiagnose fragt Instanzen alle fünf Sekunden ab und wartet bis zu fünf Sekunden auf eine Antwort. Bei zwei erfolgreichen oder zwei fehlgeschlagenen Versuchen wird das System als fehlerfrei bzw. fehlerhaft bewertet.
- Klicken Sie auf Erstellen, um die Systemdiagnose zu erstellen.
- Klicken Sie auf das Kästchen für Logging aktivieren.
- Achten Sie darauf, dass die Stichprobenrate auf 1 gesetzt ist.
- Klicken Sie auf Erstellen, um den Backend-Dienst zu erstellen, und klicken Sie dann auf OK.
HTTP-Load-Balancer prüfen und erstellen
Host- und Pfadregeln bestimmen, wie 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 im Rahmen dieses Labs keine Host- und Pfadregeln.
- Klicken Sie auf Prüfen und abschließen (optional).

- Prüfen Sie die Backend-Dienste und das Frontend.
- Klicken Sie auf Erstellen.
Warten Sie, bis der Load Balancer erstellt wurde.
- Klicken Sie auf den Namen des Load Balancers (http-lb).
- Notieren Sie die IP-Adresse des Load Balancers für die nächste Aufgabe. In diesem Lab wird sie als
[LB_IP_v4] bezeichnet.
Klicken Sie auf Fortschritt prüfen.
HTTP-Load-Balancer konfigurieren
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 dabei
[LB_IP_v4] durch die IPv4-Adresse des Load Balancers.
Hinweis: Der Zugriff auf den HTTP-Load-Balancer kann bis zu fünf Minuten dauern. In der Zwischenzeit kann ein 404- oder 502-Fehler auftreten. Versuchen Sie es so lange, bis die Seite geladen wird.
Aufgabe 4: Websiteschlüssel für reCAPTCHA-Sitzungstoken und Aufgabenseite erstellen und bereitstellen
Die Integration von reCAPTCHA Enterprise for WAF und Google Cloud Armor bietet die folgenden Funktionen: reCAPTCHA-Aufgabenseite, reCAPTCHA-Aktionstokens und reCAPTCHA-Sitzungstokens. In dieser Aufgabe implementieren Sie den Websiteschlüssel für das reCAPTCHA-Sitzungstoken und die Website für die reCAPTCHA-WAF-Aufgabenseite.
Websiteschlüssel für reCAPTCHA-Sitzungstoken und WAF-Aufgabenseite erstellen
Bevor Sie den Websiteschlüssel für das Sitzungstoken und den Websiteschlüssel für die Aufgabenseite erstellen, sollten Sie noch einmal prüfen, ob Sie die reCAPTCHA Enterprise API wie oben im Abschnitt APIs aktivieren beschrieben aktiviert haben.
Das reCAPTCHA-JavaScript legt nach der Bewertung ein reCAPTCHA-Sitzungstoken als Cookie im Endnutzerbrowser fest. Dieser hängt das Cookie an und aktualisiert es, 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:
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 von Ihnen erstellten Websiteschlüssel für das Sitzungstoken. Notieren Sie sich den Namen, da Sie ihn später in dieser Aufgabe verwenden werden.
Außerdem legen Sie Cloud Armor als WAF-Dienst fest, um die Cloud Armor-Integration zu aktivieren.
Hinweis: Sie verwenden den Integrationstyp score, der in der Cloud Armor-Richtlinie genutzt wird. Alternativ können Sie checkbox und invisible verwenden.
Außerdem legen Sie beim Erstellen des Schlüssels einen Testwert fest, um zu prüfen, ob die mit Cloud Armor erstellten Bot-Verwaltungsrichtlinien wie vorgesehen funktionieren. Bot-Traffic zu replizieren ist nicht einfach, daher ist dies eine gute Möglichkeit, die Funktion zu testen.
- Erstellen Sie den Websiteschlüssel für die reCAPTCHA-WAF-Aufgabenseite und aktivieren Sie das WAF-Feature für den Schlüssel. Mit der Funktion für die reCAPTCHA-Aufgabenseite können Sie eingehende Anfragen an reCAPTCHA Enterprise weiterleiten, um für jede Anfrage festzustellen, ob sie potenziell betrügerisch oder legitim ist. Später verknüpfen Sie diesen Schlüssel mit der Cloud Armor-Sicherheitsrichtlinie, um die manuelle Aufgabe zu aktivieren. In diesem Lab wird der Schlüssel 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 auf. In der Liste reCAPTCHA-Schlüssel sollten die erstellten Schlüssel angezeigt werden:
Websiteschlüssel für das reCAPTCHA-Sitzungstoken implementieren
- Rufen Sie im Hauptmenü der Google Cloud Console Compute Engine auf und wählen Sie dann VM-Instanzen aus. Suchen Sie die VM in Ihrer Instanzgruppe und klicken Sie in der Spalte Verbinden auf SSH. Klicken Sie auf der Seite, zu der Sie weitergeleitet werden, auf Autorisieren.

- Rufen Sie das Stammverzeichnis des Webservers auf und ändern Sie den Nutzer zu „root“, indem Sie den folgenden Code in die SSH-im-Browser-Shell eingeben:
cd /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 das Sitzungstoken (den Sie sich zuvor notiert haben) wird im Abschnitt „head“ Ihrer Landingpage wie unten gezeigt festgelegt:
src="https://www.google.com/recaptcha/enterprise.js?render=<SESSION_TOKEN_SITE_KEY>&waf=session" async defer>
Ersetzen Sie <SESSION_TOKEN_SITE_KEY> durch das Websitetoken, bevor Sie den folgenden Befehl ausführen:
echo '<!doctype html><html><head><title>ReCAPTCHA Session Token</title><script src="https://www.google.com/recaptcha/enterprise.js?render=<SESSION_TOKEN_SITE_KEY>&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 Richtlinien für die Bot-Verwaltung zu testen:
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
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
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 im Browser öffnen. Ersetzen Sie dabei [LB_IP_v4] durch die IPv4-Adresse des Load Balancers:
- Öffnen Sie
http://[LB_IP_v4]/index.html. Die reCAPTCHA-Implementierung funktioniert, wenn Sie in der unteren rechten Ecke der Seite „Geschützt durch reCAPTCHA“ sehen:

- Klicken Sie auf die einzelnen Links.

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

Klicken Sie auf Fortschritt prüfen.
Websiteschlüssel für reCAPTCHA-Sitzungstoken und Abfrageseite bereitstellen
Aufgabe 5: Cloud Armor-Sicherheitsrichtlinienregeln für die Bot-Verwaltung erstellen
In diesem Abschnitt verwenden Sie Cloud Armor-Regeln zur Bot-Verwaltung, um Anfragen basierend auf dem reCAPTCHA-Ergebnis zuzulassen, abzulehnen oder weiterzuleiten.
- Erstellen Sie in der Cloud Shell eine Sicherheitsrichtlinie über gcloud:
gcloud compute security-policies create recaptcha-policy \
--description "policy for bot management"
- Wenn Sie eine manuelle reCAPTCHA Enterprise-Aufgabe verwenden möchten, um zwischen menschlichen und automatisierten Clients zu unterscheiden, verknüpfen Sie den Websiteschlüssel für die reCAPTCHA-WAF-Aufgabe (CHALLENGE-PAGE-KEY), den Sie zuvor für eine manuelle Aufgabe erstellt haben, mit der Sicherheitsrichtlinie. Ersetzen Sie im folgenden Script „CHALLENGE-PAGE-KEY“ durch den Schlüssel, den Sie zuvor erstellt haben:
gcloud compute security-policies update recaptcha-policy \
--recaptcha-redirect-site-key "CHALLENGE-PAGE-KEY"
- Fügen Sie eine Bot-Verwaltungsregel 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 Backend-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 Alle Produkte ansehen und klicken Sie unter Netzwerk auf Netzwerksicherheit > Cloud Armor-Richtlinien.
-
Klicken Sie auf recaptcha-policy.
Ihre Richtlinie sollte in etwa so aussehen:

Klicken Sie auf Fortschritt prüfen.
Cloud Armor-Sicherheitsrichtlinienregeln für die Bot-Verwaltung erstellen
Aufgabe 6: Bot-Verwaltung mit Cloud Armor validieren
- Öffnen Sie einen Browser und geben Sie die URL
http://[LB_IP_v4]/index.html ein. Gehen Sie zu Visit allowed link.

-
Ö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 gehen Sie zu Visit blocked link. Sie sollten einen HTTP 403-Fehler erhalten:

Hinweis: Wenn Sie keine 403 Forbidden-Fehlermeldung erhalten, müssen Sie möglicherweise länger warten, bis die reCAPTCHA-Regeln wirksam werden. Warten Sie 5 Minuten und versuchen Sie es dann noch einmal. Achten Sie darauf, für jeden Link zum Testen ein neues Inkognitofenster zu verwenden.
-
Ö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 gehen Sie zu Visit redirect link. Sie sollten die Weiterleitung zu Google reCAPTCHA und die Seite für die manuelle Aufgabe wie unten gezeigt sehen:

Hinweis: Wenn die Nutzerinteraktion die Bewertung besteht, gibt reCAPTCHA Enterprise ein Ausnahme-Cookie aus. Der Browser hängt dieses Ausnahme-Cookie an nachfolgende Nutzeranfragen an dieselbe Website an, bis das Cookie abläuft. Standardmäßig läuft das Ausnahme-Cookie nach drei Stunden ab.
Hinweis: Um zu verhindern, dass automatisierte Software missbräuchliche Aktionen auf Ihrer Website ausführt, verwendet reCAPTCHA eine erweiterte Risikoanalyse-Engine und adaptive CAPTCHAs. Gleichzeitig können Ihre legitimen Nutzer problemlos die Seite erreichen. Wenn der Algorithmus Sie als Mensch identifiziert, wird reCAPTCHA validiert, ohne dass Sie weitere Maßnahmen ergreifen müssen. Wenn nicht, werden verschiedene Bilder angezeigt, die Sie kategorisieren müssen, bevor Sie fortfahren können. Standardmäßig wird nur der verdächtigste Traffic aufgefordert, ein Captcha zu lösen.
Wenn Sie keine Aufgabe erhalten, können Sie trotzdem die Richtlinienlogs prüfen. Dort sehen Sie, dass Sie von der Lösung einer Aufgabe ausgenommen wurden.
Cloud Armor-Logs prüfen
Untersuchen Sie die Logs der Sicherheitsrichtlinie, um zu prüfen, ob die Bot-Verwaltung wie erwartet funktioniert hat.
- Öffnen Sie in der Console das Navigationsmenü (
), klicken Sie auf Alle Produkte ansehen und klicken Sie unter Netzwerk auf Netzwerksicherheit > Cloud Armor-Richtlinien.
- Klicken Sie auf recaptcha-policy.
- Klicken Sie auf den Tab Logs.
- Klicken Sie auf Richtlinienlogs ansehen.
- Kopieren Sie die folgende MQL-Abfrage (Monitoring Query Language) und fügen Sie sie in den Abfrageeditor ein:
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 für eine Anfrage für
http://[LB_IP_v4]/good-score.html. Maximieren Sie „jsonPayload.Expand enforcedSecurityPolicy“.

Hinweis: Wenn keine Logeinträge angezeigt werden, warten Sie ein paar Minuten, bis die Richtlinie übernommen wurde, aktualisieren Sie die zuvor verwendeten URLs und prüfen Sie die Logs noch einmal.
- Wiederholen Sie den Vorgang für
http://[LB_IP_v4]/bad-score.html und http://[LB_IP_v4]/median-score.html.


Sie sehen, dass configuredAction auf ALLOW, DENY oder GOOGLE_RECAPTCHA mit dem Namen recaptcha-policy festgelegt ist.
Hinweis: Sicherheitsrichtlinien von Cloud Armor erstellen Logs, in denen Sie sehen können, wann Traffic zugelassen oder abgelehnt wurde und aus welcher Quelle er stammt.
Klicken Sie auf Fortschritt prüfen.
Bot-Verwaltung mit Cloud Armor validieren
Glückwunsch!
Sie haben erfolgreich die Bot-Verwaltung mit Cloud Armor implementiert. Sie haben einen HTTP-Load-Balancer konfiguriert. Anschließend haben Sie einen Websiteschlüssel für das reCAPTCHA-Sitzungstoken erstellt und auf einer Webseite implementiert. Außerdem haben Sie einen Websiteschlüssel für die Aufgabenseite erstellt. Sie haben eine Cloud Armor-Richtlinie für die Bot-Verwaltung eingerichtet und überprüft, wie Anfragen basierend auf den Regeln verarbeitet werden. Sie haben die Logs der Sicherheitsrichtlinie untersucht, um festzustellen, warum der Traffic zugelassen, blockiert oder umgeleitet wurde.
Anleitung zuletzt am 2. April 2026 aktualisiert
Lab zuletzt am 2. April 2026 getestet
© 2026 Google LLC. Alle Rechte vorbehalten. Google und das Google-Logo sind Marken von Google LLC. Alle anderen Unternehmens- und Produktnamen können Marken der jeweils mit ihnen verbundenen Unternehmen sein.