Panoramica della gestione dei bot di Google Cloud Armor

Google Cloud Armor e reCAPTCHA forniscono strumenti per aiutarti a valutare le richieste in arrivo che potrebbero essere da client automatizzati.

reCAPTCHA utilizza tecniche avanzate di analisi del rischio per distinguere tra utenti umani e client automatici. reCAPTCHA valuta l'utente in base alla configurazione le chiavi di sito reCAPTCHA WAF. Quindi emette un token criptato con attributi che rappresentano il rischio associato. Google Cloud Armor decifra questo token in linea, senza ulteriori richieste o risposte al reCAPTCHA. completamente gestito di Google Cloud. In base agli attributi del token, Google Cloud Armor ti consente, bloccare, limitare la frequenza o reindirizzare le richieste in entrata. Per ulteriori informazioni, vedi il Panoramica dell'integrazione di Google Cloud Armor e reCAPTCHA.

La gestione dei bot di Google Cloud Armor include quanto segue le funzionalità di machine learning.

  • Verifica manuale (pagina di verifica reCAPTCHA)

    • Devi configurare una regola del criterio di sicurezza per reindirizzare una richiesta per Test reCAPTCHA.
    • Puoi creare la tua chiave di sito reCAPTCHA WAF e associarla con le tue norme di sicurezza. Ti consigliamo vivamente di eseguire questa operazione. Per ulteriori informazioni, vedi Implementa una verifica reCAPTCHA.
    • Puoi autorizzare solo gli utenti finali che superano il reCAPTCHA verifica manuale tramite il reindirizzamento degli utenti finali per reCAPTCHA la valutazione.
  • Applica la valutazione senza problemi di reCAPTCHA

    • Puoi intraprendere azioni diverse sulle richieste in arrivo in base Valutazione di reCAPTCHA del rischio che la richiesta proviene da un bot. Puoi scrivere regole del criterio di sicurezza per valutare filtrando il traffico in base al punteggio del token e ad altri attributi del token.
    • Devi implementare i token di azione, di sessione e o entrambe le cose. I token di azione reCAPTCHA sono supportati nelle applicazioni in esecuzione siti web, iOS e Android. I token di sessione reCAPTCHA sono supportati solo su siti web. Per ulteriori informazioni sui token reCAPTCHA, consulta token di azione reCAPTCHA e token di sessione reCAPTCHA.
    • Devi configurare una regola del criterio di sicurezza che valuti di reCAPTCHA.
    • Per evitare il furto di token, ti consigliamo di associare i tuoi Chiavi reCAPTCHA per WAF con la regola del criterio di sicurezza.

La gestione dei bot di Google Cloud Armor include anche le funzionalità di machine learning.

  • Reindirizzamento (302)
    • Puoi reindirizzare le richieste all'URL alternativo configurato configurando Google Cloud Armor per fornire una risposta HTTP 302 al client.
  • Richiesta Decora
    • Puoi inserire intestazioni personalizzate nelle richieste e valori statici al loro interno. prima di eseguire il proxy delle richieste ai backend.

Casi d'uso

Questa sezione descrive come utilizzare la gestione dei bot di Google Cloud Armor per mitigare il rischio di bot e controllare l'accesso da parte dei client automatizzati.

Utilizzare una verifica manuale per distinguere tra utenti legittimi e client automatici

Puoi reindirizzare una richiesta a reCAPTCHA per valutare il client finale e rispondere alle verifiche manuali, se necessario, senza dover Implementazione di reCAPTCHA. Quando utenti umani condividono lo stesso (ad es. percorsi URL o altre firme L7) come bot o sistema, questa azione offre loro un modo per dimostrare di essere umani. Solo Gli utenti che superano il test possono accedere al tuo servizio.

Il seguente diagramma mostra come una verifica manuale consente di distinguere se una proviene da un utente o da un client automatizzato:

Esempio di reindirizzamento a reCAPTCHA.
Esempio di reindirizzamento a reCAPTCHA (fai clic per ingrandire).

Supponiamo che un utente Maya e un bot stiano esplorando la pagina di accesso (/login.html) sul tuo sito. Per consentire l'accesso a Maya senza per consentire l'accesso al bot, puoi configurare una regola del criterio di sicurezza con l'espressione di corrispondenza avanzata request.path.matches("/login.html"), con un Azione redirect di tipo GOOGLE_RECAPTCHA. L'esperienza utente end-to-end è il seguente:

  1. Un utente finale visita il tuo sito per la prima volta.
  2. Google Cloud Armor valuta la richiesta e determina reindirizzarlo a reCAPTCHA.
  3. reCAPTCHA risponde con una pagina HTML con il reCAPTCHA JavaScript incorporato.
  4. Quando viene visualizzata la risposta, viene eseguito il codice JavaScript incorporato per valutare l'utente, e gestisce le verifiche manuali, se necessario.
    • Se l'utente supera il test, reCAPTCHA emette un cookie di esenzione, che viene automaticamente collegato dal browser a ogni richieste successive allo stesso sito fino alla scadenza del cookie.
    • In caso contrario, reCAPTCHA non emette un cookie di esenzione.

