Bot-Verwaltung für Google Cloud Armor

Google Cloud Armor und reCAPTCHA stellen Tools bereit, mit denen Sie eingehende Anfragen, die möglicherweise von automatisierten Clients.

reCAPTCHA verwendet fortschrittliche Techniken zur Risikoanalyse, zwischen menschlichen Nutzenden und automatisierten Kunden. reCAPTCHA bewertet den Nutzer anhand der Konfiguration von reCAPTCHA-WAF-Websiteschlüssel. Anschließend wird ein verschlüsseltes Token mit Attributen ausgegeben, die das damit verbundene Risiko darstellen. Google Cloud Armor entschlüsselt dieses Token inline, ohne zusätzliche Anfrage oder Antwort auf das reCAPTCHA . Basierend auf den Tokenattributen können Sie mit Google Cloud Armor die eingehenden Anfragen zulassen, ablehnen, begrenzen oder weiterleiten. Weitere Informationen finden Sie unter die Übersicht über die Einbindung von Google Cloud Armor und reCAPTCHA.

Die Bot-Verwaltung in Google Cloud Armor enthält folgende integrierte Funktionen.

  • Manuelle Identitätsbestätigung (Seite mit reCAPTCHA-Abfrage)

    • Sie müssen eine Sicherheitsrichtlinienregel konfigurieren, um eine Anfrage für weiterzuleiten. reCAPTCHA-Bewertung.
    • Sie können Ihren eigenen reCAPTCHA-WAF-Websiteschlüssel erstellen und verknüpfen mit Ihrer Sicherheitsrichtlinie. Dies wird dringend empfohlen. Weitere Informationen finden Sie unter Implementierung einer reCAPTCHA-Herausforderung.
    • Sie können nur Endnutzer zulassen, die das reCAPTCHA erfolgreich durchlaufen haben Manuelle Aufgabe durch Weiterleitung der Endnutzer an reCAPTCHA .
  • Reibungslose reCAPTCHA-Bewertung erzwingen

    • Je nach eingehenden Anfragen können Sie reCAPTCHA-Bewertung des Risikos, dass die Anfrage von einem Bot stammt. Sie können Sicherheitsrichtlinienregeln schreiben, um den Traffic anhand des Tokenscores und anderer Tokenattribute auszuwerten und zu filtern.
    • Sie müssen reCAPTCHA-Aktionstokens, Sitzungstokens oder beides. reCAPTCHA-Aktionstokens werden für Anwendungen unterstützt, die auf Websites, iOS und Android. reCAPTCHA-Sitzungstoken werden nur unterstützt auf Websites. Weitere Informationen zu reCAPTCHA-Tokens finden Sie unter reCAPTCHA-Aktionstokens und reCAPTCHA-Sitzungstokens
    • Sie müssen eine Sicherheitsrichtlinienregel konfigurieren, die Folgendes auswertet: reCAPTCHA-Tokens.
    • Um Tokendiebstahl zu verhindern, sollten Sie Ihre eigenen reCAPTCHA-Schlüssel für WAF mit Ihrer Sicherheitsrichtlinienregel.

Die Botverwaltung von Google Cloud Armor umfasst außerdem folgende Funktionen:

  • Weiterleiten (302)
    • Sie können Anfragen an Ihre konfigurierte alternative URL weiterleiten. Dazu konfigurieren Sie Google Cloud Armor so, dass eine HTTP 302-Antwort an den Client gesendet wird.
  • Anfrage gestalten
    • Sie können benutzerdefinierte Header in statische Anfragen und statische Werte in diese Header einfügen, bevor Sie Anfragen an Ihre Back-Ends weiterleiten.

Anwendungsfälle

In diesem Abschnitt wird beschrieben, wie Sie die Botverwaltungsfunktionen von Google Cloud Armor verwenden können, um das Botrisiko zu minimieren und den Zugriff von automatisierten Clients zu steuern.

Eine manuelle Identitätsbestätigung zur Unterscheidung zwischen berechtigten Nutzern und automatisierten Kunden nutzen

Sie können eine Anfrage an reCAPTCHA weiterleiten, um den Endkunden zu bewerten und bei Bedarf manuelle Herausforderungen bewältigen, ohne dass reCAPTCHA-Implementierung. Wenn menschliche Nutzer dieselbe Signatur (z. B. URL-Pfade oder andere L7-Signaturen) wie ein Bot oder ein missbräuchliches System verwenden, bietet diese Aktion eine Möglichkeit, um zu beweisen, dass sie ein Mensch sind. Nur Nutzer, die die Prüfung bestehen, können Zugriff auf Ihren Dienst erhalten.

