Inserimento di intestazioni di richiesta personalizzate per azioni non bloccanti - 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à.

Inserimento di intestazioni di richiesta personalizzate per azioni non bloccanti

Questa sezione spiega come istruire AWS WAF per inserire intestazioni personalizzate nella HTTP richiesta originale quando un'azione della regola non blocca la richiesta. Con questa opzione, puoi solo aggiungere qualcosa alla richiesta. Non puoi modificare o sostituire alcuna parte della richiesta originale. I casi d'uso per l'inserimento di intestazioni personalizzate includono la segnalazione a un'applicazione a valle di elaborare la richiesta in modo diverso in base alle intestazioni inserite e il contrassegno della richiesta per l'analisi.

Questa opzione si applica alle azioni delle regole Allow, Count, CAPTCHAe Challenge e alle azioni web ACL predefinite che sono impostate su Allow. 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.

Nomi personalizzati delle intestazioni delle richieste

AWS WAF inserisce come prefisso tutte le intestazioni di richiesta con cui viene inseritax-amzn-waf-, per evitare confusione con le intestazioni già presenti nella richiesta. Ad esempio, se specificate il nome dell'intestazione, sample AWS WAF inserisce l'intestazione. x-amzn-waf-sample

Intestazioni con lo stesso nome

Se la richiesta ha già un'intestazione con lo stesso nome AWS WAF sta inserendo, AWS WAF sovrascrive l'intestazione. Pertanto, se si definiscono intestazioni in più regole con nomi identici, l'intestazione dell'ultima regola utilizzata per esaminare la richiesta e trovare una corrispondenza verrebbe aggiunta, a differenza delle regole precedenti.

Intestazioni personalizzate con azioni di regola non terminanti

A differenza del Allow azione, il Count l'azione non si ferma AWS WAF dall'elaborazione della richiesta Web utilizzando il resto delle regole del WebACL. Allo stesso modo, quando CAPTCHA e Challenge determina che il token di richiesta è valido, queste azioni non si interrompono AWS WAF dall'elaborazione della richiesta web. Pertanto, se inserisci intestazioni personalizzate utilizzando una regola con una di queste azioni, anche le regole successive potrebbero inserire intestazioni personalizzate. Per ulteriori informazioni sul comportamento delle regole, vedere. Utilizzo delle azioni delle regole in AWS WAF

Ad esempio, supponiamo di avere le seguenti regole, con priorità nell'ordine mostrato:

  1. Regola A con a Count azione e un'intestazione personalizzata denominata. RuleAHeader

  2. regola B con un Allow azione e un'intestazione personalizzata denominata. RuleBHeader

Se una richiesta corrisponde sia alla regola A che alla regola B, AWS WAF inserisce le intestazioni x-amzn-waf-RuleAHeader ex-amzn-waf-RuleBHeader, quindi inoltra la richiesta alla risorsa protetta.

AWS WAF inserisce intestazioni personalizzate in una richiesta Web al termine dell'ispezione della richiesta. Quindi, se utilizzi la gestione personalizzata delle richieste con una regola che ha l'azione impostata su Count, le intestazioni personalizzate aggiunte non vengono esaminate dalle regole successive.

Esempio di gestione personalizzata delle richieste

Si definisce la gestione personalizzata delle richieste per l'azione di una regola o per l'azione predefinita ACL di un Web. L'elenco seguente mostra JSON la gestione personalizzata aggiunta all'azione predefinita per un WebACL.

{ "Name": "SampleWebACL", "Scope": "REGIONAL", "DefaultAction": { "Allow": { "CustomRequestHandling": { "InsertHeaders": [ { "Name": "fruit", "Value": "watermelon" }, { "Name": "pie", "Value": "apple" } ] } } }, "Description": "Sample web ACL with custom request handling configured for default action.", "Rules": [], "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "SampleWebACL" } }