Configure firewall rules to allow HTTP and SSH traffic to backends

Fortschritt prüfen

/ 10

Configure instance templates and create managed instance groups

Fortschritt prüfen

/ 20

Configure the HTTP Load Balancer

Fortschritt prüfen

/ 10

Create and deploy reCAPTCHA session token and challenge-page site key

Fortschritt prüfen

/ 20

Create Cloud Armor security policy rules for Bot Management

Fortschritt prüfen

/ 20

Validate bot management with Cloud Armor

Fortschritt prüfen

/ 20

Dieses Lab kann KI-Tools enthalten, die den Lernprozess unterstützen.
Dieser Inhalt ist noch nicht für Mobilgeräte optimiert.
Die Lernumgebung funktioniert am besten, wenn Sie auf einem Computer über einen per E‑Mail gesendeten Link darauf zugreifen.

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.

Konfigurationsdiagramm für den HTTP-Load-Balancer

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

  1. 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.

  2. 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.
  3. 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.

  4. Klicken Sie auf Weiter.

  5. 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.

  6. 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.
  7. 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. Symbol für das Navigationsmenü und Suchfeld

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:

  1. Rufen Sie in der Google Cloud Console im Hauptmenü unter Produkte die Option VPC-Netzwerk auf und wählen Sie dann Firewall aus.
  2. Sie sehen die folgenden Firewallregeln: ICMP, internal, RDP und SSH. Jedes Google Cloud-Projekt startet mit dem Standardnetzwerk und diesen Firewallregeln.
  3. Klicken Sie auf Firewallregel erstellen.
  4. 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.
  1. 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
  1. 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:

  1. 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.
  2. Klicken Sie im Header der Seite Instanzvorlagen auf Instanzvorlage erstellen.
  3. Geben Sie unter Name den Namen lb-backend-template ein.
  4. Wählen Sie unter Standort die Option Global aus.
  5. Wählen Sie unter Serie die Option E2 aus.
  6. Klicken Sie auf Erweiterte Optionen.
  7. 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
  1. Klicken Sie unter Erweiterte Optionen auf den Tab Netzwerk und geben Sie allow-health-check in das Textfeld Netzwerk-Tags ein.
  2. 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.
  1. Klicken Sie auf Erstellen.

Warten Sie, bis die Instanzvorlage erstellt wurde.

Verwaltete Instanzgruppe erstellen

So erstellen Sie die verwaltete Instanzgruppe:

  1. Klicken Sie im Navigationsmenü von Compute Engine unter Instanzgruppe auf Instanzgruppen.

  2. Klicken Sie auf Instanzgruppe erstellen.

  3. Achten Sie darauf, dass Neue verwaltete Instanzgruppe (zustandslos) ausgewählt ist.

  4. 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
  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

  1. Gehen Sie in der Console zum Navigationsmenü (Symbol für Navigationsmenü) > Alle Produkte ansehen und klicken Sie unter Netzwerk auf Netzwerkdienste > Load Balancing.

  2. Klicken Sie auf Load Balancer erstellen.

  3. Achten Sie darauf, dass Application Load Balancer (HTTP/HTTPS) ausgewählt ist, und klicken Sie auf Weiter.

  4. Überprüfen Sie, ob Öffentlich (extern) ausgewählt ist, und klicken Sie auf Weiter.

  5. Stellen Sie sicher, dass Optimal für globale Arbeitslasten ausgewählt ist, und klicken Sie auf Weiter.

  6. Achten Sie darauf, dass Globaler externer Application Load Balancer ausgewählt ist, und klicken Sie auf Weiter.

  7. Wählen Sie Konfigurieren aus.

  8. Geben Sie in das Textfeld Name des Load Balancers den Wert http-lb ein.

Frontend konfigurieren

  1. Klicken Sie auf Frontend-Konfiguration.
  2. 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
  1. 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.

  1. Klicken Sie auf der Seite Globalen externen Application Load Balancer erstellen auf Backend-Konfiguration.
  2. Klicken Sie unter Backend-Dienste und Backend-Buckets auf Backend-Dienst erstellen.
  3. 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
  1. Legen Sie auf der Seite Systemdiagnose die folgenden Werte fest und übernehmen Sie für alle anderen die Standardeinstellung:

Button „Systemdiagnose erstellen“

  1. 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.
  1. Klicken Sie auf Erstellen, um die Systemdiagnose zu erstellen.
  2. Klicken Sie auf das Kästchen für Logging aktivieren.
  3. Achten Sie darauf, dass die Stichprobenrate auf 1 gesetzt ist.
  4. 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.

  1. Klicken Sie auf Prüfen und abschließen (optional).

Seite „Prüfen und abschließen“ für den Load Balancer mit Informationen in verschiedenen Kategorien, z. B. Host- und Pfadregeln und Backend-Dienste

  1. Prüfen Sie die Backend-Dienste und das Frontend.
  2. Klicken Sie auf Erstellen.

