Beispiele für reCAPTCHA-Firewallrichtlinien

Dieses Dokument enthält Beispiele für reCAPTCHA-Firewallrichtlinien, die Sie basierend auf 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 startet, 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 muss. In diesem Fall ist das login.php.
  • Wenn das Attribut „action_name“ des Aktionstokens nicht mit der geschützten Nutzeraktion übereinstimmt oder der Wert kleiner oder gleich 0,1 ist, 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 das reCAPTCHA-Aktionstoken-Feature 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 Checkout-Seite. Binden Sie das reCAPTCHA-Sitzungstoken-Script so ein, dass das reCAPTCHA-Cookie im Anwendungs-Backend ausgestellt und aktualisiert wird, bevor ein Nutzer die Abrechnungsseite aufruft. Binden Sie auf der Abrechnungsseite das reCAPTCHA-Sitzungstoken-Script ein, damit das reCAPTCHA-Cookie ausgegeben und im Anwendungs-Backend aktualisiert wird, um zu verhindern, dass das Cookie abläuft.

Erstellen Sie eine reCAPTCHA-Firewallrichtlinie mit der folgenden Regel:

  • Der Pfad, auf den die Regel angewendet werden muss. In diesem Fall ist das checkout.html.
  • Wenn der Wert kleiner als 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 das reCAPTCHA-Sitzungstoken-Feature und die entsprechende reCAPTCHA-Firewallrichtlinie verwendet:

Beispiel 3: reCAPTCHA-Firewallrichtlinie mit Abfrageseite

Sie können die Funktion „reCAPTCHA-Herausforderung“ hinzufügen, wenn der Nutzer zu einer Interstitial-Seite weitergeleitet werden soll, auf der ermittelt 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 den Nutzer auf die Abfrageseite weiterzuleiten:

  • Wenn das Token für die geschützte Seite nicht gültig ist, leiten Sie den Nutzer zur Challenge-Seite 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=/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 für verschiedene Webseiten unterschiedliche Schutzstufen nutzen möchten. Sie können beispielsweise die Funktion für Aktions- oder Sitzungstokens auf einer Seite verwenden, um den eingehenden Traffic anhand der reCAPTCHA-Punktzahlen zu bewerten, und die Funktion für die Abfrageseite auf einer Seite, auf der Sie sicherstellen 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 ausgestellt wird, wenn der Nutzer die Anmeldeaktion startet, binden Sie das reCAPTCHA-Aktionstoken-Script auf der Seite vor der geschützten Anmeldeaktion ein. Zum Beispiel die Startseite. Verwenden Sie auf der Downloadseite die reCAPTCHA-Firewallrichtlinienregel, um den Nutzer zur Herausforderungsseite weiterzuleiten.

Erstellen Sie eine reCAPTCHA-Firewallrichtlinie mit den folgenden Regeln:

  • Der Pfad, auf den die Regel angewendet werden muss. 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 Score kleiner oder gleich 0,1 ist, blockieren Sie den Zugriff.
  • Wenn Sie den Nutzer auf die Seite mit der Challenge weiterleiten möchten, wenn er Inhalte herunterladen möchte, fügen Sie eine Firewall-Richtlinienregel hinzu, um den Nutzer weiterzuleiten.
  • Wenn der Wert 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=/bot_error"

Die folgende Abbildung zeigt einen Workflow, der Features der reCAPTCHA-Aktions- und reCAPTCHA-Herausforderung verwendet, sowie die entsprechenden reCAPTCHA-Firewallrichtlinien:

Beispiel 5: Eine reCAPTCHA-Firewall-Richtlinie mit WAF Express-Schutz und Abfrageseite

Sie können die Funktion „reCAPTCHA WAF Express Protection“ hinzufügen, wenn Sie die Nutzerinteraktion ohne Beeinträchtigung bewerten und Nutzer bei einem niedrigen Wert auf die Seite mit der Identitätsbestätigung weiterleiten möchten. Sie möchten beispielsweise verhindern, dass Daten von einer Katalogseite abgerufen werden, und blockieren daher den Traffic zu dieser Seite.

Erstellen Sie eine reCAPTCHA-Firewallrichtlinie mit der folgenden Regel:

  • Der Pfad, auf den die Regel angewendet werden muss.
  • Wenn der Wert kleiner oder gleich 0,3 ist, leiten Sie den Nutzer zur Seite mit der Aufgabe weiter.

Im folgenden Beispiel wird eine reCAPTCHA-Firewallrichtlinie erstellt, um Traffic für /catalog1/itemlist.html weiterzuleiten, wenn der Score unter 0,3 liegt.

    gcloud recaptcha firewall-policies create \
        --description="example5 policy" \
        --path="/catalog1/itemlist.html" \
        --condition="recaptcha.score <= 3" \
        --actions="redirect"

Nächste Schritte