Beispiele für reCAPTCHA-Firewallrichtlinien

Dieses Dokument enthält Beispiele für reCAPTCHA-Firewallrichtlinien, die Sie anhand der Implementierung der Features von reCAPTCHA WAF erstellen können.

Beispiel 1: Eine reCAPTCHA-Firewallrichtlinie mit Aktionstoken

Sie können ein reCAPTCHA-Aktionstoken hinzufügen, um eine Nutzeraktion wie z. B. die Anmeldung zu schützen. Binden Sie das reCAPTCHA-Aktionstoken-Skript auf der Startseite ein, damit das reCAPTCHA-Cookie ausgegeben wird, wenn der Nutzer die Anmeldeaktion initiiert.

Erstellen Sie eine reCAPTCHA-Firewallrichtlinie mit den folgenden Regeln:

  • Der Pfad, unter dem die Regel angewendet werden soll. In diesem Fall ist das login.php.
  • Wenn das Attribut „Aktionsname“ des Aktionstokens nicht mit der geschützten Nutzeraktion übereinstimmt oder der Wert kleiner oder gleich 0,1 ist, wird der Zugriff blockiert.
  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: Eine reCAPTCHA-Firewallrichtlinie mit Sitzungstoken

Sie können ein reCAPTCHA-Sitzungstoken auf Seiten einfügen, auf die ein Nutzer zugreifen kann, damit das Cookie regelmäßig aktualisiert wird, z. B. auf einer Zahlungsseite. Binden Sie das reCAPTCHA-Sitzungstoken-Skript ein, damit das reCAPTCHA-Cookie im Anwendungs-Backend ausgegeben und aktualisiert wird, bevor ein Nutzer die Zahlungsseite aufruft. Binden Sie auf der Zahlungsseite das reCAPTCHA-Sitzungstoken-Skript ein, damit das reCAPTCHA-Cookie im Anwendungs-Backend ausgegeben und aktualisiert wird, damit das Cookie nicht abläuft.

Erstellen Sie eine reCAPTCHA-Firewallrichtlinie mit der folgenden Regel:

  • Der Pfad, unter dem die Regel angewendet werden soll. In diesem Fall ist das checkout.html.
  • Wenn der Wert kleiner oder gleich 0,1 ist, wird der Zugriff blockiert.
   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: Eine reCAPTCHA-Firewallrichtlinie mit Abfrageseite

Sie können die Funktion für die reCAPTCHA-Abfrageseite hinzufügen, wenn der Nutzer zu einer Interstitial-Seite weitergeleitet werden soll, auf der geprüft 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 zur Seite mit der Identitätsbestätigung weiterzuleiten:

  • Wenn das Token auf der geschützten Seite nicht gültig ist, leite 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 { path: /bot_error }"
    

Die folgende Abbildung zeigt einen Workflow, der die reCAPTCHA-Abfrageseite und die entsprechenden reCAPTCHA-Firewallrichtlinien verwendet:

Beispiel 4: Eine reCAPTCHA-Firewallrichtlinie mit Aktionstoken und Abfrageseite

Sie können mehr als eine Funktion von reCAPTCHA WAF verwenden, wenn Sie auf Webseiten unterschiedliche Schutzstufen verwenden möchten. Sie können beispielsweise das Aktionstoken oder das Sitzungstoken-Feature auf einer Seite verwenden, um den eingehenden Traffic anhand der reCAPTCHA-Werte zu bewerten, und die Challenge-Seite auf einer Seite verwenden, auf der Sie sicherstellen möchten, dass der Nutzer kein Bot ist.

Sie können ein reCAPTCHA-Aktionstoken hinzufügen, um eine Nutzeraktion wie z. B. die Anmeldung zu schützen. Damit das reCAPTCHA-Cookie ausgegeben wird, wenn der Nutzer die Anmeldeaktion initiiert, muss das reCAPTCHA-Aktionstoken-Skript vor der geschützten Anmeldeaktion auf der Seite eingebunden werden. Zum Beispiel die Startseite. Verwenden Sie auf der Downloadseite die reCAPTCHA-Firewallrichtlinienregel, um den Nutzer auf die Challenge-Seite weiterzuleiten.

Erstellen Sie eine reCAPTCHA-Firewallrichtlinie mit den folgenden Regeln:

  • Der Pfad, unter dem die Regel angewendet werden soll. In diesem Fall ist das login.php.
  • Wenn das Attribut „Aktionsname“ des Aktionstokens nicht mit der geschützten Nutzeraktion übereinstimmt oder der Bewertungstyp nicht ACTION ist oder die Punktzahl kleiner oder gleich 0, 1 ist, wird der Zugriff blockiert.
  • Wenn der Nutzer zum Herunterladen von Inhalten zur Seite mit der Identitätsbestätigung weitergeleitet werden soll, fügen Sie eine Firewallrichtlinien-Regel hinzu, durch die der Nutzer weitergeleitet wird.
  • 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 Funktionen für reCAPTCHA-Aktionstoken und reCAPTCHA-Abfrageseite sowie die entsprechenden reCAPTCHA-Firewallrichtlinien verwendet:

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

Sie können die Express-Schutzfunktion von reCAPTCHA WAF hinzufügen, wenn Sie die Nutzerinteraktion ohne Beeinträchtigung der Nutzer bewerten und die Nutzer dann zur Seite mit der Identitätsbestätigung weiterleiten möchten, wenn die Punktzahl niedrig ist. Wenn Sie beispielsweise Daten-Scraping verhindern möchten, möchten Sie beispielsweise den Traffic zu einer Katalogseite blockieren.

Erstellen Sie eine reCAPTCHA-Firewallrichtlinie mit der folgenden Regel:

  • Der Pfad, unter dem die Regel angewendet werden soll.
  • Wenn die Punktzahl kleiner oder gleich 0,3 ist, leite den Nutzer zur Challenge-Seite weiter.

Im folgenden Beispiel wird eine reCAPTCHA-Firewallrichtlinie erstellt, um das Traffic-Targeting für /catalog1/itemlist.html weiterzuleiten, wenn der Wert 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