Warten Sie, bis der Load Balancer erstellt wurde.

  1. Klicken Sie auf den Namen des Load Balancers (http-lb).
  2. 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.

  1. 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.
  1. 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
  1. Rufen Sie das Navigationsmenü (Symbol für 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

  1. 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.

Hervorgehobener Eintrag „SSH“ in der Spalte „Verbinden“

  1. 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
  1. 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
  1. Erstellen Sie drei weitere Beispielseiten, um die Richtlinien für die Bot-Verwaltung zu testen:
  • good-score.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
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
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:

  1. Ö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:

reCAPTCHA-Logo

  1. Klicken Sie auf die einzelnen Links.

Die Hauptseite im Browser mit drei Links

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

Nachricht „Congrats! You have a good score!“

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.

  1. Erstellen Sie in der Cloud Shell eine Sicherheitsrichtlinie über gcloud:
gcloud compute security-policies create recaptcha-policy \ --description "policy for bot management"
  1. 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"
  1. 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
  1. 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"
  1. 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
  1. Hängen Sie die Sicherheitsrichtlinie an den Backend-Dienst http-backend an:
gcloud compute backend-services update http-backend \ --security-policy recaptcha-policy --global
  1. Öffnen Sie in der Console das Navigationsmenü (Symbol für Navigationsmenü), klicken Sie auf Alle Produkte ansehen und klicken Sie unter Netzwerk auf Netzwerksicherheit > Cloud Armor-Richtlinien.

  2. Klicken Sie auf recaptcha-policy.

Ihre Richtlinie sollte in etwa so aussehen:

Seite „Regeln“ mit Tabs und mehreren Aktionen mit ihrer jeweiligen Priorität

Klicken Sie auf Fortschritt prüfen. Cloud Armor-Sicherheitsrichtlinienregeln für die Bot-Verwaltung erstellen

Aufgabe 6: Bot-Verwaltung mit Cloud Armor validieren

  1. Öffnen Sie einen Browser und geben Sie die URL http://[LB_IP_v4]/index.html ein. Gehen Sie zu Visit allowed link.

Die Webseite „good-score“ mit dem Text „Congrats! You have a good score!“

  1. Öffnen Sie ein neues Fenster im Inkognitomodus, um eine neue Sitzung zu starten.

  2. 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:

Fehlermeldung „403 Forbidden“

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.
  1. Öffnen Sie ein neues Fenster im Inkognitomodus, um eine neue Sitzung zu starten.

  2. 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:

Google-reCAPTCHA-Dialogfeld

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.

  1. Öffnen Sie in der Console das Navigationsmenü (Symbol für Navigationsmenü), klicken Sie auf Alle Produkte ansehen und klicken Sie unter Netzwerk auf Netzwerksicherheit > Cloud Armor-Richtlinien.
  2. Klicken Sie auf recaptcha-policy.
  3. Klicken Sie auf den Tab Logs.
  4. Klicken Sie auf Richtlinienlogs ansehen.
  5. 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)
  1. Klicken Sie jetzt auf Abfrage ausführen.
  2. 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“.

Erweiterter Eintrag „jsonPayload.Expand enforcedSecurityPolicy“ und hervorgehobenes HTML

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.
  1. Wiederholen Sie den Vorgang für http://[LB_IP_v4]/bad-score.html und http://[LB_IP_v4]/median-score.html.

Die maximierte Sicherheitsrichtlinie und die Anfragedaten für den Link „bad-score“

Die maximierte Sicherheitsrichtlinie und die Anfragedaten für den Link „median-score“

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.

Vorbereitung

  1. Labs erstellen ein Google Cloud-Projekt und Ressourcen für einen bestimmten Zeitraum
  2. Labs haben ein Zeitlimit und keine Pausenfunktion. Wenn Sie das Lab beenden, müssen Sie von vorne beginnen.
  3. Klicken Sie links oben auf dem Bildschirm auf Lab starten, um zu beginnen

Privates Surfen verwenden

  1. Kopieren Sie den bereitgestellten Nutzernamen und das Passwort für das Lab
  2. Klicken Sie im privaten Modus auf Konsole öffnen

In der Konsole anmelden

  1. Melden Sie sich mit Ihren Lab-Anmeldedaten an. Wenn Sie andere Anmeldedaten verwenden, kann dies zu Fehlern führen oder es fallen Kosten an.
  2. Akzeptieren Sie die Nutzungsbedingungen und überspringen Sie die Seite zur Wiederherstellung der Ressourcen
  3. Klicken Sie erst auf Lab beenden, wenn Sie das Lab abgeschlossen haben oder es neu starten möchten. Andernfalls werden Ihre bisherige Arbeit und das Projekt gelöscht.

Diese Inhalte sind derzeit nicht verfügbar

Bei Verfügbarkeit können wir Sie per E-Mail benachrichtigen

Sehr gut!

Bei Verfügbarkeit können wir Sie per E-Mail kontaktieren

Es ist immer nur ein Lab möglich

Bestätigen Sie, dass Sie alle vorhandenen Labs beenden und dieses Lab starten möchten

Privates Surfen für das Lab verwenden

Am besten führen Sie dieses Lab in einem Inkognito- oder privaten Browserfenster aus. So vermeiden Sie Konflikte zwischen Ihrem privaten Konto und dem Teilnehmerkonto, die zusätzliche Kosten für Ihr privates Konto verursachen könnten.