In questo esempio, solo Maya supera test reCAPTCHA e riceve un cookie di esenzione e ottiene l'accesso al tuo sito.

Quando utilizzi le verifiche manuali, ti consigliamo di crearne di personalizzate Chiave di sito reCAPTCHA WAF e associarla al criterio di sicurezza. Questo ti consente di visualizzare le metriche reCAPTCHA associate al chiave di sito e addestra un modello di sicurezza specifico per la chiave di sito. Per ulteriori informazioni le informazioni, vedi Crea la chiave di sito per la verifica reCAPTCHA WAF.

Se non crei e associ una chiave di sito, reCAPTCHA utilizza a una chiave di sito gestita da Google durante la valutazione. Non puoi visualizzare le metriche reCAPTCHA associate a chiavi di sito che non possiedi, incluso il sito gestito da Google chiave.

Applica test reCAPTCHA

Se a una richiesta in entrata è collegato un token reCAPTCHA, Google Cloud Armor valuta la richiesta e applica l'azione configurata in base ai singoli attributi del token. Sicurezza di Google Cloud Armor la valutazione dei criteri avviene sul perimetro della rete Google, quindi i backend sono non è coinvolto nella decifrazione del token.

Token reCAPTCHA

reCAPTCHA emette due tipi di token: token di azione e di sessione. Entrambi i tipi di token restituiscono un punteggio per ogni richiesta in base al interazioni con il tuo sito o la tua app. Entrambi i tipi di token contengono attributi, incluso un punteggio che rappresenta il rischio associato all'utente. Inoltre, Contenere informazioni sulla chiave reCAPTCHA utilizzata quando è stato generato il token.

Prima di configurare le regole del criterio di sicurezza, devi decidere se utilizzare token di azione, di sessione o entrambi. Ti consigliamo di leggere la documentazione di reCAPTCHA per prendere una decisione informata. Per ulteriori informazioni informazioni, consulta confronto tra i casi d'uso di reCAPTCHA.

Dopo aver determinato il tipo di token da utilizzare, implementa reCAPTCHA per il token da collegare con un richiesta. Per informazioni sull'implementazione dei token in reCAPTCHA, consulta le seguenti pagine:

Infine, utilizza il linguaggio delle regole di Google Cloud Armor per configurare la sicurezza regole sui criteri per valutare i token reCAPTCHA collegati con la richiesta. Per evitare il furto di token, ti consigliamo vivamente di associare le tue chiavi reCAPTCHA alle regole del criterio di sicurezza. Quando associ le chiavi reCAPTCHA a una regola del criterio di sicurezza, Google Cloud Armor esegue un'ulteriore convalida sul token confrontando la chiave reCAPTCHA nel token rispetto alle chiavi reCAPTCHA associate a la regola. Google Cloud Armor considera un token con una chiave reCAPTCHA sconosciuta come non valido. Per ulteriori informazioni, vedi Applica una valutazione senza problemi di reCAPTCHA.

La figura seguente mostra l'applicazione forzata del token reCAPTCHA flusso di lavoro.

Flusso di applicazione forzata dei token reCAPTCHA.
Flusso di applicazione del token reCAPTCHA (fai clic per ingrandire).

Reindirizzamento (risposta 302)

Puoi utilizzare un'azione di reindirizzamento basata su URL per reindirizzare esternamente le richieste a un un endpoint diverso. Tu fornisci una destinazione di reindirizzamento sotto forma di URL e Google Cloud Armor reindirizza la richiesta fornendo una risposta HTTP 302 a il cliente.

Richiesta Decora

Google Cloud Armor può inserire intestazioni delle richieste personalizzate con valori statici definiti dall'utente prima di eseguire il proxy della richiesta richieste alla tua applicazione. Questa opzione ti consente di taggare sospetti richieste di elaborazioni downstream alternative, come servire un vaso di miele o per per ulteriori analisi e monitoraggio. Tieni presente che questa azione deve essere aggiunto a un'azione allow esistente.

Intestazioni personalizzate

Se hai configurato Google Cloud Armor per inserire un'intestazione o un valore personalizzato con lo stesso nome di intestazione di una delle intestazioni personalizzate per l'Application Load Balancer esterno globale o il bilanciatore del carico delle applicazioni classico, il valore dell'intestazione sovrascritto dal bilanciatore del carico. Per ulteriori informazioni, vedi Creazione di intestazioni personalizzate nei servizi di backend.

Inoltre, se scegli un nome di intestazione che esiste già nella richiesta, incluse le intestazioni HTTP standard, il valore originale nell'intestazione sovrascritto dal valore definito dall'utente fornito alla regola di Google Cloud Armor.