Folgendes Diagramm zeigt, wie eine manuelle Herausforderung unterscheidet, ob eine Anfrage von einem Menschen oder einem automatisierten Client stammt:

<ph type="x-smartling-placeholder">
</ph> Beispiel für die Weiterleitung zu reCAPTCHA
Beispiel für eine Weiterleitung zu reCAPTCHA (klicken auf vergrößern)

Angenommen, ein Nutzer Maya und ein Bot durchsuchen beide die Anmeldeseite (/login.html) auf Ihrer Website. Wenn Sie Zugriff auf Maya gewähren möchten, ohne Zugriff auf den Bot zu gewähren, können Sie eine Sicherheitsrichtlinienregel mit dem erweiterten Übereinstimmungsausdruck request.path.matches("/login.html") konfigurieren, mit einer redirect-Aktion vom TypGOOGLE_RECAPTCHA. Das End-to-End-Erlebnis sieht so aus:

  1. Ein Endnutzer besucht Ihre Website zum ersten Mal.
  2. Google Cloud Armor wertet die Anfrage aus und bestimmt, an reCAPTCHA weiterleiten.
  3. reCAPTCHA antwortet mit einer HTML-Seite mit dem In reCAPTCHA-JavaScript eingebettet.
  4. Wenn die Antwort gerendert wird, wird das eingebettete JavaScript ausgeführt, um den Nutzer zu bewerten und bei Bedarf manuelle Identitätsbestätigungen bereitzustellen.
    • Wenn der Nutzer die Prüfung besteht, gibt reCAPTCHA eine Ausnahme-Cookie, das vom Browser automatisch an jedes die nachfolgenden Anfragen an dieselbe Website, bis das Cookie abläuft.
    • Andernfalls gibt reCAPTCHA kein Ausnahme-Cookie aus.

In diesem Beispiel besteht nur Maya die reCAPTCHA-Prüfung und erhält ein Ausnahme-Cookie, das Zugriff auf Ihre Website erhält.

Wenn Sie manuelle Herausforderungen verwenden, empfehlen wir, einen eigenen reCAPTCHA-WAF-Websiteschlüssel zu erstellen und der Sicherheitsrichtlinie zuzuordnen. So können Sie reCAPTCHA-Messwerte aufrufen, die mit dem und ein für den Websiteschlüssel spezifisches Sicherheitsmodell trainieren. Weitere Informationen finden Sie unter Schlüssel für reCAPTCHA-WAF-Website erstellen.

Wenn Sie keinen Websiteschlüssel erstellen und verknüpfen, verwendet reCAPTCHA einen von Google verwalteten Websiteschlüssel. Sie können keine reCAPTCHA-Messwerte aufrufen, die mit Websiteschlüsseln verknüpft sind, die Ihnen nicht gehören, einschließlich von Google verwalteter Websiteschlüssel.

reCAPTCHA-Bewertung erzwingen

Wenn an eine eingehende Anfrage ein reCAPTCHA-Token angehängt ist, Google Cloud Armor wertet die Anfrage aus und wendet die konfigurierte Aktion an basierend auf den einzelnen Attributen im Token. Google Cloud Armor-Sicherheit Die Richtlinienauswertung erfolgt am Rand des Google-Netzwerks. Ihre Back-Ends sind also die nicht an der Entschlüsselung des Tokens beteiligt sind.

reCAPTCHA-Tokens

reCAPTCHA gibt zwei Arten von Tokens aus: Aktionstokens und Sitzungstokens. Beide Tokentypen geben für jede Anfrage einen Wert zurück, der auf dem mit Ihrer Website oder App interagieren. Beide Tokentypen enthalten Attribute, einschließlich einer Bewertung, die das mit dem Nutzer verbundene Risiko darstellt. Außerdem Informationen über den reCAPTCHA-Schlüssel enthalten, den Sie verwendet haben, das Token generiert wurde.

Bevor Sie Regeln für Sicherheitsrichtlinien konfigurieren, müssen Sie festlegen, ob Aktionstokens, Sitzungstokens oder beides verwendet werden sollen. Wir empfehlen Ihnen, die reCAPTCHA-Dokumentation als Entscheidungsgrundlage. Weitere Informationen finden Sie in der Vergleich der reCAPTCHA-Anwendungsfälle.

Nachdem Sie ermittelt haben, welchen Tokentyp Sie verwenden möchten, implementieren Sie reCAPTCHA für das Token, das mit einem Informationen zum Implementieren von Tokens in reCAPTCHA finden Sie hier: finden Sie auf den folgenden Seiten:

