Invio di risposte personalizzate per Block actions - AWS WAF, AWS Firewall Manager e AWS Shield Advanced

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 actions

Questa sezione spiega come istruire AWS WAF per inviare una HTTP risposta personalizzata al client per le azioni relative alle regole o alle azioni Web ACL predefinite impostate su Block. Per ulteriori informazioni sulle azioni delle regole, vedereUtilizzo delle azioni delle regole in AWS WAF. Per ulteriori informazioni sulle ACL azioni web predefinite, vedereImpostazione dell'azione web ACL predefinita in AWS WAF.

Quando si definisce una gestione delle risposte personalizzata per un Block azione, si definiscono il codice di stato, le intestazioni e il corpo della risposta. Per un elenco di codici di stato utilizzabili con AWS WAF, vedi 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 altro. URL Per fare ciò, si specifica uno dei codici di stato del 3xx reindirizzamento, ad esempio 301 (Moved Permanently) o302 (Found), e quindi si specifica una nuova intestazione denominata Location con il nuovo. URL

Interazione con le risposte definite nella risorsa protetta

Risposte personalizzate specificate per AWS WAF Block l'azione ha la precedenza su qualsiasi specifica di risposta definita nella risorsa protetta.

Il servizio host per il 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 AWS WAF impostazioni di risposta personalizzate con impostazioni di risposta personalizzate nella sezione protetta AWS risorsa. La specifica di risposta per ogni singola richiesta web proviene completamente da AWS WAF o completamente dalla risorsa protetta.

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

  1. AWS WAF risposta personalizzata — Se il AWS WAF Block action ha una risposta personalizzata abilitata, 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 default Block risposta — In caso contrario, la risorsa protetta risponde al client con il AWS WAF default Block risposta403 (Forbidden).

Per le richieste web che AWS WAF consente, la configurazione della risorsa protetta determina la risposta che invia al client. Non è possibile configurare le impostazioni di risposta in AWS WAF per le richieste consentite. L'unica personalizzazione che puoi configurare in 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 tranne. content-type

Corpi di risposta personalizzati

Il corpo di una risposta personalizzata viene definito nel contesto del Web ACL 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 Web ACL o del gruppo di regole in cui lo hai creato. Nell'individuo Block nelle impostazioni di azione, si fa riferimento al corpo personalizzato che si desidera utilizzare e si definiscono 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 di Web ACL o di gruppo di regole, quindi fai riferimento ad essi dalle impostazioni di azione all'interno del Web ACL o del gruppo di regole. Questo è illustrato nell'esempio riportato JSON nella sezione seguente.

Esempio di risposta personalizzata

L'esempio seguente elenca le impostazioni 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 fatto riferimento 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 } }