Condividi tramite


Richiesta JavaScript del Web Application Firewall di Azure

Firewall per applicazioni web (WAF) di Azure sul Gateway delle applicazioni di Azure offre una funzionalità di verifica tramite JavaScript (JS) come opzione di mitigazione per la protezione avanzata dei bot.

Firewall per applicazioni web (WAF) di Azure su Azure Front Door offre una funzionalità di verifica JavaScript (JS) come una delle opzioni di mitigazione per la protezione avanzata dei bot. È disponibile nella versione Premium come azione nel set di regole personalizzato e nel set di regole di Bot Manager 1.x.

La sfida JavaScript è una sfida Web invisibile che distingue tra utenti legittimi e bot. I bot dannosi non superano la sfida, proteggendo le applicazioni Web. Inoltre, la sfida JavaScript riduce l'attrito per gli utenti legittimi perché non richiede l'intervento umano.

Importante

La sfida JavaScript del Web Application Firewall di Azure su Azure Application Gateway è attualmente disponibile in ANTEPRIMA. Vedere le condizioni per l'utilizzo supplementari per le anteprime di Microsoft Azure per termini legali aggiuntivi che si applicano a funzionalità di Azure in versione beta, in anteprima o in altro modo non ancora disponibili a livello generale.

Funzionamento

Quando la richiesta JavaScript è attiva in Azure WAF e la richiesta HTTP(S) di un client corrisponde a una regola specifica, viene visualizzata una pagina di verifica di Microsoft JavaScript. L'utente visualizza questa pagina per alcuni secondi mentre il browser calcola la richiesta. Se il browser dell'utente riesce a elaborare correttamente la sfida, invia una risposta a un endpoint di Azure accessibile quando hai WAF configurato. Questo endpoint viene esposto al pubblico, tuttavia, le richieste inviate a questo endpoint non vengono inoltrate al back-end e non vengono conteggiate per le funzionalità di limitazione della frequenza. Se la chiamata del browser a questo endpoint contiene i valori corretti che indicano un calcolo corretto, l'utente supera la richiesta di verifica.

Il browser del client deve calcolare correttamente una richiesta JavaScript in questa pagina per ricevere la convalida da Azure WAF. Quando il calcolo ha esito positivo, WAF convalida la richiesta come client nonbot ed esegue il resto delle regole WAF. Le richieste che non riescono a calcolare correttamente la richiesta di test vengono bloccate.

Le richieste CORS (Cross-Origin Resource Sharing) vengono richieste per ogni tentativo di accesso. Pertanto, se un client accede a una pagina che attiva la richiesta di test JavaScript da un dominio diverso dal dominio che ospita la richiesta, il client affronta nuovamente il test anche se il client ha superato in precedenza il test.

Inoltre, se un client risolve la sfida JavaScript e quindi cambia l'indirizzo IP del client, la richiesta viene generata nuovamente.

Ecco una pagina di test JavaScript di esempio:

Screenshot che mostra la pagina della richiesta di test JavaScript.

Scadenza

L'impostazione dei criteri WAF definisce la durata della validità del cookie di test JavaScript in minuti. L'utente viene contestato dopo la scadenza della durata. La durata è un numero intero compreso tra 5 e 1.440 minuti e il valore predefinito è 30 minuti. Il nome del cookie della sfida JavaScript è appgw_azwaf_jsclearance sull'Azure Application Gateway.

L'impostazione dei criteri WAF definisce la durata della validità del cookie di test JavaScript in minuti. L'utente viene contestato dopo la scadenza della durata. La durata è un numero intero compreso tra 5 e 1.440 minuti e il valore predefinito è 30 minuti. Il nome del cookie di sfida JavaScript è afd_azwaf_jsclearance su Azure Front Door.

Note

Il cookie di scadenza della richiesta di verifica JavaScript viene inserito nel browser dell'utente dopo aver completato correttamente la verifica.

Limitazioni

  • Le chiamate AJAX e API non sono supportate: la sfida JavaScript non si applica alle richieste AJAX e API.
  • Restrizione delle dimensioni del corpo POST: la prima richiesta che attiva una sfida JavaScript viene bloccata se il corpo POST supera 128 KB nel Gateway Applicazione di Azure.
  • Restrizione delle dimensioni del corpo POST: la prima richiesta che attiva una richiesta JavaScript viene bloccata se il corpo POST supera 64 KB in Frontdoor di Azure.
  • Risorse incorporate non HTML: la sfida JavaScript è progettata per le risorse HTML. Le sfide per le risorse non HTML incorporate in una pagina, ad esempio immagini, CSS, file JavaScript o risorse simili, non sono supportate. Tuttavia, se è stata eseguita una richiesta di verifica JavaScript con esito positivo precedente, tali limitazioni vengono revocate.

  • Compatibilità del browser: la verifica JavaScript non è supportata in Microsoft Internet Explorer. È compatibile con le versioni più recenti dei Web browser Microsoft Edge, Chrome, Firefox e Safari.

  • Il limite di frequenza non è supportato: l'azione di test JavaScript nel gateway applicazione non è supportata per le regole personalizzate per il tipo di limite di frequenza durante l'anteprima.

  • WAF nel Gateway applicativo per contenitori: WAF nel Gateway applicativo per contenitori non supporta la richiesta di verifica JavaScript.