Verwenden Sie schließlich die Google Cloud Armor-Regelsprache, um die Sicherheit zu konfigurieren Richtlinienregeln zum Auswerten angehängter reCAPTCHA-Tokens mit der Anfrage. Um Tokendiebstahl zu verhindern, empfehlen wir Ihnen dringend, reCAPTCHA-Schlüssel mit Ihren Sicherheitsrichtlinienregeln verknüpfen. Wenn Sie reCAPTCHA-Schlüssel mit einer Sicherheitsrichtlinienregel verknüpfen, Google Cloud Armor führt eine zusätzliche Validierung des Tokens durch, indem das Token verglichen wird. reCAPTCHA-Schlüssel im Token gegen reCAPTCHA-Schlüssel, die mit der Regel. Google Cloud Armor berücksichtigt ein Token mit einem unbekannten reCAPTCHA-Schlüssel als ungültig gekennzeichnet. Weitere Informationen finden Sie unter reibungslose reCAPTCHA-Bewertung erzwingen.

Die folgende Abbildung zeigt die Erzwingung von reCAPTCHA-Tokens Ablauf.

<ph type="x-smartling-placeholder">
</ph> reCAPTCHA-Tokens erzwingen
Ablauf der Erzwingung von reCAPTCHA-Tokens (klicken Sie vergrößern)

Weiterleitung (302-Antwort)

Sie können mit einer URL-basierten Weiterleitungsaktion Anfragen extern an einen anderen Endpunkt weiterleiten. Dazu geben Sie ein Weiterleitungsziel in Form einer URL an. Google Cloud Armor leitet die Anfrage dann durch Senden einer HTTP 302-Antwort an den Client weiter.

Anfrage gestalten

Google Cloud Armor kann benutzerdefinierte Anfrageheader mit statischen benutzerdefinierten Werten einfügen, bevor die Anfragen an Ihre Anwendung weitergeleitet werden. Mit dieser Option können Sie Anfragen nach alternativer Downstream-Verarbeitung wie etwa der Lieferung eines Honigtopfs oder zusätzliche Analyse und Überwachung. Beachten Sie, dass dieser Aktionsparameter einer vorhandenen allow-Aktion hinzugefügt werden muss.

Benutzerdefinierte Header

Wenn Sie Google Cloud Armor so konfiguriert haben, dass ein benutzerdefinierter Header oder Wert eingefügt wird mit demselben Headernamen wie einer der benutzerdefinierten Header für den globalen externen Application Load Balancer oder den klassischen Application Load Balancer, lautet der Header-Wert der vom Load-Balancer überschrieben wird. Weitere Informationen finden Sie unter Benutzerdefinierte Header in Backend-Diensten erstellen.

Wenn Sie außerdem einen Header-Namen auswählen, der bereits in der Anfrage vorhanden ist, einschließlich der Standard-HTTP-Header, wird der ursprüngliche Wert in diesem Header durch den benutzerdefinierten Wert überschrieben, der der Google Cloud Armor-Regel zur Verfügung gestellt wird.

Integration in Ratenbegrenzung

Google Cloud Armor-Regeln zur Ratenbegrenzung sind mit Bot-Verwaltungsfunktionen kompatibel. Sie können z. B. eine Anfrage für reCAPTCHA weiterleiten. bewerten oder an eine andere URL weiterleiten, wenn die Anzahl der Anfragen den konfigurierten Grenzwert. Darüber hinaus können Sie Kunden anhand der auf reCAPTCHA-Ausnahme-Cookies oder -Tokens beschränken, Anfragen drosseln oder Clients sperren, die dasselbe Cookie oder Token wiederverwenden oder missbrauchen die den vom Nutzer konfigurierten Grenzwert überschreitet.

Ratenbegrenzung für reCAPTCHA-Ausnahme-Cookies oder ‐Tokens

Aus Sicherheitsgründen empfehlen wir, Ratenbegrenzungsregeln zu konfigurieren, um Tokenmissbrauch durch mehrere Verwendungen pro eindeutigem reCAPTCHA-Aktions-Token, Sitzungs-Token oder Ausnahme-Cookie zu verhindern. In der folgenden Tabelle sehen Sie, wie Sie ein reCAPTCHA-Ausnahme-Cookie oder -Token als Schlüssel in einem Ratenbegrenzungsregel.

Ressource enforce_on_key enforce_on_key_name
Ausnahme-Cookie HTTP-COOKIE recaptcha-ca-e
Aktionstoken HTTP-HEADER X-Recaptcha-Token
Sitzungstoken HTTP-COOKIE recaptcha-ca-t

