In diesem Dokument finden Sie Beispiele für reCAPTCHA-Firewallrichtlinien, die Sie anhand der Implementierung der Funktionen von reCAPTCHA WAF erstellen können.
Beispiel 1: reCAPTCHA-Firewallrichtlinie mit Aktionstoken
Sie können ein reCAPTCHA-Aktionstoken hinzufügen, um eine Nutzeraktion zu schützen, z. B. die Anmeldung. Damit das reCAPTCHA-Cookie ausgegeben wird, wenn der Nutzer die Anmeldeaktion auslöst, müssen Sie das reCAPTCHA-Aktionstoken-Script auf der Startseite einbinden.
Erstellen Sie eine reCAPTCHA-Firewallrichtlinie mit den folgenden Regeln:
- Der Pfad, auf den die Regel angewendet werden soll. In diesem Fall ist das
login.php
. - Wenn das Attribut „action_name“ des Aktionstokens nicht mit der geschützten Nutzeraktion übereinstimmt oder der Wert unter 0,1 liegt, blockieren Sie den Zugriff.
gcloud recaptcha firewall-policies create \
--description="example1 policy" \
--path="/login.php" \
--condition="recaptcha.token.action != "login" || recaptcha.score <= 0.1" \
--actions="block"
Die folgende Abbildung zeigt einen Workflow, der die reCAPTCHA-Aktionstoken-Funktion und die entsprechende reCAPTCHA-Firewallrichtlinie verwendet:
Beispiel 2: reCAPTCHA-Firewallrichtlinie mit Sitzungstoken
Sie können auf Seiten, auf die ein Nutzer zugreifen kann, ein reCAPTCHA-Sitzungstoken hinzufügen, damit das Cookie regelmäßig aktualisiert wird, z. B. eine Zahlungsseite. Binden Sie das reCAPTCHA-Sitzungstoken-Script so ein, dass das reCAPTCHA-Cookie im Anwendungs-Back-End ausgestellt und aktualisiert wird, bevor ein Nutzer die Zahlungsseite aufruft. Integrieren Sie auf der Zahlungsseite das reCAPTCHA-Sitzungstoken-Script, damit das reCAPTCHA-Cookie am Anwendungs-Backend ausgestellt und aktualisiert wird, um zu verhindern, dass es abläuft.
Erstellen Sie eine reCAPTCHA-Firewallrichtlinie mit der folgenden Regel:
- Der Pfad, auf den die Regel angewendet werden soll. In diesem Fall ist das
checkout.html
. - Wenn der Wert kleiner oder gleich 0,1 ist, blockieren Sie den Zugriff.
gcloud recaptcha firewall-policies create \
--description="example2 policy" \
--path="/checkout.html" \
--condition="recaptcha.score <=0.1" \
--actions="block"
Die folgende Abbildung zeigt einen Workflow, der die reCAPTCHA-Sitzungstoken-Funktion und die entsprechende reCAPTCHA-Firewallrichtlinie verwendet:
Beispiel 3: reCAPTCHA-Firewallrichtlinie mit Abfrageseite
Sie können die reCAPTCHA-Herausforderungsseite hinzufügen, wenn der Nutzer auf eine Zwischenseite weitergeleitet werden soll, auf der festgestellt wird, ob die Nutzeranfrage potenziell betrügerisch oder legitim ist.
Erstellen Sie für die Seiten, die Sie schützen möchten, reCAPTCHA-Firewallrichtlinienregeln, um Nutzer zur Abfrageseite weiterzuleiten:
- Wenn das Token für die geschützte Seite nicht gültig ist, leite den Nutzer zur Bestätigungsseite weiter. In diesem Fall ist das
index.html
. Wenn der Wert kleiner oder gleich 0,1 ist, leiten Sie den Nutzer zur Fehlerseite weiter.
gcloud recaptcha firewall-policies create \ --description="example3-1 policy" \ --path="/index.html" --condition="!recaptcha.token.valid" --actions="redirect"
gcloud recaptcha firewall-policies create \ --description="example3-2 policy" \ --path="/index.html" --condition="recaptcha.score <= 0.1" --actions="substitute { path: /bot_error }"
Die folgende Abbildung zeigt einen Workflow, der die reCAPTCHA-Herausforderungsseite und die entsprechenden reCAPTCHA-Firewallrichtlinien verwendet:
Beispiel 4: reCAPTCHA-Firewallrichtlinie mit Aktionstoken und Abfrageseite
Sie können mehrere Funktionen von reCAPTCHA WAF verwenden, wenn Sie auf verschiedenen Webseiten unterschiedliche Schutzebenen verwenden möchten. Sie können beispielsweise die Funktion „Aktionstoken“ oder „Sitzungstoken“ auf einer Seite verwenden, um den eingehenden Traffic anhand der reCAPTCHA-Bewertungen zu bewerten, und die Funktion „Abfrageseite“ auf einer Seite, auf der Sie sichergehen möchten, dass der Nutzer kein Bot ist.
Sie können ein reCAPTCHA-Aktionstoken hinzufügen, um eine Nutzeraktion zu schützen, z. B. die Anmeldung. Damit das reCAPTCHA-Cookie ausgegeben wird, wenn der Nutzer die Anmeldeaktion auslöst, müssen Sie das reCAPTCHA-Aktionstoken-Script auf der Seite vor der geschützten Anmeldeaktion einbinden. Beispiel: die Startseite. Verwenden Sie die reCAPTCHA-Firewallrichtlinienregel, um den Nutzer auf der Downloadseite zur Bestätigungsseite weiterzuleiten.
Erstellen Sie eine reCAPTCHA-Firewallrichtlinie mit den folgenden Regeln:
- Der Pfad, auf den die Regel angewendet werden soll. In diesem Fall ist das
login.php
. - Wenn das Attribut „action_name“ des Aktionstokens nicht mit der geschützten Nutzeraktion übereinstimmt, der Bewertungstyp nicht
ACTION
ist oder der Wert unter oder gleich 0,1 liegt, blockieren Sie den Zugriff. - Wenn Nutzer, die Inhalte herunterladen möchten, zur Bestätigungsseite weitergeleitet werden sollen, fügen Sie eine Firewall-Richtlinienregel hinzu.
- Wenn die Punktzahl kleiner oder gleich 0,1 ist oder der Bewertungstyp nicht
CHALLENGEPAGE
ist, leiten Sie den Nutzer zur Fehlerseite weiter.
gcloud recaptcha firewall-policies create --description="example4-1 policy"
--path="/login.php" --condition="recaptcha.token.action != "login" || recaptcha.assessment_type != AssessmentType.ACTION || recaptcha.score <= 0.1" --actions="block"
gcloud recaptcha firewall-policies create --description="example4-2 policy"
--path="/content/example.pdf" --condition="recaptcha.assessment_type != AssessmentType.CHALLENGEPAGE" --actions="redirect"
gcloud recaptcha firewall-policies create --description="example4-3 policy"
--path="/content/example.pdf" --condition="recaptcha.score <= 0.1 || recaptcha.assessment_type != AssessmentType.CHALLENGEPAGE" --actions="substitute { path: /bot_error }"
Die folgende Abbildung zeigt einen Workflow, der Features der reCAPTCHA-Aktions- und reCAPTCHA-Herausforderung sowie die entsprechenden reCAPTCHA-Firewallrichtlinien verwendet:
Beispiel 5: reCAPTCHA-Firewallrichtlinie mit Express-Schutz für WAF und Abfrageseite
Sie können die Expressschutzfunktion von reCAPTCHA WAF hinzufügen, wenn Sie die Nutzerinteraktion ohne Beeinträchtigungen bewerten und Nutzer dann zur Bestätigungsseite weiterleiten möchten, wenn der Wert niedrig ist. Beispielsweise möchten Sie den Traffic auf einer Katalogseite blockieren, um Daten-Scraping zu verhindern.
Erstellen Sie eine reCAPTCHA-Firewallrichtlinie mit der folgenden Regel:
- Der Pfad, auf den die Regel angewendet werden soll.
- Wenn der Wert kleiner oder gleich 0,3 ist, leite den Nutzer zur Seite mit der Herausforderung weiter.
Im folgenden Beispiel wird eine reCAPTCHA-Firewallrichtlinie erstellt, um Traffic zu /catalog1/itemlist.html
weiterzuleiten, wenn die Punktzahl unter 0,3 liegt.
gcloud recaptcha firewall-policies create \
--description="example5 policy" \
--path="/catalog1/itemlist.html" \
--condition="recaptcha.score <= 3" \
--actions="redirect"