Invio di risposte personalizzate per Block le azioni - AWS WAF, AWS Firewall ManagerAWS Shield Advanced, e direttore AWS Shield della sicurezza di rete

Ti presentiamo una nuova esperienza di console per AWS WAF

Ora puoi utilizzare l'esperienza aggiornata per accedere alle AWS WAF funzionalità da qualsiasi punto della console. Per ulteriori dettagli, consulta Utilizzo dell'esperienza console aggiornata.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Invio di risposte personalizzate per Block le azioni

Questa sezione spiega come indicare di inviare una risposta HTTP personalizzata AWS WAF al client per le azioni relative alle regole o al protection pack o alle azioni predefinite Web ACL impostate su. Block Per ulteriori informazioni sulle operazioni delle regole, consulta Utilizzo delle azioni delle regole in AWS WAF. Per ulteriori informazioni sul pacchetto di protezione predefinito o sulle azioni ACL Web, vedere. Impostazione del pacchetto di protezione o dell'azione predefinita ACL Web in AWS WAF

Quando si definisce la gestione personalizzata delle risposte per un'Blockazione, si definiscono il codice di stato, le intestazioni e il corpo della risposta. Per un elenco dei codici di stato che puoi utilizzare AWS WAF, consulta la sezione che segue,Codici di stato supportati per risposte personalizzate.

Casi d'uso

I casi d'uso per le risposte personalizzate includono quanto segue:

  • Invio di un codice di stato non predefinito al client.

  • Invio di intestazioni di risposta personalizzate al client. È possibile specificare qualsiasi nome di intestazione tranne. content-type

  • Invio di una pagina di errore statica al client.

  • Reindirizzamento del client a un URL diverso. A tale scopo, specificate uno dei codici di stato del 3xx reindirizzamento, ad esempio 301 (Moved Permanently) o302 (Found), e quindi specificate una nuova intestazione denominata Location con il nuovo URL.

Interazione con le risposte definite nella risorsa protetta

Le risposte personalizzate specificate per l' AWS WAF Blockazione hanno la precedenza su tutte le specifiche di risposta definite nella risorsa protetta.

Il servizio host per la AWS risorsa con cui proteggi AWS WAF potrebbe consentire la gestione personalizzata delle risposte per le richieste Web. Considerare i seguenti esempi:

Non puoi combinare impostazioni di risposta AWS WAF personalizzate con impostazioni di risposta personalizzate nella AWS risorsa protetta. Le specifiche di risposta per ogni singola richiesta web provengono completamente AWS WAF o completamente dalla risorsa protetta.

Per le richieste Web che AWS WAF bloccano, quanto segue mostra l'ordine di precedenza.

  1. AWS WAF risposta personalizzata: se per l' AWS WAF Blockazione è abilitata una risposta personalizzata, la risorsa protetta invia la risposta personalizzata configurata al client. Qualsiasi impostazione di risposta che potresti aver definito nella risorsa protetta stessa non ha alcun effetto.

  2. Risposta personalizzata definita nella risorsa protetta: in caso contrario, se per la risorsa protetta sono state specificate impostazioni di risposta personalizzate, la risorsa protetta utilizza tali impostazioni per rispondere al client.

  3. AWS WAF Blockrisposta predefinita: in caso contrario, la risorsa protetta risponde al client con la Block risposta AWS WAF 403 (Forbidden) predefinita.

Per le richieste Web che lo AWS WAF consentono, la configurazione della risorsa protetta determina la risposta che questa invia al client. Non è possibile configurare le impostazioni di risposta AWS WAF per le richieste consentite. L'unica personalizzazione che puoi configurare AWS WAF per le richieste consentite è l'inserimento di intestazioni personalizzate nella richiesta originale, prima di inoltrare la richiesta alla risorsa protetta. Questa opzione è descritta nella sezione precedente,. Inserimento di intestazioni di richiesta personalizzate per azioni non bloccanti

Intestazioni di risposta personalizzate

È possibile specificare qualsiasi nome di intestazione ad eccezione di. content-type

Corpi di risposta personalizzati

Il corpo di una risposta personalizzata viene definito nel contesto del protection pack, dell'ACL Web o del gruppo di regole in cui si desidera utilizzarla. Dopo aver definito un corpo di risposta personalizzato, puoi utilizzarlo come riferimento in qualsiasi altro punto del protection pack, dell'ACL web o del gruppo di regole in cui lo hai creato. Nelle impostazioni delle singole Block azioni, fai riferimento al corpo personalizzato che desideri utilizzare e definisci il codice di stato e l'intestazione della risposta personalizzata.

Quando crei una risposta personalizzata nella console, puoi scegliere tra i corpi di risposta che hai già definito oppure puoi creare un nuovo corpo. All'esterno della console, definisci i corpi di risposta personalizzati a livello del protection pack, dell'ACL web o del gruppo di regole, quindi fai riferimento ad essi dalle impostazioni delle azioni all'interno del protection pack o dell'ACL web o del gruppo di regole. Questo è illustrato nell'esempio JSON nella sezione seguente.

Esempio di risposta personalizzata

L'esempio seguente elenca il codice JSON per un gruppo di regole con impostazioni di risposta personalizzate. Il corpo della risposta personalizzato viene definito per l'intero gruppo di regole, quindi viene referenziato tramite chiave nell'azione della regola.

{ "ARN": "test_rulegroup_arn", "Capacity": 1, "CustomResponseBodies": { "CustomResponseBodyKey1": { "Content": "This is a plain text response body.", "ContentType": "TEXT_PLAIN" } }, "Description": "This is a test rule group.", "Id": "test_rulegroup_id", "Name": "TestRuleGroup", "Rules": [ { "Action": { "Block": { "CustomResponse": { "CustomResponseBodyKey": "CustomResponseBodyKey1", "ResponseCode": 404, "ResponseHeaders": [ { "Name": "BlockActionHeader1Name", "Value": "BlockActionHeader1Value" } ] } } }, "Name": "GeoMatchRule", "Priority": 1, "Statement": { "GeoMatchStatement": { "CountryCodes": [ "US" ] } }, "VisibilityConfig": { "CloudWatchMetricsEnabled": true, "MetricName": "TestRuleGroupReferenceMetric", "SampledRequestsEnabled": true } } ], "VisibilityConfig": { "CloudWatchMetricsEnabled": true, "MetricName": "TestRuleGroupMetric", "SampledRequestsEnabled": true } }