Sie können Anfragen drosseln oder Clients sperren, die vom selben Ausnahme-Cookie oder Token abhängen und den konfigurierten Schwellenwert überschreiten. Weitere Informationen zu Ratenbegrenzungsparametern finden Sie unter Ratenbegrenzung anwenden.

Beispiele für die Ratenbegrenzung

Angenommen, Sie verwenden manuelle Herausforderungen nur für ausgewählte URLs (z. B. /login.html) auf Ihrer Website. Konfigurieren Sie dazu Sicherheitsrichtlinienregeln so:

  • Regel 1: Wenn mit der Anfrage ein gültiges Ausnahme-Cookie verknüpft ist und die Anzahl der Verwendungszwecke des Ausnahme-Cookies unter Ihrem definierten Schwellenwert liegt, lassen Sie die Anfrage zu.
  • Regel 2: Die Anfrage für eine reCAPTCHA-Bewertung weiterleiten.
<ph type="x-smartling-placeholder"></ph> Manuelle Identitätsbestätigungen erzwingen
Manuelle Identitätsbestätigungen erzwingen (zum Vergrößern klicken)

Angenommen, Sie verwenden auf Ihrer Website ausschließlich Aktionstokens oder Sitzungstokens. Sie können beispielsweise Aktionstokens verwenden, um wichtige Nutzeraktionen wie /login.html zu schützen. Führen Sie dazu auf der Grundlage des Scores aus dem Aktionstoken folgende Aktionen aus:

  • Regel 1: Wenn der Score des Aktionstokens höher ist als ein vordefinierter Schwellenwert (z. B. 0.8), wird die Anfrage zugelassen, wenn die Anzahl der Verwendungen für das Aktionstoken unter Ihrem definierten Wert liegt.
  • Regel 2: Anfrage ablehnen.
<ph type="x-smartling-placeholder"></ph> reCAPTCHA-Aktionstoken-Bewertung erzwingen.
reCAPTCHA-Aktionstoken-Bewertung erzwingen (klicken, um Vergrößern).

Sie können ähnliche Sicherheitsrichtlinienregeln konfigurieren, um sie zu erzwingen Bewertung des reCAPTCHA-Sitzungstokens.

Nehmen wir nun an, Sie kombinieren Aktions- oder Sitzungstokens mit manuellen Herausforderungen für ausgewählte URLs (z. B. /login.html) auf Ihrer Website und möchten Aktionen basierend auf dem Ergebnis des Aktionstoken ausführen. Außerdem möchten Sie dem Nutzer eine zweite Möglichkeit bieten, Aufgaben zu lösen, wenn der Scoreö nicht zufriedenstellend ist. Konfigurieren Sie dazu die Sicherheitsrichtlinienregeln so:

  • Regel 1: Wenn der Score des Aktionstokens höher ist als ein vordefinierter Schwellenwert (z. B. 0.8), wird die Anfrage zugelassen, wenn die Anzahl der Verwendungen für das Aktionstoken unter Ihrem definierten Wert liegt.
  • Regeln 2 und 3: Wenn der Wert des Aktionstokens höher als ein anderer vordefinierter Wert ist Grenzwert (z. B. 0.5) die Anfrage an reCAPTCHA-Bewertung, sofern kein gültiges Ausnahme-Cookie vorhanden ist an die Anfrage angehängt ist und die Anzahl der Verwendungen des Ausnahme-Cookies unterhalb des festgelegten Grenzwerts liegt.
  • Regel 4: Anfrage ablehnen.
<ph type="x-smartling-placeholder"></ph> reCAPTCHA-Aktionstoken-Bewertung mit manuellen Identitätsbestätigungen erzwingen.
reCAPTCHA-Aktionstoken-Bewertung mit manuellen Identitätsbestätigungen erzwingen (klicken, um Vergrößern).

Sie können ähnliche Sicherheitsrichtlinienregeln konfigurieren, um sie zu erzwingen reCAPTCHA-Sitzungstokens mit manuellen Identitätsbestätigungen.

Wenn Sie die Ratenbegrenzungsregeln nicht anpassen, die Anzahl der Verwendungen für jedes reCAPTCHA-Ausnahme-Cookie nicht begrenzt, Aktionstoken und Sitzungstoken. Für Aktionstokens empfehlen wir die Verwendung eines niedrigen Schwellenwerts (z. B. 1) und eines hohen Zeitintervalls (z. B. 30 Minuten, da Aktionstokens 30 Minuten lang gültig sind). Wir empfehlen Ihnen, den Schwellenwert anhand Ihrer Trafficstatistiken abzuleiten.

Nächste Schritte