In diesem Dokument erfahren Sie, wie Sie reCAPTCHA WAF Express-Schutz (reCAPTCHA WAF Express) auf einem Anwendungsserver einrichten, ohne das reCAPTCHA JavaScript (Web) oder native mobile SDKs (iOS oder Android) zu integrieren.
reCAPTCHA WAF Express verwendet nur Backend-Signale, um einen reCAPTCHA-Risikowert zu generieren. Anhand dieses Risikowerts können Sie entscheiden, ob Sie die Anfrage verarbeiten, auf eine Challenge-Seite weiterleiten oder sie für eine spätere Analyse protokollieren möchten.
Hinweise
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Notieren Sie Ihre Google Cloud-Projekt-ID zur späteren Verwendung.Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
reCAPTCHA Enterprise API aktivieren.
Erstellen Sie einen API-Schlüssel für die Authentifizierung:
Wechseln Sie in der Google Cloud Console zur Seite Anmeldedaten.
Klicken Sie auf
Anmeldedaten erstellen und wählen Sie anschließend API-Schlüssel aus.Notieren Sie den API-Schlüssel zur späteren Verwendung.
reCAPTCHA-WAF-Expressschlüssel erstellen
Erstellen Sie einen reCAPTCHA WAF-Expressschlüssel, um den reCAPTCHA WAF-Expressschutz zu implementieren.
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
gcloud
Verwenden Sie zum Erstellen von reCAPTCHA-Schlüsseln den Befehl gcloud recaptcha keys create.
Bevor Sie die folgenden Befehlsdaten verwenden, ersetzen Sie die folgenden Werte:
- DISPLAY_NAME: Name des Schlüssels. In der Regel ein Websitename.
- INTEGRATION_TYPE: Art der Integration.
Geben Sie
score
an. - DOMAIN_NAME: Domains oder Subdomains von Websites, die den Schlüssel verwenden dürfen.
Geben Sie
--allow-all-domains
an. - WAF_FEATURE: Name des WAF-Features.
Geben Sie
express
an. - WAF_SERVICE: Name des WAF-Dienstanbieters.
Führen Sie den Befehl gcloud recaptcha keys create aus:
Linux, macOS oder Cloud Shell
gcloud recaptcha keys create \ --web \ --display-name=DISPLAY_NAME \ --integration-type=INTEGRATION_TYPE \ --domains=DOMAIN_NAME \ --waf-feature=WAF_FEATURE \ --waf-service=WAF_SERVICE
Windows (PowerShell)
gcloud recaptcha keys create ` --web ` --display-name=DISPLAY_NAME ` --integration-type=INTEGRATION_TYPE ` --domains=DOMAIN_NAME ` --waf-feature=WAF_FEATURE ` --waf-service=WAF_SERVICE
Windows (cmd.exe)
gcloud recaptcha keys create ^ --web ^ --display-name=DISPLAY_NAME ^ --integration-type=INTEGRATION_TYPE ^ --domains=DOMAIN_NAME ^ --waf-feature=WAF_FEATURE ^ --waf-service=WAF_SERVICE
Die Antwort enthält den neu erstellten reCAPTCHA-Schlüssel.
REST
API-Referenzinformationen zu Schlüsseltypen und Integrationstypen finden Sie unter Schlüssel und Integrationstyp.Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
- DISPLAY_NAME: Name des Schlüssels. In der Regel ein Websitename.
- INTEGRATION_TYPE: Art der Integration.
Geben Sie
score
an. - DOMAIN_NAME: Domains oder Subdomains von Websites, die den Schlüssel verwenden dürfen.
Geben Sie
--allow-all-domains
an. - WAF_FEATURE: Name des WAF-Features.
Geben Sie
express
an. - WAF_SERVICE: Name des WAF-Dienstanbieters.
HTTP-Methode und URL:
POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys
JSON-Text der Anfrage:
{ "displayName": "DISPLAY_NAME", 'wafSettings': " { "wafService": "WAF_SERVICE", "wafFeature": "WAF_FEATURE" } "webSettings": { "allowedDomains": "DOMAINS", "integrationType": "TYPE_OF_INTEGRATION" } }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
und führen Sie den folgenden Befehl aus:curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys"PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
und führen Sie den folgenden Befehl aus:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys" | Select-Object -Expand ContentSie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/project-id/keys/7Ldqgs0UBBBBBIn4k7YxEB-LwEh5S9-Gv6QQIWB8m", "displayName": "DISPLAY_NAME, "webSettings": { "allowAllDomains": true, "allowedDomains": [ "localhost" ], "integrationType": "SCORE", }, "wafSettings": { "wafService": "", "wafFeature": "EXPRESS" } }
Notieren Sie sich Ihre Express-Taste zur späteren Verwendung.
Bewertung erstellen
Erstellen Sie mit der Methode projects.assessments.create
eine Bewertung, um eine Anfrage von Ihrem Anwendungsserver an reCAPTCHA Enterprise zu senden.
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
- API_KEY: Der API-Schlüssel, den Sie für die Authentifizierung erstellt haben.
- EXPRESS_KEY: reCAPTCHA-WAF-Expressschlüssel, den Sie für Ihre Anwendung erstellt haben.
- USER_IP_ADDRESS: Die IP-Adresse in der Anfrage vom Gerät des Nutzers, die sich auf dieses Ereignis bezieht.
- HEADER_INFO: Optional. Die HTTP-Header, die der Client an Ihren Anwendungsserver gesendet hat.
- JA3_FINGERPRINT: Optional. JA3 ist ein MD5-Fingerabdruck bestimmter Felder des TLS-Client-Hello-Pakets. Weitere Informationen finden Sie unter JA3 – Eine Methode zur Profilerstellung für SSL/TLS-Clients.
- URI_NAME: Optional. Der URI, auf den der Nutzer zugreift.
- USER_AGENT: Optional. Der User-Agent, der in der Anfrage vom Gerät des Nutzers für dieses Ereignis vorhanden ist.
HTTP-Methode und URL:
POST https://public-preview-recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/assessments?key=API_KEY
JSON-Text der Anfrage:
{ "event": { "siteKey": "EXPRESS_KEY", "express": true, "userIpAddress": "USER_IP_ADDRESS", "headers": ["HEADER_INFO"], "ja3": "JA3_FINGERPRINT", "requestedUri": "URI_NAME", "userAgent": "USER_AGENT", } }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
curl -X POST \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://public-preview-recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/assessments?key=API_KEY"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$headers = @{ }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://public-preview-recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/assessments?key=API_KEY" | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/123456789/assessments/abcdef1234000000", "event": { "token": "", "siteKey": "6L...", "userAgent": "Mozilla/5.0 (X11; CrOS x86_64 13816.55.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.86 Safari/537.36", "userIpAddress": "1.2.3.4", "express": true, "requestedUri": "https://example.com/", "firewallPolicyEvaluation": false }, "riskAnalysis": { "score": 0.7, "reasons": [] } }
Nächste Schritte
- Informationen zum Verwenden von reCAPTCHA WAF Express-Schutz mit Fastly
- Weitere Informationen zum Interpretieren von Risikobewertungen