Integrazione con la limitazione di frequenza

Le regole di limitazione di frequenza di Google Cloud Armor sono compatibili con la gestione dei bot le funzionalità di machine learning. Ad esempio, puoi reindirizzare una richiesta per reCAPTCHA la valutazione o il reindirizzamento a un URL diverso quando il numero di richieste supera la soglia configurata. Inoltre, puoi identificare i clienti per la tariffa limitando le attività in base ai cookie o ai token di esenzione reCAPTCHA, limitare le richieste o escludere i client che riutilizzano o utilizzano in modo illecito lo stesso cookie o token a una velocità superiore alla soglia configurata dall'utente.

Cookie o token di esenzione reCAPTCHA per la limitazione di frequenza

Per motivi di sicurezza, ti consigliamo di configurare le regole di limitazione di frequenza per evitare abuso del token tramite più utilizzi per token di azione reCAPTCHA univoco, token di sessione o cookie di esenzione. La tabella seguente illustra come puoi identificare un cookie o un token di esenzione reCAPTCHA come chiave in un una regola di limitazione di frequenza.

Risorsa enforce_on_key enforce_on_key_name
Cookie di esenzione HTTP-COOKIE recaptcha-ca-e
Token di azione HTTP-HEADER X-Recaptcha-Token
Token di sessione HTTP-COOKIE recaptcha-ca-t

Puoi limitare le richieste o escludere i client che dipendono dalla stessa esenzione cookie o token, che superano la soglia configurata. Per ulteriori informazioni sui parametri di limitazione di frequenza, consulta Applica la limitazione di frequenza.

Esempi di limitazioni di frequenza

Innanzitutto, supponiamo di utilizzare le verifiche manuali solo sugli URL selezionati (ad esempio /login.html) sul tuo sito. A questo scopo, configura le regole del criterio di sicurezza come segue:

  • Regola 1: se alla richiesta è collegato un cookie di esenzione valido e il numero di utilizzi del cookie di esenzione è inferiore alla soglia definita, consentire la richiesta.
  • Regola 2: reindirizza la richiesta di test reCAPTCHA.
. Imponi le verifiche manuali.
Applica verifiche manuali (fai clic per ingrandire).

Secondo, supponiamo di utilizzare sul tuo sito solo token di azione o di sessione. Ad esempio, potresti usare i token di azione per proteggere le azioni degli utenti di alto profilo, come /login.html. A tal fine, intraprendi azioni basate sul punteggio del token di azione come segue:

  • Regola 1: quando il punteggio del token di azione è superiore a una soglia predefinita (0.8, ad esempio), consenti la richiesta se il numero di utilizzi per il token di azione sia inferiore alla soglia che hai definito.
  • Regola 2: rifiuta la richiesta.
. Applica la valutazione del token di azione reCAPTCHA.
Applica la valutazione del token di azione reCAPTCHA (fai clic per ingrandire).

Puoi configurare regole del criterio di sicurezza simili da applicare Valutazione del token di sessione reCAPTCHA.

Terzo, supponiamo che tu combini token di azione o token di sessione con le verifiche manuali in corrispondenza di URL selezionati (ad esempio /login.html) del tuo sito e vuoi intervenire in base al punteggio del token di azione. E vuoi concedere all'utente un secondo e la possibilità di risolvere le sfide se il punteggio non è abbastanza soddisfacente. Per farlo, configura le regole del criterio di sicurezza come segue:

  • Regola 1: quando il punteggio del token di azione è superiore a una soglia predefinita (0.8, ad esempio), consenti la richiesta se il numero di utilizzi per il token di azione sia inferiore alla soglia che hai definito.
  • Regole 2 e 3: quando il punteggio del token di azione è superiore a quello di un altro valore predefinito di soglia (0.5, ad esempio), reindirizza la richiesta per test reCAPTCHA a meno che non esista un cookie di esenzione valido associato alla richiesta e il numero di usi del cookie di esenzione è sotto la soglia definita.
  • Regola 4: rifiuta la richiesta.
. Applica la valutazione del token di azione reCAPTCHA con verifiche manuali.
Applica la valutazione del token di azione reCAPTCHA con verifiche manuali (fai clic per ingrandire).

Puoi configurare regole del criterio di sicurezza simili da applicare Valutazione del token di sessione reCAPTCHA con verifiche manuali.

Se non ottimizzi le regole di limitazione di frequenza, Google Cloud Armor non impone alcun limite al numero di utilizzi per ogni cookie di esenzione reCAPTCHA, token di azione e token di sessione. Per i token di azione, consigliamo di usare un soglia (1, ad esempio) e un intervallo di tempo elevato (ad esempio 30 minuti, poiché i token di azione sono validi per 30 minuti). Ti consigliamo di ricavare soglia in base alle statistiche sul traffico.

Passaggi successivi