

**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 [Lavorare con la console](https://docs.aws.amazon.com/waf/latest/developerguide/working-with-console.html). 

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à.

# AWS WAF regole
<a name="waf-rules"></a>

Questa sezione spiega cos'è una AWS WAF regola e come funziona.

Una AWS WAF regola definisce come ispezionare le richieste web HTTP (S) e l'azione da intraprendere su una richiesta quando soddisfa i criteri di ispezione. Le regole vengono definite solo nel contesto di un gruppo di regole o di un pacchetto di protezione (Web ACL). 

Le regole non esistono di AWS WAF per sé. Non sono AWS risorse e non hanno Amazon Resource Names (ARNs). Puoi accedere a una regola per nome nel gruppo di regole o nel pacchetto di protezione (web ACL) in cui è definita. È possibile gestire le regole e copiarle in altri protection pack (web ACLs) utilizzando la visualizzazione JSON del gruppo di regole o del protection pack (ACL web) che contiene la regola. È inoltre possibile gestirle tramite il generatore di regole della AWS WAF console, disponibile per i protection pack (Web ACLs) e i gruppi di regole.

**Nome regola**  
Ogni regola richiede un nome. Evita i nomi che iniziano con `AWS` e i nomi utilizzati per i gruppi di regole o le regole gestite per te da altri servizi. Per informazioni, consulta [Riconoscimento dei gruppi di regole forniti da altri servizi](waf-service-owned-rule-groups.md). 

**Nota**  
Se modifichi il nome di una regola e desideri che il nome della metrica della regola rifletta la modifica, devi aggiornare anche il nome della metrica. AWS WAF non aggiorna automaticamente il nome della metrica di una regola quando si modifica il nome della regola. Puoi cambiare il nome della metrica quando modifichi la regola nella console, utilizzando l'editor JSON delle regole. È inoltre possibile modificare entrambi i nomi tramite APIs e in qualsiasi elenco JSON utilizzato per definire il pacchetto di protezione (ACL Web) o il gruppo di regole.

**Dichiarazione della regola**  
Ogni regola richiede inoltre una dichiarazione che definisca il modo in cui la regola esamina le richieste Web. L'istruzione della regola può contenere altre istruzioni annidate a qualsiasi profondità, a seconda della regola e del tipo di istruzione. Alcune istruzioni di regole richiedono una serie di criteri. Ad esempio, è possibile specificare fino a 10.000 indirizzi IP o intervalli di indirizzi IP per una regola di corrispondenza del set IP.

È possibile definire regole che controllano criteri come i seguenti: 
+ Gli script che potrebbero essere dannosi. Alcuni malintenzionati incorporano script che possono sfruttare le vulnerabilità nelle applicazioni Web. Questa operazione è nota come Cross-site scripting (XSS).
+ Gli indirizzi IP o gli intervalli di indirizzi di origine delle richieste.
+ Il paese o la posizione geografica di origine delle richieste.
+ Lunghezza di una parte specificata della richiesta, ad esempio la stringa di query.
+ Il codice SQL che potrebbe essere dannoso. I malintenzionati provano a estrarre i dati dal tuo database incorporando codice SQL dannoso in una richiesta Web. Questa operazione è nota come SQL injection.
+ Le stringhe presenti nella richiesta, ad esempio, i valori nell'intestazione `User-Agent` o le stringhe di testo visualizzate nella stringa di query. È inoltre possibile usare espressioni regolari (regex) per specificare queste stringhe.
+ Etichette che le regole precedenti del Protection Pack (Web ACL) hanno aggiunto alla richiesta.

Oltre alle istruzioni con criteri di ispezione delle richieste Web, come quelle nell'elenco precedente, AWS WAF supporta le istruzioni logiche per `AND` e `NOT` che `OR` vengono utilizzate per combinare le istruzioni in una regola. 

Ad esempio, in base alle richieste recenti ricevute da un utente malintenzionato, potreste creare una regola con un'`AND`istruzione logica che combini le seguenti istruzioni annidate: 
+ Le richieste provengono da 192.0.2.44.
+ Contengono il valore `BadBot` nell'intestazione `User-Agent`.
+ Sembrano includere codice di tipo SQL nella stringa di query.

In questo caso, la richiesta web deve corrispondere a tutte le istruzioni per ottenere una corrispondenza per il livello superiore. `AND` 

**Topics**
+ [Utilizzo delle azioni delle regole in AWS WAF](waf-rule-action.md)
+ [Utilizzo delle istruzioni delle regole in AWS WAF](waf-rule-statements.md)
+ [Utilizzo delle istruzioni match rule in AWS WAF](waf-rule-statements-match.md)
+ [Utilizzo di istruzioni di regole logiche in AWS WAF](waf-rule-statements-logical.md)
+ [Utilizzo di istruzioni di regole basate sulla tariffa in AWS WAF](waf-rule-statement-type-rate-based.md)
+ [Utilizzo delle istruzioni delle regole del gruppo di regole in AWS WAF](waf-rule-statements-rule-group.md)

# Utilizzo delle azioni delle regole in AWS WAF
<a name="waf-rule-action"></a>

Questa sezione spiega come funzionano le azioni relative alle regole.

L'azione della regola indica AWS WAF cosa fare con una richiesta Web quando corrisponde ai criteri definiti nella regola. Facoltativamente, puoi aggiungere un comportamento personalizzato a ciascuna azione della regola. 

**Nota**  
Le azioni delle regole possono essere terminative o non terminative. Un'azione di interruzione interrompe la valutazione del Protection Pack (Web ACL) della richiesta e consente alla richiesta di continuare verso l'applicazione protetta oppure la blocca. 

Di seguito sono riportate le opzioni dell'operazione delle regole: 
+ **Allow**— AWS WAF consente di inoltrare la richiesta alla AWS risorsa protetta per l'elaborazione e la risposta. Si tratta di un'azione terminativa. Nelle regole che definisci, puoi inserire intestazioni personalizzate nella richiesta prima di inoltrarla alla risorsa protetta.
+ **Block**— AWS WAF blocca la richiesta. Si tratta di un'azione terminativa. Per impostazione predefinita, la AWS risorsa protetta risponde con un codice di `403 (Forbidden)` stato HTTP. Nelle regole che definisci, puoi personalizzare la risposta. Quando AWS WAF blocca una richiesta, le impostazioni dell'Blockazione determinano la risposta che la risorsa protetta invia al client. 
+ **Count**— AWS WAF conta la richiesta ma non determina se consentirla o bloccarla. Si tratta di un'azione non terminante. AWS WAF continua a elaborare le regole rimanenti nel pacchetto di protezione (Web ACL). Nelle regole che definisci, puoi inserire intestazioni personalizzate nella richiesta e aggiungere etichette con cui altre regole possono corrispondere.
+ **CAPTCHAe Challenge** — AWS WAF utilizza i puzzle CAPTCHA e le sfide silenziose per verificare che la richiesta non provenga da un bot e AWS WAF utilizza i token per tenere traccia delle recenti risposte positive dei clienti. 

  I puzzle CAPTCHA e le sfide silenziose possono essere eseguiti solo quando i browser accedono agli endpoint HTTPS. I browser client devono funzionare in contesti sicuri per acquisire i token. 
**Nota**  
Ti vengono addebitati costi aggiuntivi quando utilizzi l'azione CAPTCHA or Challenge in una delle tue regole o come eccezione a un'azione di regola in un gruppo di regole. Per ulteriori informazioni, consultare [AWS WAF Prezzi](https://aws.amazon.com/waf/pricing/).

  Queste azioni sulle regole possono terminare o non terminare, a seconda dello stato del token nella richiesta: 
  + **Non terminazione per un token valido e non scaduto: se il token** è valido e non è scaduto in base al CAPTCHA configurato o al tempo di immunità alla sfida, gestisce la richiesta in modo simile all'azione. AWS WAF Count AWS WAF continua a esaminare la richiesta Web in base alle regole rimanenti del pacchetto di protezione (Web ACL). Analogamente alla Count configurazione, nelle regole che definisci, puoi facoltativamente configurare queste azioni con intestazioni personalizzate da inserire nella richiesta e puoi aggiungere etichette alle quali altre regole possono corrispondere. 
  + **Terminazione con una richiesta bloccata per un token non valido o scaduto: se il token** non è valido o il timestamp indicato è scaduto, AWS WAF interrompe l'ispezione della richiesta Web e blocca la richiesta, analogamente all'azione. Block AWS WAF quindi risponde al client con un codice di risposta personalizzato. InfattiCAPTCHA, se il contenuto della richiesta indica che il browser del client è in grado di gestirla, AWS WAF invia un puzzle CAPTCHA in formato JavaScript interstiziale, progettato per distinguere i client umani dai bot. Per l'Challengeazione, AWS WAF invia un messaggio JavaScript interstitial con una sfida silenziosa progettata per distinguere i browser normali dalle sessioni gestite dai bot. 

  Per ulteriori informazioni, consulta [CAPTCHAe Challenge in AWS WAF](waf-captcha-and-challenge.md).

Per informazioni sulla personalizzazione delle richieste e delle risposte, consulta. [Richieste e risposte web personalizzate in AWS WAF](waf-custom-request-response.md)

Per informazioni sull'aggiunta di etichette alle richieste corrispondenti, vedere[Etichettatura delle richieste Web in AWS WAF](waf-labels.md).

Per informazioni su come interagiscono il Protection Pack (Web ACL) e le impostazioni delle regole, consulta[Utilizzo di pacchetti di protezione (Web ACLs) con regole e gruppi di regole in AWS WAF](web-acl-processing.md). 

# Utilizzo delle istruzioni delle regole in AWS WAF
<a name="waf-rule-statements"></a>

Questa sezione spiega come funzionano le istruzioni delle regole.

Le istruzioni delle regole sono la parte di una regola che spiega AWS WAF come ispezionare una richiesta web. Quando AWS WAF trova i criteri di ispezione in una richiesta web, diciamo che la richiesta web corrisponde all'istruzione. Ogni istruzione regola specifica cosa cercare e come cercarlo, in base al tipo di istruzione. 

Ogni regola AWS WAF ha un'unica istruzione di primo livello, che può contenere altre istruzioni. Le istruzioni regola possono essere molto semplici. Ad esempio, potreste avere un'istruzione che fornisce una serie di paesi di origine da cui esaminare le vostre richieste web oppure potreste avere una dichiarazione di regola in un protection pack (Web ACL) che fa semplicemente riferimento a un gruppo di regole. Le istruzioni regola possono però essere anche molto complesse. Ad esempio, è possibile disporre di un'istruzione che combina molte altre istruzioni con istruzioni AND OR logiche e. NOT 

Per la maggior parte delle regole, è possibile aggiungere un' AWS WAF etichettatura personalizzata alle richieste corrispondenti. Le regole nei gruppi di regole AWS Managed Rules aggiungono etichette alle richieste corrispondenti. Le etichette aggiunte da una regola forniscono informazioni sulla richiesta alle regole che vengono valutate successivamente nel protection pack (Web ACL) e anche nei AWS WAF log e nelle metriche. Per informazioni sull'etichettatura, vedere e. [Etichettatura delle richieste Web in AWS WAF](waf-labels.md) [Dichiarazione della regola di corrispondenza delle etichette](waf-rule-statement-type-label-match.md)

**Nidificazione di istruzioni regola**  
AWS WAF supporta l'annidamento per molte istruzioni di regole, ma non per tutte. Ad esempio, non è possibile annidare un'istruzione di un gruppo di regole all'interno di un'altra istruzione. È necessario utilizzare il nesting per alcuni scenari, come le istruzioni scope-down e le istruzioni logiche. Gli elenchi delle istruzioni e i dettagli delle regole che seguono descrivono le funzionalità e i requisiti di annidamento per ogni categoria e regola.

L'editor visivo per le regole nella console supporta solo un livello di nidificazione per le istruzioni delle regole. Ad esempio, puoi nidificare molti tipi di istruzioni all'interno di una logica AND o di una OR regola, ma non puoi nidificarne un'altraAND, perché ciò richiede un secondo livello di nidificazione. OR Per implementare più livelli di nesting, fornisci la definizione della regola in JSON, tramite l'editor di regole JSON nella console o tramite. APIs 

**Topics**
+ [Regolazione delle impostazioni delle istruzioni delle regole in AWS WAF](waf-rule-statement-fields.md)
+ [Utilizzo di istruzioni scope-down in AWS WAF](waf-rule-scope-down-statements.md)
+ [Riferimento a entità riutilizzabili in AWS WAF](waf-rule-statement-reusable-entities.md)

# Regolazione delle impostazioni delle istruzioni delle regole in AWS WAF
<a name="waf-rule-statement-fields"></a>

Questa sezione descrive le impostazioni che è possibile specificare nelle istruzioni delle regole che esaminano un componente della richiesta web. Per informazioni sull'utilizzo, consulta le singole istruzioni delle regole all'indirizzo[Utilizzo delle istruzioni match rule in AWS WAF](waf-rule-statements-match.md). 

Un sottoinsieme di questi componenti di richiesta Web può essere utilizzato anche nelle regole basate sulla frequenza, come chiavi di aggregazione delle richieste personalizzate. Per informazioni, consulta [Regole di aggregazione basate sui tassi in AWS WAF](waf-rule-statement-type-rate-based-aggregation-options.md).

Per le impostazioni del componente di richiesta, specificate il tipo di componente stesso e le eventuali opzioni aggiuntive, a seconda del tipo di componente. Ad esempio, quando ispezionate un tipo di componente che contiene testo, potete applicare trasformazioni di testo ad esso prima di esaminarlo. 

**Nota**  
Salvo diversa indicazione, se una richiesta Web non ha il componente di richiesta specificato nell'istruzione della regola, AWS WAF valuta la richiesta come non corrispondente ai criteri della regola.

**Contents**
+ [Richiedi componenti in AWS WAF](waf-rule-statement-fields-list.md)
  + [Metodo HTTP](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-http-method)
  + [Intestazione singola](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-single-header)
  + [Tutte le intestazioni](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-headers)
  + [Ordine delle intestazioni](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-header-order)
  + [Cookie](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-cookies)
  + [Frammento URI](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-uri-fragment)
  + [Percorso URI](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-uri-path)
  + [JA3 impronta digitale](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-ja3-fingerprint)
  + [JA4 impronta digitale](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-ja4-fingerprint)
  + [Stringa di query](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-query-string)
  + [Parametro di query singola](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-single-query-param)
  + [Tutti i parametri di query](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-all-query-params)
  + [Body](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-body)
  + [Corpo JSON](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-json-body)
+ [Utilizzo degli indirizzi IP inoltrati in AWS WAF](waf-rule-statement-forwarded-ip-address.md)
+ [Ispezione degli pseudo header HTTP/2 in AWS WAF](waf-rule-statement-request-components-for-http2-pseudo-headers.md)
+ [Utilizzo delle trasformazioni di testo in AWS WAF](waf-rule-statement-transformation.md)

# Richiedi componenti in AWS WAF
<a name="waf-rule-statement-fields-list"></a>

Questa sezione descrive i componenti della richiesta Web che è possibile specificare per l'ispezione. Si specifica il componente di richiesta per le istruzioni Match Rule che cercano modelli all'interno della richiesta web. Questi tipi di istruzioni includono string match, regex match, size constraint e istruzioni di attacco SQL injection. Per informazioni su come utilizzare queste impostazioni dei componenti di richiesta, consulta le singole istruzioni delle regole all'indirizzo [Utilizzo delle istruzioni match rule in AWS WAF](waf-rule-statements-match.md)

Salvo diversa indicazione, se una richiesta web non ha il componente di richiesta specificato nell'istruzione della regola, AWS WAF valuta la richiesta come non corrispondente ai criteri della regola.

**Nota**  
Si specifica un singolo componente di richiesta per ogni istruzione regola che lo richiede. Per ispezionare più componenti di una richiesta, creare un'istruzione regola per ogni componente. 

La documentazione della AWS WAF console e dell'API fornisce indicazioni per le impostazioni del componente di richiesta nelle seguenti posizioni: 
+ **Generatore di regole** **sulla console: nelle impostazioni di **Statement** per un tipo di regola normale, scegli il componente che desideri esaminare nella finestra di dialogo Ispeziona in **Richiedi** componenti.**
+ Contenuto della **dichiarazione API**: `FieldToMatch`

Il resto di questa sezione descrive le opzioni relative alla parte della richiesta web da esaminare. 

**Topics**
+ [Metodo HTTP](#waf-rule-statement-request-component-http-method)
+ [Intestazione singola](#waf-rule-statement-request-component-single-header)
+ [Tutte le intestazioni](#waf-rule-statement-request-component-headers)
+ [Ordine delle intestazioni](#waf-rule-statement-request-component-header-order)
+ [Cookie](#waf-rule-statement-request-component-cookies)
+ [Frammento URI](#waf-rule-statement-request-component-uri-fragment)
+ [Percorso URI](#waf-rule-statement-request-component-uri-path)
+ [JA3 impronta digitale](#waf-rule-statement-request-component-ja3-fingerprint)
+ [JA4 impronta digitale](#waf-rule-statement-request-component-ja4-fingerprint)
+ [Stringa di query](#waf-rule-statement-request-component-query-string)
+ [Parametro di query singola](#waf-rule-statement-request-component-single-query-param)
+ [Tutti i parametri di query](#waf-rule-statement-request-component-all-query-params)
+ [Body](#waf-rule-statement-request-component-body)
+ [Corpo JSON](#waf-rule-statement-request-component-json-body)

## Metodo HTTP
<a name="waf-rule-statement-request-component-http-method"></a>

Ispeziona il metodo HTTP per la richiesta. Il metodo HTTP indica il tipo di operazione che la richiesta Web richiede alla risorsa protetta di eseguire, ad esempio `POST` o`GET`. 

## Intestazione singola
<a name="waf-rule-statement-request-component-single-header"></a>

Ispeziona una singola intestazione denominata nella richiesta. 

Per questa opzione, si specifica il nome dell'intestazione, ad esempio o. `User-Agent` `Referer` La corrispondenza tra stringhe per il nome non fa distinzione tra maiuscole e minuscole e viene eseguita dopo aver tagliato gli spazi iniziali e finali sia dall'intestazione della richiesta che dalla regola.

## Tutte le intestazioni
<a name="waf-rule-statement-request-component-headers"></a>

Ispeziona tutte le intestazioni della richiesta, inclusi i cookie. Puoi applicare un filtro per ispezionare un sottoinsieme di tutte le intestazioni. 

Per questa opzione, fornisci le seguenti specifiche: 
+ **Match Patterns**: il filtro da utilizzare per ottenere un sottoinsieme di intestazioni da ispezionare. AWS WAF cerca questi pattern nei tasti delle intestazioni. 

  L'impostazione dei modelli di corrispondenza può essere una delle seguenti: 
  + **Tutti**: abbina tutti i tasti. Valuta i criteri di controllo delle regole per tutte le intestazioni. 
  + **Intestazioni escluse**: ispeziona solo le intestazioni le cui chiavi non corrispondono a nessuna delle stringhe specificate qui. La corrispondenza tra stringhe per una chiave non fa distinzione tra maiuscole e minuscole. La corrispondenza viene eseguita dopo aver tagliato gli spazi iniziali e finali dall'intestazione della richiesta e dalla regola di corrispondenza.
  + **Intestazioni incluse**: ispeziona solo le intestazioni che hanno una chiave che corrisponde a una delle stringhe specificate qui. La corrispondenza tra stringhe per una chiave non fa distinzione tra maiuscole e minuscole. La corrispondenza viene eseguita dopo aver tagliato gli spazi iniziali e finali dall'intestazione della richiesta e dalla regola di corrispondenza.
+ **Ambito di corrispondenza**: le parti delle intestazioni che AWS WAF devono essere controllate in base ai criteri di ispezione delle regole. È possibile specificare **Chiavi**, **Valori** o **Tutto** per controllare sia le chiavi che i valori per verificare una corrispondenza. 

  **Tutto** non richiede che venga trovata una corrispondenza nelle chiavi e una corrispondenza nei valori. Richiede la ricerca di una corrispondenza nelle chiavi o nei valori o in entrambi. Per richiedere una corrispondenza nelle chiavi e nei valori, utilizzate un'`AND`istruzione logica per combinare due regole di corrispondenza, una che ispeziona le chiavi e l'altra che ispeziona i valori. 
+ **Gestione di dimensioni eccessive**: come gestire AWS WAF le richieste con dati di intestazione più grandi di quelli ispezionabili. AWS WAF AWS WAF può ispezionare al massimo i primi 8 KB (8.192 byte) delle intestazioni delle richieste e al massimo le prime 200 intestazioni. Il contenuto è disponibile per l'ispezione AWS WAF fino al primo limite raggiunto. È possibile scegliere di continuare l'ispezione oppure di saltarla e contrassegnare la richiesta come conforme o non conforme alla regola. Per ulteriori informazioni sulla gestione di contenuti di grandi dimensioni, consulta. [Componenti di richiesta Web di grandi dimensioni in AWS WAF](waf-oversize-request-components.md)

## Ordine delle intestazioni
<a name="waf-rule-statement-request-component-header-order"></a>

Ispeziona una stringa contenente l'elenco dei nomi delle intestazioni della richiesta, ordinati così come appaiono nella richiesta web che AWS WAF riceve per l'ispezione. AWS WAF genera la stringa e poi la utilizza come campo per abbinare il componente durante la sua ispezione. AWS WAF separa i nomi delle intestazioni nella stringa con due punti e senza spazi aggiunti, ad esempio. `host:user-agent:accept:authorization:referer`

Per questa opzione, si forniscono le seguenti specifiche: 
+ **Gestione sovradimensionata**: come AWS WAF gestire le richieste con dati di intestazione più numerosi o più grandi di quelli che è AWS WAF possibile esaminare. AWS WAF può ispezionare al massimo i primi 8 KB (8.192 byte) delle intestazioni delle richieste e al massimo le prime 200 intestazioni. Il contenuto è disponibile per l'ispezione AWS WAF fino al primo limite raggiunto. Puoi scegliere di continuare a controllare le intestazioni disponibili oppure di saltare l'ispezione e contrassegnare la richiesta come corrispondente o non corrispondente alla regola. Per ulteriori informazioni sulla gestione di contenuti di grandi dimensioni, consulta. [Componenti di richiesta Web di grandi dimensioni in AWS WAF](waf-oversize-request-components.md)

## Cookie
<a name="waf-rule-statement-request-component-cookies"></a>

Ispeziona tutti i cookie della richiesta. Puoi applicare un filtro per ispezionare un sottoinsieme di tutti i cookie. 

Per questa opzione, fornisci le seguenti specifiche: 
+ **Match patterns**: il filtro da utilizzare per ottenere un sottoinsieme di cookie da ispezionare. AWS WAF cerca questi modelli nelle chiavi dei cookie. 

  L'impostazione dei modelli di corrispondenza può essere una delle seguenti: 
  + **Tutti**: abbina tutti i tasti. Valuta i criteri di controllo delle regole per tutti i cookie. 
  + **Cookie esclusi**: ispeziona solo i cookie le cui chiavi non corrispondono a nessuna delle stringhe specificate qui. La corrispondenza tra stringhe per una chiave fa distinzione tra maiuscole e minuscole e deve essere esatta. 
  + **Cookie inclusi**: ispeziona solo i cookie che hanno una chiave che corrisponde a una delle stringhe specificate qui. La corrispondenza tra stringhe per una chiave fa distinzione tra maiuscole e minuscole e deve essere esatta. 
+ **Match scope**: le parti dei cookie che AWS WAF devono essere controllate in base ai criteri di ispezione delle regole. È possibile specificare **Chiavi**, **Valori** o **Tutto sia per le** chiavi che per i valori. 

  **Tutto** non richiede che venga trovata una corrispondenza nelle chiavi e una corrispondenza nei valori. Richiede la ricerca di una corrispondenza nelle chiavi o nei valori o in entrambi. Per richiedere una corrispondenza nelle chiavi e nei valori, utilizzate un'`AND`istruzione logica per combinare due regole di corrispondenza, una che ispeziona le chiavi e l'altra che ispeziona i valori. 
+ **Gestione sovradimensionata**: come AWS WAF gestire le richieste che contengono dati dei cookie più AWS WAF grandi di quelli che è possibile ispezionare. AWS WAF può ispezionare al massimo i primi 8 KB (8.192 byte) dei cookie di richiesta e al massimo i primi 200 cookie. Il contenuto è disponibile per l'ispezione AWS WAF fino al primo limite raggiunto. È possibile scegliere di continuare l'ispezione oppure di saltarla e contrassegnare la richiesta come conforme o non conforme alla regola. Per ulteriori informazioni sulla gestione di contenuti di grandi dimensioni, consulta. [Componenti di richiesta Web di grandi dimensioni in AWS WAF](waf-oversize-request-components.md)

## Frammento URI
<a name="waf-rule-statement-request-component-uri-fragment"></a>

**Nota**  
L'ispezione dei frammenti di URI è disponibile solo per le CloudFront distribuzioni e gli Application Load Balancer.

Controlla la parte di un URL che segue il simbolo «\$1», fornendo informazioni aggiuntive sulla risorsa, ad esempio \$1section2. Per informazioni, vedere [URI (Uniform Resource Identifier): sintassi generica](https://tools.ietf.org/html/rfc3986#section-3). 

Se non utilizzate una trasformazione di testo con questa opzione, AWS WAF non normalizza il frammento URI e lo ispeziona esattamente come lo riceve dal client nella richiesta. Per informazioni sulle trasformazioni del testo, consulta. [Utilizzo delle trasformazioni di testo in AWS WAF](waf-rule-statement-transformation.md)

**Requisiti della dichiarazione delle regole**  
È necessario fornire un comportamento di riserva per questa dichiarazione di regola. Il comportamento di fallback è lo stato di corrispondenza che si desidera AWS WAF assegnare alla richiesta Web se manca l'URI, il frammento o il servizio associato non è Application Load Balancer o. CloudFront Se scegli di corrispondere, AWS WAF considera la richiesta come corrispondente all'istruzione della regola e applica l'azione della regola alla richiesta. Se scegli di non corrispondere, AWS WAF considera la richiesta come se non corrispondesse alla dichiarazione della regola.

## Percorso URI
<a name="waf-rule-statement-request-component-uri-path"></a>

Controlla la parte di un URL che identifica una risorsa, ad esempio. `/images/daily-ad.jpg` Per informazioni, vedere [Uniform Resource Identifier (URI):](https://tools.ietf.org/html/rfc3986#section-3) sintassi generica. 

Se non utilizzate una trasformazione di testo con questa opzione, AWS WAF non normalizza l'URI e lo ispeziona esattamente come lo riceve dal client nella richiesta. Per informazioni sulle trasformazioni del testo, consulta. [Utilizzo delle trasformazioni di testo in AWS WAF](waf-rule-statement-transformation.md)

## JA3 impronta digitale
<a name="waf-rule-statement-request-component-ja3-fingerprint"></a>

Controlla l'impronta digitale della richiesta. JA3 

**Nota**  
JA3 l'ispezione delle impronte digitali è disponibile solo per le CloudFront distribuzioni Amazon e gli Application Load Balancer.

L' JA3 impronta digitale è un hash di 32 caratteri derivato dal TLS Client Hello di una richiesta in arrivo. Questa impronta digitale funge da identificatore univoco per la configurazione TLS del client. AWS WAF calcola e registra questa impronta digitale per ogni richiesta che contiene informazioni TLS Client Hello sufficienti per il calcolo. Quasi tutte le richieste web includono queste informazioni.

**Come ottenere l' JA3 impronta digitale di un cliente**  
È possibile ottenere l' JA3 impronta digitale per le richieste di un cliente dai log del Protection Pack (Web ACL). Se AWS WAF è in grado di calcolare l'impronta digitale, la include nei log. Per informazioni sui campi di registrazione, vedere. [Campi di registro per il traffico del Protection Pack (Web ACL)](logging-fields.md)

**Requisiti della dichiarazione delle regole**  
È possibile controllare l' JA3 impronta digitale solo all'interno di un'istruzione di corrispondenza delle stringhe impostata in modo che corrisponda esattamente alla stringa fornita. Fornisci la stringa di JA3 impronte digitali dai log nella specifica dell'istruzione String Match, in modo che corrisponda a eventuali richieste future con la stessa configurazione TLS. Per informazioni sull'istruzione string match, vedere. [Istruzione regola di corrispondenza stringa](waf-rule-statement-type-string-match.md)

È necessario fornire un comportamento di riserva per questa dichiarazione di regola. Il comportamento di fallback è lo stato della corrispondenza che si desidera AWS WAF assegnare alla richiesta Web se non AWS WAF è possibile calcolare l'impronta digitale. JA3 Se scegli di abbinare, AWS WAF considera la richiesta come corrispondente all'istruzione della regola e applica l'azione della regola alla richiesta. Se scegli di non corrispondere, AWS WAF considera la richiesta come se non corrispondesse alla dichiarazione della regola.

Per utilizzare questa opzione di corrispondenza, è necessario registrare il traffico del Protection Pack (Web ACL). Per informazioni, consulta [Registrazione del traffico del pacchetto di AWS WAF protezione (Web ACL)](logging.md).

## JA4 impronta digitale
<a name="waf-rule-statement-request-component-ja4-fingerprint"></a>

Ispeziona l'impronta digitale della richiesta. JA4 

**Nota**  
JA4 l'ispezione delle impronte digitali è disponibile solo per le CloudFront distribuzioni Amazon e gli Application Load Balancer.

L' JA4 impronta digitale è un hash di 36 caratteri derivato dal TLS Client Hello di una richiesta in arrivo. Questa impronta digitale funge da identificatore univoco per la configurazione TLS del client. JA4 l'impronta digitale è un'estensione dell'impronta digitale che può comportare un minor numero di JA3 impronte digitali uniche per alcuni browser. AWS WAF calcola e registra questa impronta digitale per ogni richiesta che contiene informazioni TLS Client Hello sufficienti per il calcolo. Quasi tutte le richieste web includono queste informazioni.

**Come ottenere l' JA4 impronta digitale di un cliente**  
È possibile ottenere l' JA4 impronta digitale per le richieste di un cliente dai log del Protection Pack (Web ACL). Se AWS WAF è in grado di calcolare l'impronta digitale, la include nei log. Per informazioni sui campi di registrazione, vedere. [Campi di registro per il traffico del Protection Pack (Web ACL)](logging-fields.md)

**Requisiti della dichiarazione delle regole**  
È possibile controllare l' JA4 impronta digitale solo all'interno di un'istruzione di corrispondenza delle stringhe impostata in modo che corrisponda esattamente alla stringa fornita. Fornisci la stringa di JA4 impronte digitali dai log nella specifica dell'istruzione String Match, in modo che corrisponda a eventuali richieste future con la stessa configurazione TLS. Per informazioni sull'istruzione string match, vedere. [Istruzione regola di corrispondenza stringa](waf-rule-statement-type-string-match.md)

È necessario fornire un comportamento di riserva per questa dichiarazione di regola. Il comportamento di fallback è lo stato della corrispondenza che si desidera AWS WAF assegnare alla richiesta Web se non AWS WAF è possibile calcolare l'impronta digitale. JA4 Se scegli di abbinare, AWS WAF considera la richiesta come corrispondente all'istruzione della regola e applica l'azione della regola alla richiesta. Se scegli di non corrispondere, AWS WAF considera la richiesta come se non corrispondesse alla dichiarazione della regola.

Per utilizzare questa opzione di corrispondenza, è necessario registrare il traffico del Protection Pack (Web ACL). Per informazioni, consulta [Registrazione del traffico del pacchetto di AWS WAF protezione (Web ACL)](logging.md).

## Stringa di query
<a name="waf-rule-statement-request-component-query-string"></a>

Controlla la parte dell'URL che appare dopo un `?` carattere, se presente.

**Nota**  
**Per le istruzioni match di cross-site scripting, si consiglia di scegliere **Tutti i parametri di query** anziché Query string.** Scegliendo **Tutti i parametri di interrogazione** si aggiunge il 10% WCUs al costo base.

## Parametro di query singola
<a name="waf-rule-statement-request-component-single-query-param"></a>

Ispeziona un singolo parametro di query definito come parte della stringa di query. AWS WAF controlla il valore del parametro specificato. 

Per questa opzione, si specifica anche un **argomento Query**. Ad esempio, se l'URL è`www.xyz.com?UserName=abc&SalesRegion=seattle`, è possibile specificare `UserName` o `SalesRegion` per l'argomento della query. La lunghezza massima per il nome dell'argomento è di 30 caratteri. Il nome non fa distinzione tra maiuscole e minuscole, quindi se lo si specifica`UserName`, AWS WAF corrisponde a tutte le varianti di`UserName`, incluso `username` e`UsERName`.

Se la stringa di query contiene più di un'istanza dell'argomento di interrogazione specificato, AWS WAF controlla tutti i valori per individuare una corrispondenza, utilizzando la OR logica. Ad esempio, nell'URL `www.xyz.com?SalesRegion=boston&SalesRegion=seattle`, AWS WAF valuta il nome specificato rispetto a `boston` e `seattle`. Se uno dei due è una corrispondenza, l'ispezione è una corrispondenza.

## Tutti i parametri di query
<a name="waf-rule-statement-request-component-all-query-params"></a>

Ispeziona tutti i parametri di interrogazione nella richiesta. È simile alla scelta del componente del singolo parametro di query, ma AWS WAF controlla i valori di tutti gli argomenti all'interno della stringa di query. Ad esempio, se l'URL è `www.xyz.com?UserName=abc&SalesRegion=seattle`, AWS WAF attiva una corrispondenza se il valore di `UserName` o `SalesRegion` corrisponde ai criteri di ispezione. 

La scelta di questa opzione aggiunge il 10% WCUs al costo base.

## Body
<a name="waf-rule-statement-request-component-body"></a>

Ispeziona il corpo della richiesta, valutato come testo semplice. Puoi anche valutare il corpo come JSON utilizzando il JSON tipo di contenuto. 

Il corpo della richiesta è la parte della richiesta che segue immediatamente le intestazioni della richiesta. Contiene tutti i dati aggiuntivi necessari per la richiesta Web, ad esempio i dati di un modulo. 
+ Nella console, lo selezioni sotto l'**opzione Request** **Body**, selezionando l'opzione **Tipo di contenuto** **Testo normale**. 
+ Nell'API, nelle `FieldToMatch` specifiche della regola, specifichi di `Body` ispezionare il corpo della richiesta come testo semplice.

Per Application Load Balancer and AWS AppSync, AWS WAF può ispezionare i primi 8 KB del corpo di una richiesta. Infatti CloudFront, API Gateway, Amazon Cognito, App Runner e Verified Access, per impostazione predefinita, AWS WAF possono ispezionare i primi 16 KB e puoi aumentare il limite fino a 64 KB nella configurazione del tuo Protection Pack (Web ACL). Per ulteriori informazioni, consulta [Considerazioni per la gestione dell'ispezione degli organi in AWS WAF](web-acl-setting-body-inspection-limit.md).

È necessario specificare la gestione delle dimensioni eccessive per questo tipo di componente. La gestione delle dimensioni eccessive definisce il modo in cui vengono AWS WAF gestite le richieste con dati corporei più grandi di quelli che è AWS WAF possibile esaminare. È possibile scegliere di continuare l'ispezione o di saltare l'ispezione e contrassegnare la richiesta come conforme o non conforme alla regola. Per ulteriori informazioni sulla gestione di contenuti di grandi dimensioni, consulta. [Componenti di richiesta Web di grandi dimensioni in AWS WAF](waf-oversize-request-components.md) 

Puoi anche valutare il corpo come JSON analizzato. Per informazioni a riguardo, consulta la sezione che segue. 

## Corpo JSON
<a name="waf-rule-statement-request-component-json-body"></a>

Ispeziona il corpo della richiesta, valutato come JSON. Puoi anche valutare il corpo come testo semplice. 

Il corpo della richiesta è la parte della richiesta che segue immediatamente le intestazioni della richiesta. Contiene tutti i dati aggiuntivi necessari per la richiesta Web, ad esempio i dati di un modulo. 
+ Nella console, lo selezioni sotto l'**opzione Request** **Body**, selezionando la scelta del **tipo di contenuto** **JSON**. 
+ Nell'API, nelle `FieldToMatch` specifiche della regola, si specifica`JsonBody`.

Per Application Load Balancer and AWS AppSync, AWS WAF può ispezionare i primi 8 KB del corpo di una richiesta. Infatti CloudFront, API Gateway, Amazon Cognito, App Runner e Verified Access, per impostazione predefinita, AWS WAF possono ispezionare i primi 16 KB e puoi aumentare il limite fino a 64 KB nella configurazione del tuo Protection Pack (Web ACL). Per ulteriori informazioni, consulta [Considerazioni per la gestione dell'ispezione degli organi in AWS WAF](web-acl-setting-body-inspection-limit.md).

È necessario specificare la gestione delle dimensioni eccessive per questo tipo di componente. La gestione delle dimensioni eccessive definisce il modo in cui vengono AWS WAF gestite le richieste con dati corporei più grandi di quelli che è AWS WAF possibile esaminare. È possibile scegliere di continuare l'ispezione o di saltare l'ispezione e contrassegnare la richiesta come conforme o non conforme alla regola. Per ulteriori informazioni sulla gestione di contenuti di grandi dimensioni, consulta. [Componenti di richiesta Web di grandi dimensioni in AWS WAF](waf-oversize-request-components.md) 

La scelta di questa opzione raddoppia il costo base del match statement. WCUs Ad esempio, se il costo base dell'istruzione match è 5 WCUs senza l'analisi JSON, l'utilizzo dell'analisi JSON raddoppia il costo a 10. WCUs 

Per questa opzione, fornisci specifiche aggiuntive, come descritto nella sezione seguente.

**Come AWS WAF gestisce l'ispezione del corpo in JSON**  
Quando AWS WAF ispeziona il corpo della richiesta Web come JSON, esegue le operazioni per analizzare il corpo ed estrarre gli elementi JSON per l'ispezione. AWS WAF esegue questi passaggi in base alle scelte di configurazione. 

Di seguito sono elencati i passaggi da AWS WAF eseguire. 

1. **Analizza il contenuto del corpo**: AWS WAF analizza il contenuto del corpo della richiesta Web per estrarre gli elementi JSON per l'ispezione. AWS WAF fa del suo meglio per analizzare l'intero contenuto del corpo, ma l'analisi può fallire a causa di una serie di stati di errore nei contenuti. Gli esempi includono caratteri non validi, chiavi duplicate, troncamento e contenuto il cui nodo principale non è un oggetto o un array. 

   L'opzione **Body parsing fallback behavior** determina cosa fare se AWS WAF non riesce ad analizzare completamente il corpo JSON: 
   + **Nessuno (comportamento predefinito)**: AWS WAF valuta il contenuto solo fino al punto in cui si è verificato un errore di analisi. 
   + **Valuta come stringa**: ispeziona il corpo come testo semplice. AWS WAF applica le trasformazioni del testo e i criteri di ispezione definiti per l'ispezione JSON alla stringa di testo del corpo.
   + **Match**: considera la richiesta Web come se corrispondesse alla dichiarazione della regola. AWS WAF applica l'azione della regola alla richiesta.
   + **Nessuna corrispondenza**: considera la richiesta Web come se non corrispondesse all'istruzione della regola.
**Nota**  
Questo comportamento di fallback si attiva solo quando si verifica un errore durante l' AWS WAF analisi della stringa JSON. 

**L'analisi non convalida completamente il JSON**  
AWS WAF l'analisi non convalida completamente la stringa JSON di input, quindi l'analisi può avere successo anche per JSON non valido.

   Ad esempio, AWS WAF analizza il seguente codice JSON non valido senza errori: 
   + Virgola mancante: `{"key1":"value1""key2":"value2"}`
   + Due punti mancanti: `{"key1":"value1","key2""value2"}`
   + Colon in eccesso: `{"key1"::"value1","key2""value2"}`

   In casi come questi in cui l'analisi ha esito positivo ma il risultato non è un JSON completamente valido, il risultato dei passaggi successivi della valutazione può variare. Nell'estrazione potrebbero mancare alcuni elementi oppure la valutazione della regola potrebbe avere risultati imprevisti. Ti consigliamo di convalidare il codice JSON ricevuto nell'applicazione e di gestire JSON non valido, se necessario. 

1. **Estrai gli elementi JSON**: AWS WAF identifica il sottoinsieme di elementi JSON da esaminare in base alle tue impostazioni: 
   + L'opzione **JSON match scope** specifica i tipi di elementi nel JSON che devono essere ispezionati. AWS WAF 

     È possibile specificare **Chiavi, **Valori** o Tutto sia per le chiavi** **che per i** valori. 

     **Tutto** non richiede che venga trovata una corrispondenza nelle chiavi e una corrispondenza nei valori. Richiede la ricerca di una corrispondenza nelle chiavi o nei valori o in entrambi. Per richiedere una corrispondenza nelle chiavi e nei valori, utilizzate un'`AND`istruzione logica per combinare due regole di corrispondenza, una che ispeziona le chiavi e l'altra che ispeziona i valori. 
   + L'opzione **Contenuto da ispezionare** specifica come filtrare l'insieme di elementi impostato sul sottoinsieme che si desidera ispezionare. AWS WAF 

     È necessario specificare una delle seguenti opzioni:
     + **Contenuto JSON completo**: valuta tutti gli elementi. 
     + **Solo elementi inclusi**: valuta solo gli elementi i cui percorsi corrispondono ai criteri del puntatore JSON che fornisci. Non utilizzare questa opzione per indicare *tutti i* percorsi in JSON. Utilizza invece contenuti **JSON completi**. 

       Per informazioni sulla sintassi di JSON Pointer, consultate la documentazione di Internet Engineering Task Force (IETF) [JavaScript Object Notation](https://tools.ietf.org/html/rfc6901) (JSON) Pointer. 

       Ad esempio, nella console, è possibile fornire quanto segue: 

       ```
       /dogs/0/name
       /dogs/1/name
       ```

       Nell'API o nella CLI, puoi fornire quanto segue: 

       ```
       "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]
       ```

   Ad esempio, supponiamo che l'impostazione **Contenuto da ispezionare** sia **Solo elementi inclusi** e che l'impostazione Elementi inclusi sia. `/a/b` 

   Per il seguente esempio JSON body: 

   ```
   { 
     "a":{
       "c":"d",
       "b":{
         "e":{
           "f":"g"
         }
       }
     }
   }
   ```

   I set di elementi da controllare AWS WAF per ogni impostazione **JSON Match Scope** sono elencati di seguito. Nota che la chiave`b`, che fa parte del percorso degli elementi inclusi, non viene valutata.
   + **Tutti**:`e`, `f,` e. `g`
   + **Chiavi**: `e` e`f`.
   + **Valori**:`g`.

1. **Ispeziona il set di elementi JSON**: AWS WAF applica tutte le trasformazioni di testo che hai specificato agli elementi JSON estratti e quindi abbina il set di elementi risultante ai criteri di corrispondenza dell'istruzione della regola. Si tratta dello stesso comportamento di trasformazione e valutazione degli altri componenti della richiesta Web. Se uno qualsiasi degli elementi JSON estratti corrisponde, la richiesta web corrisponde alla regola. 

# Utilizzo degli indirizzi IP inoltrati in AWS WAF
<a name="waf-rule-statement-forwarded-ip-address"></a>

Questa sezione si applica alle istruzioni delle regole che utilizzano l'indirizzo IP di una richiesta Web. Per impostazione predefinita, AWS WAF utilizza l'indirizzo IP dall'origine della richiesta Web. Tuttavia, se una richiesta Web passa attraverso uno o più proxy o sistemi di bilanciamento del carico, l'origine della richiesta Web conterrà l'indirizzo dell'ultimo proxy e non l'indirizzo di origine del client. In questo caso, l'indirizzo del client di origine viene in genere inoltrato in un'altra intestazione HTTP. Questa intestazione è in genere `X-Forwarded-For` (XFF), ma può essere diversa. 

**Dichiarazioni di regole che utilizzano indirizzi IP**  
Le istruzioni delle regole che utilizzano gli indirizzi IP sono le seguenti:
+ [Corrispondenza set di IP](waf-rule-statement-type-ipset-match.md)- Controlla che l'indirizzo IP corrisponda agli indirizzi definiti in un set IP.
+ [Corrispondenza geografica](waf-rule-statement-type-geo-match.md)- Utilizza l'indirizzo IP per determinare il paese e la regione di origine e confronta il paese di origine con un elenco di paesi.
+ [Corrispondenza ASN](waf-rule-statement-type-asn-match.md)- Utilizza l'indirizzo IP per determinare l'ASN (Autonomous System Number) e confronta l'ASN con un elenco di. ASNs
+ [Utilizzo di istruzioni di regole basate sulla frequenza](waf-rule-statement-type-rate-based.md)- Può aggregare le richieste in base ai relativi indirizzi IP per garantire che nessun indirizzo IP individuale invii richieste a una velocità troppo elevata. È possibile utilizzare l'aggregazione degli indirizzi IP da sola o in combinazione con altre chiavi di aggregazione. 

Puoi indicare di AWS WAF utilizzare un indirizzo IP inoltrato per ognuna di queste istruzioni di regole, dall'`X-Forwarded-For`intestazione o da un'altra intestazione HTTP, invece di utilizzare l'origine della richiesta web. Per i dettagli su come fornire le specifiche, consulta la guida per i singoli tipi di istruzioni delle regole.

**Nota**  
Se manca un'intestazione, AWS WAF valuta qualsiasi istruzione che utilizza quell'intestazione come «Nessuna corrispondenza». Se utilizzi un'istruzione NOT con un risultato «Nessuna corrispondenza», AWS WAF converte la valutazione in «Match». Le intestazioni mancanti non attivano il comportamento di fallback, ma solo i valori di intestazione non validi.

**Comportamento di fallback**  
Quando si utilizza l'indirizzo IP inoltrato, si indica lo stato di corrispondenza AWS WAF da assegnare alla richiesta web se la richiesta non ha un indirizzo IP valido nella posizione specificata: 
+ **MATCH**: considera la richiesta web come se corrispondesse alla dichiarazione della regola. AWS WAF applica l'azione della regola alla richiesta.
+ **NESSUNA CORRISPONDENZA**: considera la richiesta web come se non corrispondesse alla dichiarazione della regola. 

**Indirizzi IP utilizzati in AWS WAF Bot Control**  
Il gruppo di regole gestito da Bot Control verifica i bot utilizzando gli indirizzi IP di. AWS WAF Se utilizzi Bot Control e hai verificato i bot che effettuano il routing attraverso un proxy o un sistema di bilanciamento del carico, devi consentirli esplicitamente utilizzando una regola personalizzata. Ad esempio, puoi configurare una regola di corrispondenza del set di indirizzi IP personalizzata che utilizza gli indirizzi IP inoltrati per rilevare e consentire i bot verificati. Puoi utilizzare la regola per personalizzare la gestione dei bot in diversi modi. Per maggiori informazioni ed esempi, consulta [AWS WAF Controllo dei bot](waf-bot-control.md). 

**Considerazioni generali sull'utilizzo degli indirizzi IP inoltrati**  
Prima di utilizzare un indirizzo IP inoltrato, tieni presente le seguenti avvertenze generali: 
+ Un'intestazione può essere modificata dai proxy lungo il percorso e i proxy potrebbero gestire l'intestazione in modi diversi. 
+ Gli aggressori potrebbero alterare il contenuto dell'intestazione nel tentativo di aggirare le ispezioni. AWS WAF 
+ L'indirizzo IP all'interno dell'intestazione può essere malformato o non valido.
+ L'intestazione specificata potrebbe non essere affatto presente in una richiesta.

**Considerazioni sull'utilizzo degli indirizzi IP inoltrati con AWS WAF**  
L'elenco seguente descrive i requisiti e le avvertenze per l'utilizzo degli indirizzi IP inoltrati in: AWS WAF
+ Per ogni singola regola, è possibile specificare un'intestazione per l'indirizzo IP inoltrato. La specifica dell'intestazione non fa distinzione tra maiuscole e minuscole.
+ Per le istruzioni delle regole basate sulla frequenza, le istruzioni di scoping annidate non ereditano la configurazione IP inoltrata. Specificate la configurazione per ogni istruzione che utilizza un indirizzo IP inoltrato. 
+ Per le regole di corrispondenza geografica, di corrispondenza ASN e basate sulla frequenza, AWS WAF utilizza il primo indirizzo nell'intestazione. Ad esempio, se un'intestazione contiene usi `10.1.1.1, 127.0.0.0, 10.10.10.10` AWS WAF `10.1.1.1`
+ Per IP set match, si indica se corrispondere al primo, all'ultimo o a qualsiasi altro indirizzo nell'intestazione. Se ne specifichi una, AWS WAF controlla tutti gli indirizzi nell'intestazione per verificare se esiste una corrispondenza, fino a 10 indirizzi. Se l'intestazione contiene più di 10 indirizzi, AWS WAF controlla gli ultimi 10. 
+ Le intestazioni che contengono più indirizzi devono utilizzare un separatore di virgole tra gli indirizzi. Se una richiesta utilizza un separatore diverso dalla virgola, AWS WAF considera errati gli indirizzi IP nell'intestazione.
+ Se gli indirizzi IP all'interno dell'intestazione non sono corretti o non sono validi, AWS WAF indica che la richiesta Web corrisponde o non corrisponde alla regola, in base al comportamento di fallback specificato nella configurazione IP inoltrata.
+ Se l'intestazione specificata non è presente in una richiesta, AWS WAF non applica affatto la regola alla richiesta. Ciò significa che AWS WAF non applica l'azione della regola e non applica il comportamento di fallback.
+ Una dichiarazione di regola che utilizza un'intestazione IP inoltrata per l'indirizzo IP non utilizzerà l'indirizzo IP riportato dall'origine della richiesta Web.

**Le migliori pratiche per l'utilizzo di indirizzi IP inoltrati con AWS WAF**  
Quando utilizzi indirizzi IP inoltrati, utilizza le seguenti best practice: 
+ Valuta attentamente tutti i possibili stati delle intestazioni delle richieste prima di abilitare la configurazione IP inoltrata. Potrebbe essere necessario utilizzare più di una regola per ottenere il comportamento desiderato.
+ Per ispezionare più intestazioni IP inoltrate o per ispezionare l'origine della richiesta Web e un'intestazione IP inoltrata, utilizzate una regola per ogni origine dell'indirizzo IP. 
+ Per bloccare le richieste Web con un'intestazione non valida, imposta l'azione della regola su block e imposta il comportamento di fallback per la configurazione IP inoltrata in modo che corrisponda. 

**Esempio JSON per indirizzi IP inoltrati**  
La seguente istruzione geo match corrisponde solo se l'`X-Forwarded-For`intestazione contiene un IP il cui paese di origine è: `US` 

```
{
  "Name": "XFFTestGeo",
  "Priority": 0,
  "Action": {
    "Block": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "XFFTestGeo"
  },
  "Statement": {
    "GeoMatchStatement": {
      "CountryCodes": [
        "US"
      ],
      "ForwardedIPConfig": {
        "HeaderName": "x-forwarded-for",
        "FallbackBehavior": "MATCH"
      }
    }
  }
}
```

La seguente regola basata sulla frequenza aggrega le richieste in base al primo IP nell'intestazione. `X-Forwarded-For` La regola conta solo le richieste che corrispondono all'istruzione geo match annidata e blocca solo le richieste che corrispondono all'istruzione geo match. L'istruzione nested geo match utilizza anche l'`X-Forwarded-For`intestazione per determinare se l'indirizzo IP indica un paese di origine di. `US` In caso affermativo o se l'intestazione è presente ma non valida, l'istruzione geo match restituisce una corrispondenza. 

```
{
  "Name": "XFFTestRateGeo",
  "Priority": 0,
  "Action": {
    "Block": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "XFFTestRateGeo"
  },
  "Statement": {
    "RateBasedStatement": {
      "Limit": "100",
      "AggregateKeyType": "FORWARDED_IP",
      "ScopeDownStatement": {
        "GeoMatchStatement": {
          "CountryCodes": [
            "US"
          ],
          "ForwardedIPConfig": {
            "HeaderName": "x-forwarded-for",
            "FallbackBehavior": "MATCH"
          }
        }
      },
      "ForwardedIPConfig": {
        "HeaderName": "x-forwarded-for",
        "FallbackBehavior": "MATCH"
      }
    }
  }
}
```

# Ispezione degli pseudo header HTTP/2 in AWS WAF
<a name="waf-rule-statement-request-components-for-http2-pseudo-headers"></a>

Questa sezione spiega come è possibile utilizzare per ispezionare le pseudo intestazioni AWS WAF HTTP/2.

 AWS Le risorse protette che supportano il traffico HTTP/2 non inoltrano le pseudo intestazioni HTTP/2 a fini di ispezione, ma forniscono il contenuto delle pseudo intestazioni nei componenti di AWS WAF richiesta Web che vengono ispezionati. AWS WAF 

È possibile utilizzare AWS WAF per ispezionare solo le pseudo intestazioni elencate nella tabella seguente. 


**I contenuti delle pseudo intestazioni HTTP/2 sono mappati ai componenti della richiesta Web**  

| Pseudo intestazione HTTP/2 | Componente di richiesta Web da ispezionare | Documentazione | 
| --- | --- | --- | 
|  `:method`  |  Metodo HTTP   |  [Metodo HTTP](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-http-method)  | 
|  `:authority`  |  `Host` Intestazione   |  [Intestazione singola](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-single-header)  [Tutte le intestazioni](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-headers)  | 
|  `:path`Percorso URI  | Percorso URI  | [Percorso URI](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-uri-path) | 
|  Query `:path`  |  Stringa di query  |  [Stringa di query](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-query-string) [Parametro di query singola](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-single-query-param) [Tutti i parametri di query](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-all-query-params)  | 

# Utilizzo delle trasformazioni di testo in AWS WAF
<a name="waf-rule-statement-transformation"></a>

Questa sezione spiega come fornire le trasformazioni da applicare prima AWS WAF di esaminare la richiesta.

Nelle istruzioni che cercano modelli o impostano vincoli, è possibile fornire trasformazioni da applicare prima di AWS WAF esaminare la richiesta. Una trasformazione riformatta una richiesta Web per eliminare alcune formattazioni insolite utilizzate da utenti malintenzionati nel tentativo di escludere AWS WAF. 

Quando lo usi con la selezione dei componenti della richiesta del corpo JSON, AWS WAF applica le trasformazioni dopo aver analizzato ed estratto gli elementi da ispezionare dal JSON. Per ulteriori informazioni, consulta [Corpo JSON](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-json-body).

Se si forniscono più trasformazioni, si imposta anche l'ordine utilizzato da AWS WAF per applicarle. 

**WCUs**— Ogni trasformazione del testo è 10. WCUs

La documentazione della AWS WAF console e dell'API fornisce inoltre indicazioni per queste impostazioni nelle seguenti posizioni: 
+ **Generatore di regole** sulla console: **trasformazione del testo**. Questa opzione è disponibile quando utilizzi componenti di richiesta. 
+ **Contenuto della dichiarazione API**: `TextTransformations`Opzioni per trasformazioni del testo

Ogni elenco di trasformazione mostra le specifiche della console e dell'API seguite dalla descrizione.

Base64 decode – `BASE64_DECODE`  
AWS WAF decodifica una stringa con codifica Base64.

Base64 decode extension – `BASE64_DECODE_EXT`  
AWS WAF decodifica una stringa con codifica Base64, ma utilizza un'implementazione indulgente che ignora i caratteri non validi. 

Command line – `CMD_LINE`  
Questa opzione mitiga le situazioni in cui gli aggressori potrebbero iniettare un comando dalla riga di comando del sistema operativo e utilizzare una formattazione insolita per mascherare alcuni o tutti i comandi.   
Utilizza questa opzione per eseguire le seguenti trasformazioni:  
+ Eliminare i seguenti caratteri: `\ " ' ^`
+ Eliminare gli spazi prima dei seguenti caratteri: `/ (`
+ Sostituire i seguenti caratteri con uno spazio: `, ;`
+ Sostituire più spazi con uno spazio
+ Convertire lettere maiuscole, `A-Z`, in minuscole, `a-z`

Compress whitespace – `COMPRESS_WHITE_SPACE`  
AWS WAF comprime lo spazio bianco sostituendo più spazi con uno spazio e sostituendo i seguenti caratteri con uno spazio (ASCII 32):  
+ Formfeed (ASCII 12)
+ Scheda (ASCII 9)
+ Nuova riga (ASCII 10)
+ Carriage return (ASCII 13)
+ Tabulazione verticale (ASCII 11)
+ Spazio senza interruzioni (ASCII 160)

CSS decode – `CSS_DECODE`  
AWS WAF decodifica i caratteri codificati utilizzando le regole di escape CSS 2.x. `syndata.html#characters` Questa funzione utilizza fino a due byte nel processo di decodifica, quindi può aiutare a scoprire caratteri ASCII che sono stati codificati usando la codifica CSS che in genere non verrebbe codificata. È utile anche per contrastare l'evasione, che è una combinazione di una barra rovesciata e caratteri non esadecimali. Ad esempio: `ja\vascript` per `javascript`.

Escape sequences decode – `ESCAPE_SEQ_DECODE`  
AWS WAF decodifica le seguenti sequenze di escape ANSI C:`\a`,,,,,`\b`,`\f`,`\n`, `\r``\t`, `\xHH` (esadecimale) `\v` `\\` `\?` `\'``\"`, (ottale). `\0OOO` Le codifiche non valide rimangono nell'output.

Hex decode – `HEX_DECODE`  
AWS WAF decodifica una stringa di caratteri esadecimali in un binario.

HTML entity decode – `HTML_ENTITY_DECODE`  
AWS WAF sostituisce i caratteri rappresentati in formato `&#xhhhh;` esadecimale o decimale con i caratteri corrispondenti. `&#nnnn;`  
AWS WAF sostituisce i seguenti caratteri con codifica HTML con caratteri non codificati. Questo elenco utilizza la codifica HTML minuscola, ma la gestione non fa distinzione tra maiuscole e minuscole, ad esempio e viene trattata allo stesso modo. `&QuOt;` `&quot;`       
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/waf/latest/developerguide/waf-rule-statement-transformation.html)

JS decode – `JS_DECODE`  
AWS WAF decodifica le sequenze di escape JavaScript . Se un `\uHHHH` codice rientra nell'intervallo di codici ASCII a larghezza intera di`FF01-FF5E`, viene utilizzato il byte superiore per rilevare e regolare il byte inferiore. In caso contrario, viene utilizzato solo il byte più basso e il byte più alto viene azzerato, causando una possibile perdita di informazioni.

Lowercase – `LOWERCASE`  
AWS WAF converte le lettere maiuscole (A-Z) in minuscole (a-z).

MD5 – `MD5`  
AWS WAF calcola un MD5 hash a partire dai dati in input. L'hash calcolato è in una forma binaria grezza.

None – `NONE`  
AWS WAF ispeziona la richiesta web così come è stata ricevuta, senza trasformazioni di testo. 

Normalize path – `NORMALIZE_PATH`  
AWS WAF normalizza la stringa di input rimuovendo più barre, riferimenti automatici alle directory e riferimenti retrospettivi alle directory che non si trovano all'inizio dell'input.

Normalize path Windows – `NORMALIZE_PATH_WIN`  
AWS WAF converte i caratteri della barra rovesciata in barre in avanti e quindi elabora la stringa risultante utilizzando la trasformazione. `NORMALIZE_PATH`

Remove nulls – `REMOVE_NULLS`  
AWS WAF rimuove tutti i `NULL` byte dall'input. 

Replace comments – `REPLACE_COMMENTS`  
AWS WAF sostituisce ogni occorrenza di un commento in stile C (/\$1... \$1/) con un singolo spazio. Non comprime più occorrenze consecutive. Sostituisce i commenti non terminati con uno spazio (ASCII 0x20). Non modifica la terminazione autonoma di un commento (\$1/).

Replace nulls – `REPLACE_NULLS`  
AWS WAF sostituisce ogni `NULL` byte dell'input con il carattere spazio (ASCII 0x20).

SQL hex decode – `SQL_HEX_DECODE`  
AWS WAF decodifica i dati esadecimali SQL. Ad esempio, AWS WAF decodifica (`0x414243`) in (). `ABC`

URL decode – `URL_DECODE`  
AWS WAF decodifica un valore con codifica URL.

URL decode Unicode – `URL_DECODE_UNI`  
Tipo`URL_DECODE`, ma con supporto per la codifica specifica di Microsoft`%u`. Se il codice è nell'intervallo di codice ASCII a larghezza intera di `FF01-FF5E`, allora il byte più alto viene utilizzato per rilevare e regolare il byte più basso. Altrimenti, viene utilizzato solo il byte più basso e il byte più alto viene azzerato.

UTF8 to Unicode – `UTF8_TO_UNICODE`  
AWS WAF converte tutte le sequenze di caratteri UTF-8 in Unicode. Ciò aiuta a normalizzare l'input e a ridurre al minimo i falsi positivi e i falsi negativi per le lingue diverse dall'inglese.

# Utilizzo di istruzioni scope-down in AWS WAF
<a name="waf-rule-scope-down-statements"></a>

Questa sezione spiega cos'è un'istruzione scope-down e come funziona.

Un'istruzione scope-down è un'istruzione di regola nestable che viene aggiunta all'interno di un'istruzione gestita di un gruppo di regole o di un'istruzione basata sulla frequenza per restringere l'insieme di richieste valutate dalla regola che la contiene. La regola contenitore valuta solo le richieste che per prime corrispondono all'istruzione scope-down. 
+ **Istruzione gestita del gruppo di regole: se aggiungi un'istruzione** con ambito limitato a un'istruzione del gruppo di regole gestito, AWS WAF valuta qualsiasi richiesta che non corrisponde all'istruzione scope-down come non corrispondente al gruppo di regole. Solo le richieste che corrispondono all'istruzione scope-down vengono valutate rispetto al gruppo di regole. Per i gruppi di regole gestiti con prezzi basati sul numero di richieste valutate, le istruzioni dettagliate possono aiutare a contenere i costi. 

  Per ulteriori informazioni sulle dichiarazioni dei gruppi di regole gestite, consulta. [Utilizzo di istruzioni gestite per gruppi di regole in AWS WAF](waf-rule-statement-type-managed-rule-group.md)
+ **Dichiarazione delle regole basata** sulla frequenza: un'istruzione di regole basata sulla frequenza senza un'istruzione con ambito decrescente limita tutte le richieste valutate dalla regola. Se desideri controllare la frequenza solo per una categoria specifica di richieste, aggiungi un'istruzione con ambito limitato alla regola basata sulla frequenza. Ad esempio, per tenere traccia e controllare solo la frequenza delle richieste provenienti da un'area geografica specifica, puoi specificare quell'area geografica in un'istruzione di corrispondenza geografica e aggiungerla alla regola basata sulla tariffa come dichiarazione scope-down. 

  Per ulteriori informazioni sulle istruzioni delle regole basate sulla tariffa, vedere. [Utilizzo di istruzioni di regole basate sulla tariffa in AWS WAF](waf-rule-statement-type-rate-based.md)

È possibile utilizzare qualsiasi regola nestable in un'istruzione scope-down. Per le dichiarazioni disponibili, vedere e. [Utilizzo delle istruzioni match rule in AWS WAF](waf-rule-statements-match.md) [Utilizzo di istruzioni di regole logiche in AWS WAF](waf-rule-statements-logical.md) Le WCUs istruzioni for a scope-down sono WCUs necessarie per l'istruzione della regola in essa definita. Non sono previsti costi aggiuntivi per l'utilizzo di un'istruzione scope-down.

È possibile configurare un'istruzione scope-down nello stesso modo in cui si utilizza l'istruzione in una regola normale. Ad esempio, puoi applicare trasformazioni di testo a un componente di richiesta Web che stai esaminando e puoi specificare un indirizzo IP inoltrato da utilizzare come indirizzo IP. Queste configurazioni si applicano solo all'istruzione scope-down e non vengono ereditate dal gruppo di regole gestito o dall'istruzione di regole basata sulla frequenza che lo contiene. 

Ad esempio, se applicate trasformazioni di testo a una stringa di query nell'istruzione scope-down, l'istruzione scope-down controlla la stringa di query dopo aver applicato le trasformazioni. Se la richiesta soddisfa i criteri dell'istruzione scope-down, passa la richiesta Web alla regola contenitore nel suo stato originale AWS WAF , senza le trasformazioni dell'istruzione scope-down. La regola che contiene l'istruzione scope-down può applicare trasformazioni di testo proprie, ma non eredita alcuna dall'istruzione scope-down. 

Non è possibile utilizzare un'istruzione scope-down per specificare alcuna configurazione di Request Inspection per l'istruzione della regola che la contiene. Non è possibile utilizzare un'istruzione scope-down come preprocessore di richieste Web per l'istruzione della regola che la contiene. L'unico ruolo di un'istruzione scope-down è determinare quali richieste vengono passate all'istruzione della regola che la contiene per l'ispezione. 

# Riferimento a entità riutilizzabili in AWS WAF
<a name="waf-rule-statement-reusable-entities"></a>

Questa sezione spiega come funzionano le entità riutilizzabili. AWS WAF

Alcune regole utilizzano entità riutilizzabili e gestite all'esterno del tuo sito WebACLs, da te o da un Marketplace AWS venditore. AWS Quando l'entità riutilizzabile viene aggiornata, AWS WAF propaga l'aggiornamento alla regola. Ad esempio, se utilizzi un gruppo di regole AWS Managed Rules in un protection pack (ACL web), quando AWS aggiorna il gruppo di regole, AWS propaga la modifica all'ACL web per aggiornarne il comportamento. Se si utilizza un'istruzione IP set in una regola, quando si aggiorna il set, la modifica viene AWS WAF propagata a tutte le regole che vi fanno riferimento, pertanto tutti i protection pack (Web ACLs) che utilizzano tali regole vengono mantenuti up-to-date con le modifiche apportate. 

Di seguito sono riportate le entità riutilizzabili che puoi utilizzare in un'istruzione regola. 
+ **Set IP**: puoi creare e gestire i tuoi set IP. Nella console, puoi accedere ad essi dal riquadro di navigazione. Per informazioni sulla gestione dei set di IP, consulta [Set IP e set di pattern regex in AWS WAF](waf-referenced-set-managing.md). 
+ **Set di partite regex**: crei e gestisci i tuoi set di partite regex. Nella console, puoi accedere ad essi dal riquadro di navigazione. Per informazioni sulla gestione dei set del modello regex, consulta [Set IP e set di pattern regex in AWS WAF](waf-referenced-set-managing.md). 
+ AWS Gruppi di **regole gestite: AWS gestisce questi gruppi** di regole. Sulla console, questi sono disponibili per l'uso quando si aggiunge un gruppo di regole gestite al pacchetto di protezione (ACL web). Per ulteriori informazioni su queste impostazioni, consulta [AWS Elenco dei gruppi di regole di Managed Rules](aws-managed-rule-groups-list.md).
+ **Marketplace AWS gruppi di regole gestiti**: Marketplace AWS i venditori gestiscono questi gruppi di regole e puoi abbonarti per utilizzarli. Per gestire le sottoscrizioni, nel riquadro di navigazione della console, scegli **Marketplace AWS**. I gruppi di regole Marketplace AWS gestiti vengono elencati quando aggiungi un gruppo di regole gestite al tuo protection pack (ACL web). Per i gruppi di regole a cui non sei ancora iscritto, puoi trovare anche un link Marketplace AWS in quella pagina. Per maggiori informazioni sui gruppi di regole gestiti dai Marketplace AWS venditori, consulta[Marketplace AWS gruppi di regole](marketplace-rule-groups.md).
+ **I tuoi gruppi di regole**: gestisci i tuoi gruppi di regole, di solito quando hai bisogno di un comportamento che non è disponibile tramite i gruppi di regole gestiti. Nella console, puoi accedere ad essi dal riquadro di navigazione. Per ulteriori informazioni, consulta [Gestione dei propri gruppi di regole](waf-user-created-rule-groups.md).

**Eliminazione di un set di riferimento o gruppo di regole**  
Quando elimini un'entità referenziata, AWS WAF verifica se è attualmente utilizzata in un pacchetto di protezione (ACL web). Se AWS WAF rileva che è in uso, ti avvisa. AWS WAF è quasi sempre in grado di determinare se un pacchetto di protezione (Web ACL) fa riferimento a un'entità. Tuttavia, in rari casi, potrebbe non essere in grado di farlo. Se vuoi essere sicuro che l'entità che desideri eliminare non sia in uso, controllala nel tuo Web ACLs prima di eliminarla.

# Utilizzo delle istruzioni match rule in AWS WAF
<a name="waf-rule-statements-match"></a>

Questa sezione spiega cos'è una dichiarazione di corrispondenza e come funziona.

Le istruzioni Match confrontano la richiesta web o la sua origine con i criteri forniti dall'utente. Per molte istruzioni di questo tipo, AWS WAF confronta un componente specifico della richiesta per ottenere contenuti corrispondenti. 

Le istruzioni Match sono instabili. È possibile annidare ognuna di queste istruzioni all'interno di istruzioni di regole logiche e utilizzarle in istruzioni scope-down. Per informazioni sulle istruzioni delle regole logiche, vedere. [Utilizzo di istruzioni di regole logiche in AWS WAF](waf-rule-statements-logical.md) Per informazioni sulle istruzioni scope-down, vedere. [Utilizzo di istruzioni scope-down in AWS WAF](waf-rule-scope-down-statements.md)

Questa tabella descrive le istruzioni di corrispondenza regolari che è possibile aggiungere a una regola e fornisce alcune linee guida per il calcolo dell'utilizzo delle unità di capacità (WCU) del Protection Pack (Web ACL) per ciascuna di esse. Per informazioni su, vedere. WCUs [Unità di capacità Web ACL (WCUs) in AWS WAF](aws-waf-capacity-units.md) 


| Istruzione di corrispondenza | Description | WCUs | 
| --- | --- | --- | 
| [Corrispondenza geografica](waf-rule-statement-type-geo-match.md) | Ispeziona il paese di origine della richiesta e applica le etichette per il paese e la regione di origine.  | 1 | 
|  [Corrispondenza ASN](waf-rule-statement-type-asn-match.md)  |  Esamina la richiesta rispetto a un ASN associato agli indirizzi IP e agli intervalli di indirizzi.  |  1  | 
|  [Corrispondenza set di IP](waf-rule-statement-type-ipset-match.md)  |  Esamina la richiesta rispetto a un set di indirizzi IP e intervalli di indirizzi.   |  1 per la maggior parte dei casi. Se configuri l'istruzione per utilizzare un'intestazione con indirizzi IP inoltrati e specifichi una posizione nell'intestazione diAny, aumenta il valore di 4. WCUs   | 
|  [Dichiarazione della regola di corrispondenza delle etichette](waf-rule-statement-type-label-match.md)  |  Controlla la richiesta di etichette che sono state aggiunte da altre regole nello stesso pacchetto di protezione (ACL web).  |  1   | 
| [Dichiarazione della regola Regex Match](waf-rule-statement-type-regex-match.md) | Confronta un modello regex con un componente di richiesta specificato.  | 3, come costo base. Se si utilizza il componente di richiesta **Tutti i parametri di interrogazione**, aggiungere 10 WCUs. Se utilizzi il **corpo JSON** del componente di richiesta, raddoppia il costo WCUs base. Per ogni **trasformazione di testo** che applichi, aggiungi 10 WCUs.  | 
|  [Set del modello regex](waf-rule-statement-type-regex-pattern-set-match.md)  |  Confronta i modelli di espressione regolare (regex) con un componente di richiesta specificato.   |  25 per set di pattern, come costo base.  Se si utilizza il componente di richiesta **Tutti i parametri di interrogazione**, aggiungere 10 WCUs. Se utilizzi il **corpo JSON** del componente di richiesta, raddoppia il costo WCUs base. Per ogni **trasformazione di testo** che applichi, aggiungi 10 WCUs.  | 
| [Vincolo di dimensioni](waf-rule-statement-type-size-constraint-match.md) | Controlla i vincoli di dimensione rispetto a un componente di richiesta specificato.  | 1, come costo base.  Se si utilizza il componente di richiesta **Tutti i parametri di interrogazione**, aggiungere 10 WCUs. Se utilizzi il **corpo JSON** del componente di richiesta, raddoppia il costo WCUs base. Per ogni **trasformazione di testo** che applichi, aggiungi 10 WCUs.  | 
| [SQLiattacco](waf-rule-statement-type-sqli-match.md) | Controlla se è presente codice SQL dannoso in un componente di richiesta specificato.  | 20, come costo base. Se si utilizza il componente di richiesta **Tutti i parametri di interrogazione**, aggiungere 10 WCUs. Se utilizzi il **corpo JSON** del componente di richiesta, raddoppia il costo WCUs base. Per ogni **trasformazione di testo** che applichi, aggiungi 10 WCUs. | 
| [Corrispondenza stringa](waf-rule-statement-type-string-match.md) | Confronta una stringa con un componente di richiesta specificato.  |  Il costo base dipende dal tipo di stringa che corrisponde ed è compreso tra 1 e 10. Se si utilizza il componente di richiesta **Tutti i parametri di interrogazione**, aggiungere 10 WCUs. Se utilizzi il **corpo JSON** del componente di richiesta, raddoppia il costo WCUs base. Per ogni **trasformazione di testo** che applichi, aggiungi 10 WCUs.  | 
| [Attacco XSS Scripting](waf-rule-statement-type-xss-match.md) | Controlla se in un componente di richiesta specificato sono presenti attacchi cross-site scripting.  | 40, come costo base. Se si utilizza il componente di richiesta **Tutti i parametri di interrogazione**, aggiungere 10 WCUs. Se utilizzi il **corpo JSON** del componente di richiesta, raddoppia il costo WCUs base. Per ogni **trasformazione di testo** che applichi, aggiungi 10 WCUs. | 

# Istruzione regola di corrispondenza geografica
<a name="waf-rule-statement-type-geo-match"></a>

Questa sezione spiega cos'è una dichiarazione di corrispondenza geografica e come funziona.

Utilizza le istruzioni geografiche o geo match per gestire le richieste web in base al paese e alla regione di origine. Un'istruzione geo match aggiunge etichette alle richieste web che indicano il paese di origine e la regione di origine. Aggiunge queste etichette indipendentemente dal fatto che i criteri della dichiarazione corrispondano alla richiesta. Un'istruzione geo match esegue anche la corrispondenza con il paese di origine della richiesta.

## Come usare l'istruzione geo match
<a name="waf-rule-statement-geo-how-to-use"></a>

È possibile utilizzare l'istruzione geo match per la corrispondenza di paesi o regioni, come segue: 
+ **Paese**: puoi utilizzare una regola di geo match a sé stante per gestire le richieste in base esclusivamente al paese di origine. La dichiarazione delle regole corrisponde ai codici dei paesi. Puoi anche seguire una regola di corrispondenza geografica con una regola di corrispondenza delle etichette che corrisponde all'etichetta del paese di origine. 
**Nota**  
Per filtrare il traffico da Hong Kong, usa il codice del paese ISO 3166-1 alpha-2 `HK` nella tua dichiarazione geo match.
+ **Regione**: utilizza una regola di corrispondenza geografica seguita da una regola di corrispondenza delle etichette per gestire le richieste in base alla regione di origine. Non puoi utilizzare una regola di corrispondenza geografica da sola per la corrispondenza con i codici regionali.

Per informazioni sull'utilizzo delle regole di abbinamento delle etichette, consulta [Dichiarazione della regola di corrispondenza delle etichette](waf-rule-statement-type-label-match.md) e[Etichettatura delle richieste Web in AWS WAF](waf-labels.md).

## Come funziona l'istruzione geo match
<a name="waf-rule-statement-geo-how-it-works"></a>

Con l'istruzione geo match, AWS WAF gestisce ogni richiesta web come segue: 

1. **Determina i codici del paese e dell'area geografica della richiesta**: AWS WAF determina il paese e la regione di una richiesta in base al relativo indirizzo IP. Per impostazione predefinita, AWS WAF utilizza l'indirizzo IP dell'origine della richiesta Web. È possibile indicare di AWS WAF utilizzare un indirizzo IP da un'intestazione di richiesta alternativa, ad esempio `X-Forwarded-For` abilitando la configurazione IP inoltrata nelle impostazioni della dichiarazione delle regole. 

   AWS WAF determina la posizione delle richieste utilizzando i database MaxMind GeoIP. MaxMind riporta un'accuratezza molto elevata dei propri dati a livello nazionale, sebbene la precisione vari in base a fattori come il paese e il tipo di IP. Per ulteriori informazioni su MaxMind, consulta [Geolocalizzazione MaxMind IP](https://support.maxmind.com/hc/en-us/sections/4407519834267-IP-Geolocation). Se ritieni che uno qualsiasi dei dati GeoIP sia errato, puoi inviare una richiesta di correzione a Maxmind all'indirizzo [MaxMind Correct](https://support.maxmind.com/hc/en-us/articles/4408252036123-GeoIP-Correction) Geo Data. IP2 

   AWS WAF utilizza i codici alfa-2 per paese e regione dello standard 3166 dell'Organizzazione internazionale per la standardizzazione (ISO). Puoi trovare i codici nelle seguenti posizioni:
   + Sul sito web ISO, puoi cercare i codici dei paesi su [ISO Online Browsing Platform (OBP)](https://www.iso.org/obp/ui#home). 
   + Su Wikipedia, i codici dei paesi sono elencati in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2).

     I codici regionali di un paese sono elencati all'URL. `https://en.wikipedia.org/wiki/ISO_3166-2:<ISO country code>` [Ad esempio, le regioni degli Stati Uniti d'America sono [conformi alla norma ISO 3166-2:US e per l'Ucraina sono conformi alla norma ISO](https://en.wikipedia.org/wiki/ISO_3166-2:US) 3166-2:UA.](https://en.wikipedia.org/wiki/ISO_3166-2:UA)

1. **Determina l'etichetta del paese e l'etichetta della regione da aggiungere alla richiesta: le** etichette indicano se l'istruzione geo match utilizza l'IP di origine o una configurazione IP inoltrata.
   + **IP di origine** 

     L'etichetta del paese è`awswaf:clientip:geo:country:<ISO country code>`. Esempio per gli Stati Uniti d'America`awswaf:clientip:geo:country:US`:.

     L'etichetta della regione è`awswaf:clientip:geo:region:<ISO country code>-<ISO region code>`. Esempio per l'Oregon negli Stati Uniti d'America:. `awswaf:clientip:geo:region:US-OR`
   + **IP inoltrato** 

     L'etichetta del paese è. `awswaf:forwardedip:geo:country:<ISO country code>` Esempio per gli Stati Uniti d'America`awswaf:forwardedip:geo:country:US`:.

     L'etichetta della regione è`awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code>`. Esempio per l'Oregon negli Stati Uniti d'America:. `awswaf:forwardedip:geo:region:US-OR`

   Se il codice del paese o della regione non è disponibile per l'indirizzo IP specificato di una richiesta, AWS WAF utilizza `XX` nelle etichette, al posto del valore. Ad esempio, la seguente etichetta è per un IP client il cui prefisso internazionale non è disponibile: `awswaf:clientip:geo:country:XX` e la seguente è per un IP inoltrato il cui paese sono gli Stati Uniti d'America, ma il cui codice regionale non è disponibile:. `awswaf:forwardedip:geo:region:US-XX` 

1. **Valuta il codice del paese della richiesta in base ai criteri della regola** 

L'istruzione geo match aggiunge etichette di paesi e regioni a tutte le richieste che esamina, indipendentemente dal fatto che trovi o meno una corrispondenza. 

**Nota**  
AWS WAF aggiunge qualsiasi etichetta alla fine della valutazione della richiesta web di una regola. Per questo motivo, qualsiasi corrispondenza di etichette utilizzata rispetto alle etichette di un'istruzione geo match deve essere definita in una regola separata dalla regola che contiene l'istruzione geo match. 

Se desideri controllare solo i valori delle regioni, puoi scrivere una regola di corrispondenza geografica con Count azione e con una singola corrispondenza del codice del paese, seguita da una regola di corrispondenza delle etichette per le etichette delle regioni. È necessario fornire un codice del paese per la valutazione della regola di geo match, anche per questo approccio. Puoi ridurre la registrazione e contare le metriche specificando un paese che è molto improbabile che sia una fonte di traffico verso il tuo sito. 

## CloudFront distribuzioni e funzionalità di restrizione geografica CloudFront
<a name="cloudfront-distributions-geo-restriction"></a>

Per CloudFront le distribuzioni, se utilizzi la funzionalità di restrizione CloudFront geografica, tieni presente che la funzionalità non inoltra le richieste bloccate a. AWS WAF Inoltra le richieste consentite a. AWS WAF Se desideri bloccare le richieste in base alla geografia e ad altri criteri che puoi specificare AWS WAF, usa l'istruzione AWS WAF geo match e non utilizzare la funzione di restrizione CloudFront geografica. 

## Caratteristiche della dichiarazione delle regole
<a name="geo-match-statement-characteristics"></a>

**Nestable**: puoi annidare questo tipo di istruzione. 

**WCUs **— 1 WCU.

**Impostazioni**: questa dichiarazione utilizza le seguenti impostazioni: 
+ **Codici nazionali**: una serie di codici nazionali da confrontare per una corrispondenza geografica. Questi devono essere codici di paese a due caratteri tratti dai codici ISO alfa-2 dei paesi dello standard internazionale ISO 3166, ad esempio,. `["US","CN"]` 
+ **(Facoltativo) Configurazione IP inoltrata**: per impostazione predefinita, AWS WAF utilizza l'indirizzo IP nell'origine della richiesta Web per determinare il paese di origine. In alternativa, puoi configurare la regola per utilizzare un IP inoltrato in un'intestazione HTTP, come invece. `X-Forwarded-For` AWS WAF utilizza il primo indirizzo IP nell'intestazione. Con questa configurazione, si specifica anche un comportamento di fallback da applicare a una richiesta Web con un indirizzo IP non valido nell'intestazione. Il comportamento di fallback imposta il risultato corrispondente per la richiesta, in modo che corrisponda o non corrisponda. Per ulteriori informazioni, consulta [Utilizzo di indirizzi IP inoltrati](waf-rule-statement-forwarded-ip-address.md). 

## Dove trovare questa dichiarazione sulle regole
<a name="geo-match-statement-where-to-find"></a>
+ **Generatore di regole** sulla console: per **l'opzione Richiesta**, scegli **Proviene da un paese in**.
+ **API — [GeoMatchStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_GeoMatchStatement.html)**

## Esempi
<a name="waf-rule-statement-geo-examples"></a>

Puoi utilizzare l'istruzione geo match per gestire le richieste provenienti da paesi o regioni specifici. Ad esempio, se desideri bloccare le richieste provenienti da determinati paesi, ma consentire comunque le richieste provenienti da uno specifico set di indirizzi IP in tali paesi, puoi creare una regola con l'azione impostata su Block e le seguenti istruzioni annidate, mostrate in pseudocodice:
+ Dichiarazione AND
  + Istruzione di corrispondenza geografica che elenca i paesi che desideri bloccare
  + Dichiarazione NOT 
    + Istruzione del set di IP che specifica gli indirizzi IP che desideri consentire

Oppure, se desideri bloccare alcune regioni in determinati paesi, ma consentire comunque le richieste da altre regioni di quei paesi, puoi prima definire una regola di geo match con l'azione impostata su. Count Quindi, definisci una regola di corrispondenza delle etichette che corrisponda alle etichette di corrispondenza geografica aggiunte e gestisca le richieste in base alle tue esigenze. 

Il seguente pseudo codice descrive un esempio di questo approccio:

1. Dichiarazione Geo Match che elenca i paesi con regioni che desideri bloccare, ma con l'azione impostata su Count. Questa etichetta etichetta ogni richiesta web indipendentemente dallo stato della corrispondenza e fornisce anche le metriche di conteggio per i paesi di interesse. 

1. `AND`dichiarazione con azione di blocco
   + Dichiarazione Label Match che specifica le etichette per i paesi che desideri bloccare
   + Dichiarazione `NOT` 
     + Dichiarazione Label Match che specifica le etichette delle regioni dei paesi di cui desideri consentire l'accesso

Il seguente elenco JSON mostra un'implementazione delle due regole descritte nello pseudocodice precedente. Queste regole bloccano tutto il traffico proveniente dagli Stati Uniti d'America ad eccezione del traffico proveniente da Oregon e Washington. L'istruzione geo match aggiunge etichette di paesi e regioni a tutte le richieste che esamina. La regola label match segue la regola geo match, quindi può corrispondere alle etichette di paesi e regioni che la regola geo match ha appena aggiunto. L'istruzione geo match utilizza un indirizzo IP inoltrato, quindi l'etichetta matching specifica anche le etichette IP inoltrate. 

```
{
   "Name": "geoMatchForLabels",
   "Priority": 10,
   "Statement": {
     "GeoMatchStatement": {
       "CountryCodes": [
         "US"
       ],
       "ForwardedIPConfig": {
           "HeaderName": "X-Forwarded-For",
           "FallbackBehavior": "MATCH"
       }
     }
   },
   "Action": {
     "Count": {}
   },
   "VisibilityConfig": {
     "SampledRequestsEnabled": true,
     "CloudWatchMetricsEnabled": true,
     "MetricName": "geoMatchForLabels"
   }
},
{
   "Name": "blockUSButNotOROrWA",
   "Priority": 11,
   "Statement": {
     "AndStatement": {
       "Statements": [
         {
           "LabelMatchStatement": {
             "Scope": "LABEL",
             "Key": "awswaf:forwardedip:geo:country:US"
           }
         },
         {
           "NotStatement": {
             "Statement": {
                "OrStatement": {
                  "Statements": [
                    {
                       "LabelMatchStatement": {
                         "Scope": "LABEL",
                         "Key": "awswaf:forwardedip:geo:region:US-OR"
                       }
                    },
                    {
                       "LabelMatchStatement": {
                         "Scope": "LABEL",
                         "Key": "awswaf:forwardedip:geo:region:US-WA"
                       }
                    }
                 ]
               }
             }
           }
         }
       ]
     }
   },
   "Action": {
     "Block": {}
   },
   "VisibilityConfig": {
     "SampledRequestsEnabled": true,
     "CloudWatchMetricsEnabled": true,
     "MetricName": "blockUSButNotOROrWA"
   }
}
```

Come altro esempio, puoi combinare la corrispondenza geografica con regole basate sulla tariffa per dare priorità alle risorse per gli utenti di un particolare paese o regione. Crei un'istruzione basata sulla tariffa diversa per ogni dichiarazione geo match o label match che utilizzi per differenziare i tuoi utenti. Imposta un limite di tariffa più alto per gli utenti nel paese o nella regione preferiti e imposta un limite di tariffa più basso per gli altri utenti. 

Il seguente elenco JSON mostra una regola di geo match seguita da regole basate sulla tariffa che limitano la velocità di traffico proveniente dagli Stati Uniti d'America. Le regole consentono al traffico proveniente dall'Oregon di arrivare a un tasso più elevato rispetto al traffico proveniente da qualsiasi altra parte del paese. 

```
{
  "Name": "geoMatchForLabels",
  "Priority": 190,
  "Statement": {
    "GeoMatchStatement": {
      "CountryCodes": [
        "US"
      ]
    }
  },
  "Action": {
    "Count": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "geoMatchForLabels"
  }
},
{
  "Name": "rateLimitOregon",
  "Priority": 195,
  "Statement": {
    "RateBasedStatement": {
      "Limit": 3000,
      "AggregateKeyType": "IP",
      "ScopeDownStatement": {
        "LabelMatchStatement": {
          "Scope": "LABEL",
          "Key": "awswaf:clientip:geo:region:US-OR"
        }
      }
    }
  },
  "Action": {
    "Block": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "rateLimitOregon"
  }
},
{
  "Name": "rateLimitUSNotOR",
  "Priority": 200,
  "Statement": {
    "RateBasedStatement": {
      "Limit": 100,
      "AggregateKeyType": "IP",
      "ScopeDownStatement": {
        "AndStatement": {
          "Statements": [
            {
              "LabelMatchStatement": {
                "Scope": "LABEL",
                "Key": "awswaf:clientip:geo:country:US"
              }
            },
            {
              "NotStatement": {
                "Statement": {
                  "LabelMatchStatement": {
                    "Scope": "LABEL",
                    "Key": "awswaf:clientip:geo:region:US-OR"
                  }
                }
              }
            }
          ]
        }
      }
    }
  },
  "Action": {
    "Block": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "rateLimitUSNotOR"
  }
}
```

# Istruzione regola di corrispondenza set di IP
<a name="waf-rule-statement-type-ipset-match"></a>

Questa sezione spiega cos'è un'istruzione IP set match e come funziona.

L'istruzione IP set match controlla l'indirizzo IP di una richiesta Web rispetto a un insieme di indirizzi IP e intervalli di indirizzi. Utilizzare questa opzione per consentire o bloccare le richieste Web in base agli indirizzi IP da cui provengono le richieste. Per impostazione predefinita, AWS WAF utilizza l'indirizzo IP dell'origine della richiesta Web, ma è possibile configurare la regola in modo che utilizzi invece un'intestazione HTTP. `X-Forwarded-For` 



AWS WAF supporta tutti gli intervalli IPv4 e IPv6 CIDR tranne. `/0` Per ulteriori informazioni sulla notazione CIDR, consulta la voce [Classless Inter-Domain Routing](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) su Wikipedia. Un set di IP può contenere fino a 10.000 indirizzi IP o intervalli di indirizzi IP da controllare.

**Nota**  
Ogni regola di corrispondenza set di IP fa riferimento a un set di IP, creato e mantenuto indipendentemente dalle regole. È possibile utilizzare un singolo set IP in più regole e, quando si aggiorna il set di riferimento, AWS WAF vengono aggiornate automaticamente tutte le regole che vi fanno riferimento.   
Per informazioni sulla creazione e la gestione di un set IP, vedere[Creazione e gestione di un IP impostato in AWS WAF](waf-ip-set-managing.md).

Quando aggiungi o aggiorni le regole nel tuo gruppo di regole o nel Protection Pack (Web ACL), scegli l'opzione **IP set** e seleziona il nome del set IP che desideri utilizzare. 

## Caratteristiche della dichiarazione delle regole
<a name="ipset-match-characteristics"></a>

**Nestable**: puoi annidare questo tipo di istruzione. 

**WCUs**— 1 WCU per la maggior parte. Se si configura l'istruzione per utilizzare gli indirizzi IP inoltrati e si specifica una posizione diANY, aumentare l'utilizzo della WCU di 4.

Questa istruzione utilizza le seguenti impostazioni: 
+ **Specifiche del set IP**: scegli il set IP che desideri utilizzare dall'elenco o creane uno nuovo. 
+ **(Facoltativo) Configurazione IP inoltrata**: un nome di intestazione IP inoltrato alternativo da utilizzare al posto dell'origine della richiesta. Specificate se corrispondere al primo, all'ultimo o a qualsiasi altro indirizzo nell'intestazione. È inoltre necessario specificare un comportamento di fallback da applicare a una richiesta Web con un indirizzo IP non valido nell'intestazione specificata. Il comportamento di fallback imposta il risultato corrispondente per la richiesta, in modo che corrisponda o non corrisponda. Per ulteriori informazioni, consulta [Utilizzo di indirizzi IP inoltrati](waf-rule-statement-forwarded-ip-address.md). 

## Dove trovare questa dichiarazione sulle regole
<a name="ipset-match-where-to-find"></a>

**Dove trovare questa dichiarazione di regole**
+ **Generatore di regole** sulla console: per **l'opzione Richiesta**, scegli **Origini da un indirizzo IP** in.
+ **Aggiungi la mia pagina di regole e gruppi** di regole sulla console: scegli l'opzione **IP set**.
+ **API** — [IPSetReferenceStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_IPSetReferenceStatement.html)

# Dichiarazione della regola di corrispondenza dei numeri di sistema autonomi (ASN)
<a name="waf-rule-statement-type-asn-match"></a>

Un'istruzione ASN match rule AWS WAF consente di ispezionare il traffico web in base all'Autonomous System Number (ASN) associato all'indirizzo IP della richiesta. ASNs sono identificatori univoci assegnati a reti Internet di grandi dimensioni gestite da organizzazioni quali provider di servizi Internet, imprese, università o agenzie governative. Utilizzando le istruzioni ASN Match, è possibile consentire o bloccare il traffico proveniente da organizzazioni di rete specifiche senza dover gestire singoli indirizzi IP. Questo approccio offre un modo più stabile ed efficiente per controllare l'accesso rispetto alle regole basate su IP, poiché le modifiche vengono ASNs modificate meno frequentemente rispetto agli intervalli IP. 

La corrispondenza ASN è particolarmente utile in scenari come bloccare il traffico proveniente da reti problematiche note o consentire l'accesso solo da reti di partner affidabili. L'istruzione ASN match offre flessibilità nella determinazione dell'indirizzo IP del client tramite una configurazione IP inoltrata opzionale, rendendola compatibile con varie configurazioni di rete, comprese quelle che utilizzano reti di distribuzione dei contenuti () o proxy inversi. CDNs

**Nota**  
ASN Matching integra, ma non sostituisce, i controlli standard di autenticazione e autorizzazione. Ti consigliamo di implementare meccanismi di autenticazione e autorizzazione, come IAM, per verificare l'identità di tutte le richieste nelle tue applicazioni.

## Come funziona l'istruzione ASN Match
<a name="waf-rule-statement-type-asn-match-how-it-works"></a>

AWS WAF determina l'ASN di una richiesta in base al relativo indirizzo IP. Per impostazione predefinita, AWS WAF utilizza l'indirizzo IP dell'origine della richiesta Web. È possibile AWS WAF configurare l'utilizzo di un indirizzo IP da un'intestazione di richiesta alternativa, ad esempio `X-Forwarded-For` abilitando la configurazione IP inoltrata nelle impostazioni della dichiarazione delle regole.

L'istruzione ASN match confronta l'ASN della richiesta con l'elenco specificato nella regola. ASNs Se l'ASN corrisponde a uno nell'elenco, l'istruzione restituisce true e viene applicata l'azione associata alla regola.

### Gestione non mappata ASNs
<a name="waf-rule-statement-type-asn-match-unmapped"></a>

Se AWS WAF non riesce a determinare un ASN per un indirizzo IP valido, assegna ASN 0. Puoi includere ASN 0 nella tua regola per gestire questi casi in modo esplicito.

### Comportamento di riserva per indirizzi IP non validi
<a name="waf-rule-statement-type-asn-match-fallback"></a>

Quando configuri l'istruzione ASN Match per utilizzare gli indirizzi IP inoltrati, puoi specificare un comportamento di fallback di *Match o *No match** per le richieste con indirizzi IP non validi o mancanti nell'intestazione designata.

## Caratteristiche della dichiarazione delle regole
<a name="waf-rule-statement-type-asn-match-characteristics"></a>

**Nestable**: puoi annidare questo tipo di istruzione. 

**WCUs**— 1 WCU

Questa dichiarazione utilizza le seguenti impostazioni:
+ **Elenco ASN**: una matrice di numeri ASN da confrontare per una corrispondenza ASN. I valori validi sono compresi tra 0 e 4294967295. È possibile specificare fino a 100 ASNs per ogni regola.
+ **(Facoltativo) Configurazione IP inoltrata**: per impostazione predefinita, AWS WAF utilizza l'indirizzo IP nell'origine della richiesta Web per determinare l'ASN. In alternativa, puoi configurare la regola per utilizzare un IP inoltrato in un'intestazione HTTP come invece. `X-Forwarded-For` Specificate se utilizzare il primo, l'ultimo o qualsiasi indirizzo nell'intestazione. Con questa configurazione, specificate anche un comportamento di fallback da applicare a una richiesta web con un indirizzo IP non valido nell'intestazione. Il comportamento di fallback imposta il risultato corrispondente per la richiesta, in modo che corrisponda o non corrisponda. Per ulteriori informazioni, vedere [Utilizzo degli indirizzi IP inoltrati.](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-forwarded-ip-address.html)

## Dove trovare questa dichiarazione sulle regole
<a name="waf-rule-statement-type-asn-match-where-to-find"></a>
+ **Generatore di regole** sulla console: per l'**opzione Request**, scegli **Origines from ASN** in.
+ **API — [AsnMatchStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_AsnMatchStatement.html)**

## Esempi
<a name="waf-rule-statement-type-asn-match-examples"></a>

Questo esempio blocca le richieste provenienti da due specifiche ASNs derivate da un'`X-Forwarded-For`intestazione. Se l'indirizzo IP nell'intestazione non è corretto, il comportamento di fallback configurato è. `NO_MATCH`

```
{
  "Action": {
    "Block": {}
  },
  "Name": "AsnMatchStatementRule",
  "Priority": 1,
  "Statement": {
    "AsnMatchStatement": {
      "AsnList": [64496, 64500]
    },
    "ForwardedIPConfig": {
      "FallbackBehavior": "NO_MATCH",
      "HeaderName": "X-Forwarded-For"
    }
  },
  "VisibilityConfig": {
    "CloudWatchMetricsEnabled": true,
    "MetricName": "AsnMatchRuleMetrics",
    "SampledRequestsEnabled": true
  }
},
"VisibilityConfig": {
  "CloudWatchMetricsEnabled": true,
  "MetricName": "WebAclMetrics",
  "SampledRequestsEnabled": true
}
}
```

# Dichiarazione della regola di corrispondenza delle etichette
<a name="waf-rule-statement-type-label-match"></a>

Questa sezione spiega cos'è un'istruzione label match e come funziona.

L'istruzione label match controlla le etichette presenti sulla richiesta Web rispetto a una specifica di stringa. Le etichette disponibili per l'ispezione di una regola sono quelle che sono già state aggiunte alla richiesta Web da altre regole incluse nella stessa valutazione del Protection Pack (Web ACL). 

Le etichette non persistono al di fuori della valutazione del Protection Pack (Web ACL), ma è possibile accedere alle metriche delle etichette CloudWatch e visualizzare i riepiloghi delle informazioni sulle etichette per qualsiasi Protection Pack (Web ACL) nella console. AWS WAF Per ulteriori informazioni, consultare [Metriche e dimensioni delle etichette](waf-metrics.md#waf-metrics-label) e [Monitoraggio e ottimizzazione delle protezioni AWS WAF](web-acl-testing-activities.md). È inoltre possibile visualizzare le etichette nei log. Per informazioni, consulta [Campi di registro per il traffico del Protection Pack (Web ACL)](logging-fields.md).

**Nota**  
Un'istruzione label match può visualizzare solo le etichette delle regole valutate in precedenza nel Protection Pack (Web ACL). Per informazioni su come AWS WAF valuta le regole e i gruppi di regole in un protection pack (Web ACL), vedere. [Impostazione della priorità delle regole](web-acl-processing-order.md)

Per ulteriori informazioni sull'aggiunta e la corrispondenza delle etichette, vedere. [Etichettatura delle richieste Web in AWS WAF](waf-labels.md)

## Caratteristiche della dichiarazione delle regole
<a name="label-match-characteristics"></a>

**Nestable**: puoi annidare questo tipo di istruzione. 

**WCUs**— 1 WCU

Questa dichiarazione utilizza le seguenti impostazioni: 
+ **Ambito di corrispondenza**: impostalo su **Label** in modo che corrisponda al nome dell'etichetta e, facoltativamente, ai namespace e al prefisso precedenti. Impostalo su **Namespace** in modo che corrisponda ad alcune o tutte le specifiche del namespace e, facoltativamente, al prefisso precedente. 
+ **Chiave: la** stringa con cui vuoi confrontare. Se specificate un ambito di corrispondenza dello spazio dei nomi, questo dovrebbe specificare solo gli spazi dei nomi e, facoltativamente, il prefisso, con i due punti finali. Se si specifica un ambito di corrispondenza dell'etichetta, questo deve includere il nome dell'etichetta e, facoltativamente, i namespace e il prefisso precedenti. 

Per informazioni su queste impostazioni, consulta [AWS WAF regole che corrispondono alle etichette](waf-rule-label-match.md) e [AWS WAF esempi di abbinamento delle etichette](waf-rule-label-match-examples.md).

## Dove trovare questa dichiarazione sulla regola
<a name="label-match-where-to-find"></a>
+ **Generatore di regole** sulla console: per l'**opzione Request**, scegli **Ha etichetta**.
+ **API**: [LabelMatchStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_LabelMatchStatement.html)

# Dichiarazione della regola Regex Match
<a name="waf-rule-statement-type-regex-match"></a>

Questa sezione spiega cos'è un'istruzione regex match e come funziona.

Un'istruzione regex match indica di abbinare un componente di richiesta AWS WAF a una singola espressione regolare (regex). Una richiesta web corrisponde all'istruzione se il componente della richiesta corrisponde all'espressione regolare specificata. 

Questo tipo di istruzione è una buona alternativa alle [Istruzione regola di corrispondenza del set del modello regex](waf-rule-statement-type-regex-pattern-set-match.md) situazioni in cui si desidera combinare i criteri di corrispondenza utilizzando la logica matematica. Ad esempio, se desideri che un componente di richiesta corrisponda ad alcuni modelli regex e non corrisponda ad altri, puoi combinare le istruzioni regex match utilizzando and the[ANDdichiarazione delle regole](waf-rule-statement-type-and.md). [NOTdichiarazione delle regole](waf-rule-statement-type-not.md) 

AWS WAF supporta la sintassi del pattern utilizzata dalla libreria `libpcre` PCRE con alcune eccezioni. La libreria è documentata in [PCRE -](http://www.pcre.org/) Perl Compatible Regular Expressions. Per informazioni sul AWS WAF supporto, vedere. [Sintassi delle espressioni regolari supportata in AWS WAF](waf-regex-pattern-support.md)

## Caratteristiche della dichiarazione delle regole
<a name="regex-match-characteristics"></a>

**Nestable**: puoi annidare questo tipo di istruzione. 

**WCUs**— 3 WCUs, come costo base. Se si utilizza il componente di richiesta **Tutti i parametri di interrogazione**, aggiungere 10 WCUs. Se utilizzi il **corpo JSON** del componente di richiesta, raddoppia il costo WCUs base. Per ogni **trasformazione di testo** che applichi, aggiungi 10 WCUs.

Questo tipo di istruzione funziona su un componente di richiesta Web e richiede le seguenti impostazioni del componente di richiesta: 
+ **Componente di richiesta**: la parte della richiesta Web per ispezionare, ad esempio, una stringa di query o il corpo.
**avvertimento**  
Se ispezionate i componenti della richiesta **Body**, **JSON body**, **Headers** o **Cookies**, leggete le limitazioni relative alla quantità di contenuto AWS WAF che può essere ispezionata. [Componenti di richiesta Web di grandi dimensioni in AWS WAF](waf-oversize-request-components.md) 

  Per informazioni sui componenti della richiesta Web, consulta. [Regolazione delle impostazioni delle istruzioni delle regole in AWS WAF](waf-rule-statement-fields.md)
+ **Trasformazioni di testo opzionali**: trasformazioni che si desidera AWS WAF eseguire sul componente della richiesta prima di esaminarlo. Ad esempio, potete trasformare in lettere minuscole o normalizzare lo spazio bianco. Se specificate più di una trasformazione, le AWS WAF elabora nell'ordine elencato. Per informazioni, consulta [Utilizzo delle trasformazioni di testo in AWS WAF](waf-rule-statement-transformation.md).

## Dove trovare questa dichiarazione di regole
<a name="regex-match-where-to-find"></a>
+ **Generatore di regole** sulla console: per il **tipo Match**, scegli **l'espressione regolare Matches**.
+ **API**: [RegexMatchStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_RegexMatchStatement.html)

# Istruzione regola di corrispondenza del set del modello regex
<a name="waf-rule-statement-type-regex-pattern-set-match"></a>

Questa sezione spiega cos'è un'istruzione regex pattern set match e come funziona.

La corrispondenza del set del modello regex controlla la parte della richiesta Web specificata per i modelli di espressioni regolari specificati all'interno di un set del modello regex.

AWS WAF supporta la sintassi del pattern utilizzata dalla libreria PCRE `libpcre` con alcune eccezioni. La libreria è documentata in [PCRE -](http://www.pcre.org/) Perl Compatible Regular Expressions. Per informazioni sul AWS WAF supporto, vedere. [Sintassi delle espressioni regolari supportata in AWS WAF](waf-regex-pattern-support.md)

**Nota**  
Ogni regola di corrispondenza del set del modello regex fa riferimento a un set del modello regex, che viene creato e mantenuto indipendentemente dalle regole. È possibile utilizzare un singolo pattern regex impostato in più regole e, quando si aggiorna il set di riferimento, AWS WAF vengono aggiornate automaticamente tutte le regole che vi fanno riferimento.   
Per informazioni sulla creazione e la gestione di un set del modello regex, consulta [Creazione e gestione di un pattern regex impostato in AWS WAF](waf-regex-pattern-set-managing.md).

Un'istruzione regex pattern set match indica di AWS WAF cercare uno qualsiasi dei modelli nel set all'interno del componente di richiesta scelto. Una richiesta Web corrisponderà all'istruzione regola del set del modello se il componente della richiesta corrisponde a uno qualsiasi dei modelli nel set. 

Se desideri combinare le corrispondenze dei tuoi pattern regex usando la logica, ad esempio per abbinarle ad alcune espressioni regolari e non ad altre, prendi in considerazione l'utilizzo. [Dichiarazione della regola Regex Match](waf-rule-statement-type-regex-match.md) 

## Caratteristiche della dichiarazione delle regole
<a name="regex-pattern-set-match-characteristics"></a>

**Nestable**: puoi annidare questo tipo di istruzione. 

**WCUs**— 25 WCUs, come costo base. Se si utilizza il componente di richiesta **Tutti i parametri di interrogazione**, aggiungere 10 WCUs. Se utilizzi il **corpo JSON** del componente di richiesta, raddoppia il costo WCUs base. Per ogni **trasformazione di testo** che applichi, aggiungi 10 WCUs.

Questo tipo di istruzione funziona su un componente di richiesta Web e richiede le seguenti impostazioni del componente di richiesta: 
+ **Componente di richiesta**: la parte della richiesta Web per ispezionare, ad esempio, una stringa di query o il corpo.
**avvertimento**  
Se ispezionate i componenti della richiesta **Body**, **JSON body**, **Headers** o **Cookies**, leggete le limitazioni relative alla quantità di contenuto AWS WAF che può essere ispezionata. [Componenti di richiesta Web di grandi dimensioni in AWS WAF](waf-oversize-request-components.md) 

  Per informazioni sui componenti della richiesta Web, consulta. [Regolazione delle impostazioni delle istruzioni delle regole in AWS WAF](waf-rule-statement-fields.md)
+ **Trasformazioni di testo opzionali**: trasformazioni che si desidera AWS WAF eseguire sul componente della richiesta prima di esaminarlo. Ad esempio, potete trasformare in lettere minuscole o normalizzare lo spazio bianco. Se specificate più di una trasformazione, le AWS WAF elabora nell'ordine elencato. Per informazioni, consulta [Utilizzo delle trasformazioni di testo in AWS WAF](waf-rule-statement-transformation.md).

Questa istruzione richiede le seguenti impostazioni: 
+ Specificazione del set di pattern Regex: scegli il set di pattern regex che desideri utilizzare dall'elenco o creane uno nuovo. 

## Dove trovare questa dichiarazione di regole
<a name="regex-pattern-set-match-where-to-find"></a>
+ **Generatore di regole** sulla console: per il **tipo Match**, scegli **String match condition** > **Matches pattern dal set di espressioni regolari**.
+ **API** — [RegexPatternSetReferenceStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_RegexPatternSetReferenceStatement.html)

# Istruzione regola vincolo di dimensioni
<a name="waf-rule-statement-type-size-constraint-match"></a>

Questa sezione spiega cos'è una dichiarazione di vincolo di dimensione e come funziona.

Un'istruzione con vincolo di dimensione confronta il numero di byte AWS WAF ricevuto per un componente di richiesta Web con un numero fornito dall'utente e corrisponde in base ai criteri di confronto. 

Il criterio di confronto è un operatore come maggiore di (>) o minore di (<). Ad esempio, è possibile eseguire la corrispondenza su richieste che contengono una stringa di query con una dimensione superiore a 100 byte. 

Se controllate il percorso URI, qualsiasi elemento `/` nel percorso conta come un carattere. Ad esempio, il percorso URI `/logo.jpg` è lungo nove caratteri.

**Nota**  
Questa istruzione controlla solo la dimensione del componente di richiesta web. Non ispeziona il contenuto del componente. 

## Caratteristiche della dichiarazione delle regole
<a name="size-constraint-match-characteristics"></a>

**Nestable**: puoi annidare questo tipo di istruzione. 

**WCUs**— 1 WCU, come costo base. Se si utilizza il componente di richiesta **Tutti i parametri di interrogazione**, aggiungere 10. WCUs Se utilizzi il **corpo JSON** del componente di richiesta, raddoppia il costo WCUs base. Per ogni **trasformazione di testo** che applichi, aggiungi 10 WCUs.

Questo tipo di istruzione funziona su un componente di richiesta Web e richiede le seguenti impostazioni del componente di richiesta: 
+ **Componente di richiesta**: la parte della richiesta Web per ispezionare, ad esempio, una stringa di query o il corpo. Per informazioni sui componenti della richiesta Web, vedere[Regolazione delle impostazioni delle istruzioni delle regole in AWS WAF](waf-rule-statement-fields.md).

  Una dichiarazione di vincolo di dimensione controlla solo la dimensione del componente dopo l'applicazione di eventuali trasformazioni. Non ispeziona il contenuto del componente. 
+ **Trasformazioni di testo opzionali**: trasformazioni che si desidera AWS WAF eseguire sul componente richiesto prima di controllarne le dimensioni. Ad esempio, potete comprimere gli spazi bianchi o decodificare le entità HTML. Se specificate più di una trasformazione, le AWS WAF elabora nell'ordine elencato. Per informazioni, consulta [Utilizzo delle trasformazioni di testo in AWS WAF](waf-rule-statement-transformation.md).

Inoltre, questa istruzione richiede le seguenti impostazioni: 
+ **Condizione di corrispondenza delle dimensioni**: indica l'operatore di confronto numerico da utilizzare per confrontare la dimensione fornita con il componente di richiesta che hai scelto. Scegli l'operatore dall'elenco.
+ **Dimensione**: l'impostazione della dimensione, in byte, da utilizzare nel confronto. 

## Dove trovare questa dichiarazione sulle regole
<a name="size-constraint-match-where-to-find"></a>
+ **Generatore di regole** sulla console: per il **tipo Match**, **nella condizione Size match**, scegli la condizione che desideri utilizzare.
+ **API**: [SizeConstraintStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_SizeConstraintStatement.html)

# Istruzione regola attacco SQL Injection
<a name="waf-rule-statement-type-sqli-match"></a>

Questa sezione spiega cos'è un'istruzione di regole di iniezione SQL e come funziona.

Un'istruzione di regole di iniezione SQL verifica la presenza di codice SQL dannoso. Gli aggressori inseriscono codice SQL dannoso nelle richieste Web per eseguire operazioni come modificare il database o estrarre dati da esso.

## Caratteristiche della dichiarazione delle regole
<a name="sqli-match-characteristics"></a>

**Nestable**: puoi annidare questo tipo di istruzione. 

**WCUs**— Il costo base dipende dall'impostazione del livello di sensibilità per l'istruzione della regola: Low costa 20 e High costa 30. 

Se si utilizza il componente di richiesta **Tutti i parametri di interrogazione**, aggiungere 10 WCUs. Se utilizzi il **corpo JSON** del componente di richiesta, raddoppia il costo WCUs base. Per ogni **trasformazione di testo** che applichi, aggiungi 10 WCUs.

Questo tipo di istruzione funziona su un componente di richiesta Web e richiede le seguenti impostazioni del componente di richiesta: 
+ **Componente di richiesta**: la parte della richiesta Web per ispezionare, ad esempio, una stringa di query o il corpo.
**avvertimento**  
Se ispezionate i componenti della richiesta **Body**, **JSON body**, **Headers** o **Cookies**, leggete le limitazioni relative alla quantità di contenuto AWS WAF che può essere ispezionata. [Componenti di richiesta Web di grandi dimensioni in AWS WAF](waf-oversize-request-components.md) 

  Per informazioni sui componenti della richiesta Web, consulta. [Regolazione delle impostazioni delle istruzioni delle regole in AWS WAF](waf-rule-statement-fields.md)
+ **Trasformazioni di testo opzionali**: trasformazioni che si desidera AWS WAF eseguire sul componente della richiesta prima di esaminarlo. Ad esempio, potete trasformare in lettere minuscole o normalizzare lo spazio bianco. Se specificate più di una trasformazione, le AWS WAF elabora nell'ordine elencato. Per informazioni, consulta [Utilizzo delle trasformazioni di testo in AWS WAF](waf-rule-statement-transformation.md).

Inoltre, questa dichiarazione richiede la seguente impostazione: 
+ **Livello di sensibilità**: questa impostazione regola la sensibilità dei criteri di corrispondenza dell'iniezione SQL. Le opzioni sono LOW e HIGH. L'impostazione predefinita è LOW. 

  L'HIGHimpostazione rileva più attacchi di SQL injection ed è l'impostazione consigliata. A causa della maggiore sensibilità, questa impostazione genera un numero maggiore di falsi positivi, soprattutto se le richieste Web contengono in genere stringhe insolite. Durante il test e l'ottimizzazione del Protection Pack (Web ACL), potrebbe essere necessario lavorare di più per mitigare i falsi positivi. Per informazioni, consulta [Test e ottimizzazione delle protezioni AWS WAF](web-acl-testing.md). 

  L'impostazione inferiore fornisce un rilevamento delle SQL injection meno rigoroso, che comporta anche un minor numero di falsi positivi. LOWpuò essere una scelta migliore per le risorse che dispongono di altre protezioni contro gli attacchi di SQL injection o che hanno una bassa tolleranza per i falsi positivi. 

## Dove trovare questa dichiarazione di regole
<a name="sqli-match-where-to-find"></a>
+ **Generatore di regole** sulla console: per il **tipo Match**, scegli **Attack match condition** > **Contiene attacchi SQL injection**.
+ **API** — [SqliMatchStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_SqliMatchStatement.html)

# Istruzione regola di corrispondenza stringa
<a name="waf-rule-statement-type-string-match"></a>

Questa sezione spiega cos'è un'istruzione string match e come funziona.

Un'istruzione String Match indica la stringa che si AWS WAF desidera cercare in una richiesta, la posizione della richiesta in cui effettuare la ricerca e come. Ad esempio, puoi cercare una stringa specifica all'inizio di qualsiasi stringa di query nella richiesta o come una corrispondenza esatta per l'intestazione `User-agent` della richiesta. In genere, la stringa è costituita da caratteri ASCII stampabili, ma puoi utilizzare qualsiasi carattere esadecimale da 0x00 a 0xFF (decimale da 0 a 255). 

## Caratteristiche della dichiarazione delle regole
<a name="string-match-characteristics"></a>

**Nestable**: puoi annidare questo tipo di istruzione. 

**WCUs**— Il costo base dipende dal tipo di fiammifero utilizzato.
+ **Corrisponde esattamente alla stringa** — 2 
+ **Inizia con string** — 2 
+ **Termina con una stringa** — 2 
+ **Contiene una stringa** — 10 
+ **Contiene la parola** — 10 

Se si utilizza il componente di richiesta **Tutti i parametri di interrogazione**, aggiungere 10 WCUs. Se utilizzi il **corpo JSON** del componente di richiesta, raddoppia il costo WCUs base. Per ogni **trasformazione di testo** che applichi, aggiungi 10 WCUs.

Questo tipo di istruzione funziona su un componente di richiesta Web e richiede le seguenti impostazioni del componente di richiesta: 
+ **Componente di richiesta**: la parte della richiesta Web per ispezionare, ad esempio, una stringa di query o il corpo.
**avvertimento**  
Se ispezionate i componenti della richiesta **Body**, **JSON body**, **Headers** o **Cookies**, leggete le limitazioni relative alla quantità di contenuto AWS WAF che può essere ispezionata. [Componenti di richiesta Web di grandi dimensioni in AWS WAF](waf-oversize-request-components.md) 

  Per informazioni sui componenti della richiesta Web, consulta. [Regolazione delle impostazioni delle istruzioni delle regole in AWS WAF](waf-rule-statement-fields.md)
+ **Trasformazioni di testo opzionali**: trasformazioni che si desidera AWS WAF eseguire sul componente della richiesta prima di esaminarlo. Ad esempio, potete trasformare in lettere minuscole o normalizzare lo spazio bianco. Se specificate più di una trasformazione, le AWS WAF elabora nell'ordine elencato. Per informazioni, consulta [Utilizzo delle trasformazioni di testo in AWS WAF](waf-rule-statement-transformation.md).

Inoltre, questa istruzione richiede le seguenti impostazioni: 
+ **Stringa da abbinare**: questa è la stringa che AWS WAF desideri confrontare con il componente di richiesta specificato. In genere, la stringa è costituita da caratteri ASCII stampabili, ma puoi utilizzare qualsiasi carattere esadecimale da 0x00 a 0xFF (decimale da 0 a 255).
+ **Condizione di corrispondenza della stringa**: indica il tipo di ricerca che si AWS WAF desidera eseguire. 
  + **Corrisponde esattamente alla stringa**: la stringa e il valore del componente di richiesta sono identici.
  + **Inizia con una stringa**: la stringa viene visualizzata all'inizio del componente di richiesta. 
  + **Termina con una stringa**: la stringa viene visualizzata alla fine del componente di richiesta. 
  + **Contiene una stringa**: la stringa viene visualizzata in qualsiasi punto del componente della richiesta. 
  + **Contiene una parola**: la stringa specificata deve apparire nel componente di richiesta. 

    Per questa opzione, le stringhe specificate devono contenere solo caratteri alfanumerici o di sottolineatura (A-Z, a-z, 0-9 o \$1). 

    Una delle seguenti condizioni deve essere vera perché la richiesta corrisponda: 
    + La stringa corrisponde esattamente al valore del componente di richiesta, ad esempio il valore di un'intestazione.
    + La stringa si trova all'inizio del componente di richiesta ed è seguita da un carattere diverso da un carattere alfanumerico o un carattere di sottolineatura (\$1), ad esempio, `BadBot;`.
    + La stringa si trova al termine del componente di richiesta ed è preceduta da un carattere diverso da un carattere alfanumerico o un carattere di sottolineatura (\$1), ad esempio, `;BadBot`.
    + La stringa si trova al centro del componente di richiesta ed è preceduta e seguita da caratteri diversi da caratteri alfanumerici o caratteri di sottolineatura (\$1), ad esempio, `-BadBot;`.

## Dove trovare questa dichiarazione sulla regola
<a name="string-match-where-to-find"></a>
+ **Generatore di regole** sulla console: per il **tipo di partita**, scegli **String match condition**, quindi inserisci le stringhe con cui vuoi abbinare.
+ **API: [ByteMatchStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_ByteMatchStatement.html)**

# Istruzione regola di attacco di Cross-site scripting
<a name="waf-rule-statement-type-xss-match"></a>

Questa sezione spiega cos'è un'istruzione di attacco XSS (cross-site scripting) e come funziona.

Un'istruzione di attacco XSS verifica la presenza di script dannosi in un componente di richiesta Web. In un attacco XSS, l'aggressore sfrutta le vulnerabilità di un sito Web innocuo come veicolo per iniettare script dannosi del sito client in altri browser Web legittimi. 

## Caratteristiche della dichiarazione delle regole
<a name="xss-match-characteristics"></a>

**Nestable**: puoi annidare questo tipo di istruzione. 

**WCUs**— 40 WCUs, come costo base. Se si utilizza il componente di richiesta **Tutti i parametri di interrogazione**, aggiungere 10 WCUs. Se utilizzi il **corpo JSON** del componente di richiesta, raddoppia il costo WCUs base. Per ogni **trasformazione di testo** che applichi, aggiungi 10 WCUs.

Questo tipo di istruzione funziona su un componente di richiesta Web e richiede le seguenti impostazioni del componente di richiesta: 
+ **Componente di richiesta**: la parte della richiesta Web per ispezionare, ad esempio, una stringa di query o il corpo.
**avvertimento**  
Se ispezionate i componenti della richiesta **Body**, **JSON body**, **Headers** o **Cookies**, leggete le limitazioni relative alla quantità di contenuto AWS WAF che può essere ispezionata. [Componenti di richiesta Web di grandi dimensioni in AWS WAF](waf-oversize-request-components.md) 

  Per informazioni sui componenti della richiesta Web, consulta. [Regolazione delle impostazioni delle istruzioni delle regole in AWS WAF](waf-rule-statement-fields.md)
+ **Trasformazioni di testo opzionali**: trasformazioni che si desidera AWS WAF eseguire sul componente della richiesta prima di esaminarlo. Ad esempio, potete trasformare in lettere minuscole o normalizzare lo spazio bianco. Se specificate più di una trasformazione, le AWS WAF elabora nell'ordine elencato. Per informazioni, consulta [Utilizzo delle trasformazioni di testo in AWS WAF](waf-rule-statement-transformation.md).

## Dove trovare questa dichiarazione di regole
<a name="xss-match-where-to-find"></a>
+ **Generatore di regole** sulla console: per il **tipo Match**, scegli **Attack match condition** > **Contiene attacchi di iniezione XSS**.
+ **API — [XssMatchStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_XssMatchStatement.html)**

# Utilizzo di istruzioni di regole logiche in AWS WAF
<a name="waf-rule-statements-logical"></a>

Questa sezione spiega cos'è un'istruzione di regole logiche e come funziona.

Utilizza le istruzioni delle regole logiche per combinare altre istruzioni o annullarne i risultati. Ogni istruzione regola logica accetta almeno un'istruzione nidificata.

Per combinare o negare logicamente i risultati delle istruzioni delle regole, le istruzioni vengono annidate sotto istruzioni di regole logiche. 

Le istruzioni con regole logiche sono annidabili. È possibile inserirle all'interno di altre istruzioni di regole logiche e utilizzarle in istruzioni di tipo scope-down. Per informazioni sulle istruzioni scope-down, vedere. [Utilizzo di istruzioni scope-down in AWS WAF](waf-rule-scope-down-statements.md)

**Nota**  
L'editor visivo sulla console supporta un livello di nidificazione delle istruzioni regola, che funziona per molte esigenze. Per annidare più livelli, modifica la rappresentazione JSON della regola sulla console o usa. APIs 

Questa tabella descrive le istruzioni delle regole logiche e fornisce linee guida per il calcolo dell'utilizzo delle unità di capacità (WCU) del Protection Pack (Web ACL) per ciascuna di esse. Per informazioni su, vedere. WCUs [Unità di capacità Web ACL (WCUs) in AWS WAF](aws-waf-capacity-units.md) 


| Istruzione logica  | Description | WCUs | 
| --- | --- | --- | 
| [Logica AND](waf-rule-statement-type-and.md) | Combina istruzioni annidate con la AND logica. | Basata su istruzioni nidificate | 
|  [Logica NOT](waf-rule-statement-type-not.md)  |  Nega i risultati di un'istruzione nidificata.  |  Basata su istruzione nidificata  | 
| [Logica OR](waf-rule-statement-type-or.md) | Combina le istruzioni annidate con OR la logica. | Basata su istruzioni nidificate | 

# ANDdichiarazione delle regole
<a name="waf-rule-statement-type-and"></a>

L'istruzione della AND regola combina le istruzioni annidate con un'ANDoperazione logica, quindi tutte le istruzioni annidate devono corrispondere affinché l'ANDistruzione corrisponda. Ciò richiede almeno due istruzioni annidate. 

## Caratteristiche della dichiarazione delle regole
<a name="and-rule-statement-characteristics"></a>

**Nestable**: puoi annidare questo tipo di istruzione. 

**WCUs**— Dipende dalle istruzioni annidate.

## Dove trovare questa dichiarazione di regole
<a name="and-rule-statement-where-to-find"></a>
+ **Generatore di regole** sulla console: per **Se una richiesta**, scegli **corrisponde a tutte le istruzioni (AND)**, quindi compila le istruzioni annidate. 
+ **API — [AndStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_AndStatement.html)**

## Esempi
<a name="and-rule-statement-examples"></a>

L'elenco seguente mostra l'uso di istruzioni di regole AND NOT logiche per eliminare i falsi positivi dalle corrispondenze di un'istruzione di attacco SQL injection. Per questo esempio, supponiamo di poter scrivere un'istruzione di corrispondenza a byte singolo per soddisfare le richieste che generano falsi positivi. 

L'istruzione AND corrisponde alle richieste che non corrispondono all'istruzione byte match e che corrispondono all'istruzione di attacco SQL injection. 

```
{
      "Name": "SQLiExcludeFalsePositives",
      "Priority": 0,
      "Statement": {
        "AndStatement": {
          "Statements": [
            {
              "NotStatement": {
                "Statement": {
                  "ByteMatchStatement": {
                    "SearchString": "string identifying a false positive",
                    "FieldToMatch": {
                      "Body": {
                        "OversizeHandling": "MATCH"
                      }
                    },
                    "TextTransformations": [
                      {
                        "Priority": 0,
                        "Type": "NONE"
                      }
                    ],
                    "PositionalConstraint": "CONTAINS"
                  }
                }
              }
            },
            {
              "SqliMatchStatement": {
                "FieldToMatch": {
                  "Body": {
                    "OversizeHandling": "MATCH"
                  }
                },
                "TextTransformations": [
                  {
                    "Priority": 0,
                    "Type": "NONE"
                  }
                ]
              }
            }
          ]
        }
      },
      "Action": {
        "Block": {}
      },
      "VisibilityConfig": {
        "SampledRequestsEnabled": true,
        "CloudWatchMetricsEnabled": true,
        "MetricName": "SQLiExcludeFalsePositives"
      }
    }
```

Utilizzando l'editor visivo delle regole della console, è possibile annidare un'istruzione non logica o un'NOTistruzione sotto un'istruzione OR orAND. L'annidamento dell'NOTistruzione è illustrato nell'esempio precedente. 

Utilizzando l'editor visivo delle regole della console, è possibile annidare la maggior parte delle istruzioni nestable in un'istruzione di regole logiche, come quella mostrata nell'esempio precedente. Non è possibile utilizzare l'editor visivo per nidificare OR le AND istruzioni. Per configurare questo tipo di nesting, devi fornire la dichiarazione della regola in JSON. Ad esempio, il seguente elenco di regole JSON include un'ORistruzione annidata all'interno di un'istruzione. AND 

```
{
  "Name": "match_rule",
  "Priority": 0,
  "Statement": {
    "AndStatement": {
      "Statements": [
        {
          "LabelMatchStatement": {
            "Scope": "LABEL",
            "Key": "awswaf:managed:aws:bot-control:bot:category:monitoring"
          }
        },
        {
          "NotStatement": {
            "Statement": {
              "LabelMatchStatement": {
                "Scope": "LABEL",
                "Key": "awswaf:managed:aws:bot-control:bot:name:pingdom"
              }
            }
          }
        },
        {
          "OrStatement": {
            "Statements": [
              {
                "GeoMatchStatement": {
                  "CountryCodes": [
                    "JM",
                    "JP"
                  ]
                }
              },
              {
                "ByteMatchStatement": {
                  "SearchString": "JCountryString",
                  "FieldToMatch": {
                    "Body": {}
                  },
                  "TextTransformations": [
                    {
                      "Priority": 0,
                      "Type": "NONE"
                    }
                  ],
                  "PositionalConstraint": "CONTAINS"
                }
              }
            ]
          }
        }
      ]
    }
  },
  "Action": {
    "Block": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "match_rule"
  }
}
```

# NOTdichiarazione delle regole
<a name="waf-rule-statement-type-not"></a>

L'istruzione della NOT regola nega logicamente i risultati di una singola istruzione annidata, quindi le istruzioni annidate non devono corrispondere affinché l'NOTistruzione corrisponda e viceversa. Ciò richiede un'istruzione nidificata. 

Ad esempio, se desideri bloccare le richieste che non provengono da un paese specifico, crea un'NOTistruzione con l'azione impostata su block e annida un'istruzione di corrispondenza geografica che specifichi il paese. 

## Caratteristiche della dichiarazione delle regole
<a name="not-rule-statement-characteristics"></a>

**Nestable**: puoi annidare questo tipo di istruzione. 

**WCUs**— Dipende dall'istruzione annidata.

## Dove trovare questa dichiarazione di regole
<a name="not-rule-statement-where-to-find"></a>
+ **Generatore di regole** sulla console: per **Se una richiesta**, choose **non corrisponde all'istruzione (NOT)**, quindi compila l'istruzione annidata.
+ **API: [NotStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_NotStatement.html)**

# ORdichiarazione delle regole
<a name="waf-rule-statement-type-or"></a>

L'istruzione della OR regola combina le istruzioni annidate con OR la logica, quindi una delle istruzioni annidate deve corrispondere affinché l'ORistruzione corrisponda. Ciò richiede almeno due istruzioni annidate. 

Ad esempio, se desideri bloccare le richieste che provengono da un paese specifico o che contengono una stringa di query specifica, puoi creare un'ORistruzione e inserirvi un'istruzione geo match per il paese e un'istruzione di corrispondenza tra stringhe per la stringa di query. 

Se invece desideri bloccare le richieste che *non* provengono da un paese specifico o che contengono una stringa di query specifica, devi modificare l'ORistruzione precedente per annidare l'istruzione geo match un livello più in basso, all'interno di un'NOTistruzione. Questo livello di nidificazione richiede l'utilizzo della formattazione JSON, poiché la console supporta solo un livello di nidificazione.

## Caratteristiche della dichiarazione delle regole
<a name="or-rule-statement-characteristics"></a>

**Nestable**: puoi annidare questo tipo di istruzione. 

**WCUs**— Dipende dalle istruzioni annidate.

## Dove trovare questa dichiarazione di regole
<a name="or-rule-statement-where-to-find"></a>
+ **Generatore di regole** sulla console: per **Se una richiesta**, scegli **corrisponde ad almeno una delle istruzioni (OR)**, quindi compila le istruzioni annidate. 
+ **API — [OrStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_OrStatement.html)**

**Esempi**  
L'elenco seguente mostra l'uso di OR per combinare altre due istruzioni. L'ORistruzione corrisponde se una delle istruzioni annidate corrisponde. 

```
{
  "Name": "neitherOfTwo",
  "Priority": 1,
  "Action": {
    "Block": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "neitherOfTwo"
  },
  "Statement": {
    "OrStatement": {
      "Statements": [
        {
          "GeoMatchStatement": {
            "CountryCodes": [
              "CA"
            ]
          }
        },
        {
          "IPSetReferenceStatement": {
            "ARN": "arn:aws:wafv2:us-east-1:111111111111:regional/ipset/test-ip-set-22222222/33333333-4444-5555-6666-777777777777"
          }
        }
      ]
    }
  }
}
```

Utilizzando l'editor visivo delle regole della console, è possibile annidare la maggior parte delle istruzioni nestable in un'istruzione di regole logiche, ma non è possibile utilizzare l'editor visivo per OR nidificare le istruzioni. AND Per configurare questo tipo di nesting, devi fornire la dichiarazione della regola in JSON. Ad esempio, il seguente elenco di regole JSON include un'ORistruzione annidata all'interno di un'istruzione. AND 

```
{
  "Name": "match_rule",
  "Priority": 0,
  "Statement": {
    "AndStatement": {
      "Statements": [
        {
          "LabelMatchStatement": {
            "Scope": "LABEL",
            "Key": "awswaf:managed:aws:bot-control:bot:category:monitoring"
          }
        },
        {
          "NotStatement": {
            "Statement": {
              "LabelMatchStatement": {
                "Scope": "LABEL",
                "Key": "awswaf:managed:aws:bot-control:bot:name:pingdom"
              }
            }
          }
        },
        {
          "OrStatement": {
            "Statements": [
              {
                "GeoMatchStatement": {
                  "CountryCodes": [
                    "JM",
                    "JP"
                  ]
                }
              },
              {
                "ByteMatchStatement": {
                  "SearchString": "JCountryString",
                  "FieldToMatch": {
                    "Body": {}
                  },
                  "TextTransformations": [
                    {
                      "Priority": 0,
                      "Type": "NONE"
                    }
                  ],
                  "PositionalConstraint": "CONTAINS"
                }
              }
            ]
          }
        }
      ]
    }
  },
  "Action": {
    "Block": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "match_rule"
  }
}
```

# Utilizzo di istruzioni di regole basate sulla tariffa in AWS WAF
<a name="waf-rule-statement-type-rate-based"></a>

Questa sezione spiega cos'è una dichiarazione di regole basata sulla tariffa e come funziona.

Una regola basata sulla tariffa conta le richieste in entrata e le richieste con limiti di velocità quando arrivano a una velocità troppo elevata. La regola aggrega le richieste in base ai criteri dell'utente e conta e limita i raggruppamenti aggregati in base alla finestra di valutazione della regola, al limite di richieste e alle impostazioni di azione. 

**Nota**  
Puoi anche limitare la frequenza delle richieste Web utilizzando il livello di protezione mirato del gruppo di regole Bot Control AWS Managed Rules. L'utilizzo di questo gruppo di regole gestito comporta costi aggiuntivi. Per ulteriori informazioni, consulta [Opzioni per la limitazione della velocità nelle regole basate sulla velocità e nelle regole mirate di Bot Control](waf-rate-limiting-options.md). 

AWS WAF tiene traccia e gestisce le richieste Web separatamente per ogni istanza di una regola basata sulla tariffa utilizzata. Ad esempio, se si forniscono le stesse impostazioni delle regole basate sulla tariffa in due siti WebACLs, ciascuna delle due istruzioni rappresenta un'istanza distinta della regola basata sulla tariffa e ognuna riceve il proprio monitoraggio e la propria gestione da. AWS WAF Se si definisce una regola basata sulla tariffa all'interno di un gruppo di regole e quindi si utilizza tale gruppo di regole in più posizioni, ogni utilizzo crea un'istanza separata della regola basata sulla tariffa che ottiene il proprio monitoraggio e la propria gestione. AWS WAF

**Not nestable: non** puoi annidare questo tipo di istruzione all'interno di altre istruzioni. Puoi includerlo direttamente in un pacchetto di protezione (Web ACL) o in un gruppo di regole. 

**Istruzione Scope-down: questo tipo di regola può utilizzare un'istruzione** Scope-down per restringere l'ambito delle richieste monitorate dalla regola e dei limiti di velocità. L'istruzione scope-down può essere facoltativa o obbligatoria, a seconda delle altre impostazioni di configurazione delle regole. I dettagli sono descritti in questa sezione. Per informazioni generali sulle istruzioni scope-down, vedere. [Utilizzo di istruzioni scope-down in AWS WAF](waf-rule-scope-down-statements.md) 

**WCUs**— 2, come costo base. Per ogni chiave di aggregazione personalizzata specificata, aggiungi 30 WCUs. Se utilizzi un'istruzione scope-down nella regola, calcola e aggiungi la corrispondente. WCUs 

**Dove trovare questa dichiarazione sulla regola**
+ **Generatore di regole** incluso nel pacchetto di protezione (ACL Web), sulla console: in **Regola, per **Tipo**, scegli Regola** basata sulla **frequenza**.
+ **API: [RateBasedStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_RateBasedStatement.html)**

**Topics**
+ [Impostazioni di alto livello delle regole basate sulla tariffa in AWS WAF](waf-rule-statement-type-rate-based-high-level-settings.md)
+ [Avvertenze sulle regole basate sui tassi in AWS WAF](waf-rule-statement-type-rate-based-caveats.md)
+ [Regole di aggregazione basate sui tassi in AWS WAF](waf-rule-statement-type-rate-based-aggregation-options.md)
+ [Istanze e conteggi di regole di aggregazione basati sulla frequenza](waf-rule-statement-type-rate-based-aggregation-instances.md)
+ [Applicazione della limitazione della velocità alle richieste in AWS WAF](waf-rule-statement-type-rate-based-request-limiting.md)
+ [Esempi di regole basate sulla tariffa in AWS WAF](waf-rule-statement-type-rate-based-examples.md)
+ [Elenco degli indirizzi IP la cui velocità è limitata da regole basate sulla velocità](listing-managed-ips.md)

# Impostazioni di alto livello delle regole basate sulla tariffa in AWS WAF
<a name="waf-rule-statement-type-rate-based-high-level-settings"></a>

Una dichiarazione di regole basata sulla tariffa utilizza le seguenti impostazioni di alto livello: 
+ **Finestra di valutazione**: la quantità di tempo, in secondi, da AWS WAF includere nel conteggio delle richieste, in base all'ora corrente. Ad esempio, per un'impostazione di 120, quando AWS WAF controlla la frequenza, conta le richieste per i 2 minuti immediatamente precedenti l'ora corrente. Le impostazioni valide sono 60 (1 minuto), 120 (2 minuti), 300 (5 minuti) e 600 (10 minuti) e 300 (5 minuti) è l'impostazione predefinita. 

  Questa impostazione non determina la frequenza con cui viene verificata la frequenza di AWS WAF controllo della frequenza, ma la distanza con cui viene effettuata ogni volta che viene effettuata la verifica. AWS WAF controlla frequentemente la frequenza, con una tempistica indipendente dall'impostazione della finestra di valutazione. 
+ **Limite di frequenza**: il numero massimo di richieste che soddisfano i criteri specificati e che AWS WAF deve essere registrato solo per la finestra di valutazione specificata. L'impostazione del limite minimo consentita è 10. Quando questo limite viene superato, AWS WAF applica l'impostazione dell'azione della regola alle richieste aggiuntive che soddisfano i criteri specificati. 

  AWS WAF applica un limite di velocità vicino al limite impostato, ma non garantisce l'esatta corrispondenza del limite. Per ulteriori informazioni, consulta [Avvertenze relative alle regole basate sulla tariffa](waf-rule-statement-type-rate-based-caveats.md). 
+ **Aggregazione delle richieste: i criteri di aggregazione da utilizzare sul Web richiedono** che la regola basata sulla tariffa contenga e limiti di velocità. Il limite di velocità impostato si applica a ogni istanza di aggregazione. Per informazioni dettagliate, consulta [Regole di aggregazione basate sui tassi](waf-rule-statement-type-rate-based-aggregation-options.md) e [Istanze e conteggi di aggregazione](waf-rule-statement-type-rate-based-aggregation-instances.md). 
+ **Azione**: l'azione da intraprendere in risposta alle richieste che la regola limita la velocità. È possibile utilizzare qualsiasi azione della regola tranneAllow. Viene impostata come di consueto a livello di regola, ma presenta alcune restrizioni e comportamenti specifici delle regole basate sulle tariffe. Per informazioni generali sulle azioni delle regole, vedere. [Utilizzo delle azioni delle regole in AWS WAF](waf-rule-action.md) Per informazioni specifiche sulla limitazione della velocità, [Applicazione della limitazione della velocità alle richieste in AWS WAF](waf-rule-statement-type-rate-based-request-limiting.md) consulta questa sezione.
+ **Ambito di ispezione e limitazione della tariffa**: è possibile restringere l'ambito delle richieste registrate nell'informativa basata sulla tariffa e dei limiti di tariffa aggiungendo un riepilogo decrescente. Se si specifica un'istruzione scope-down, la regola aggrega, conta e limita solo le richieste che corrispondono all'istruzione scope-down. Se scegli l'opzione di aggregazione delle richieste **Count all**, è necessaria l'istruzione scope-down. Per ulteriori informazioni sulle istruzioni scope-down, vedere. [Utilizzo di istruzioni scope-down](waf-rule-scope-down-statements.md) 
+ **(Facoltativo) Configurazione IP inoltrata**: viene utilizzata solo se si specifica l'**indirizzo IP nell'intestazione nell'**aggregazione della richiesta, da solo o come parte delle impostazioni delle chiavi personalizzate. AWS WAF recupera il primo indirizzo IP nell'intestazione specificata e lo utilizza come valore di aggregazione. Un'intestazione comune per questo scopo è`X-Forwarded-For`, ma è possibile specificare qualsiasi intestazione. Per ulteriori informazioni, consulta [Utilizzo di indirizzi IP inoltrati](waf-rule-statement-forwarded-ip-address.md). 

# Avvertenze sulle regole basate sui tassi in AWS WAF
<a name="waf-rule-statement-type-rate-based-caveats"></a>

Questa sezione elenca le avvertenze relative all'utilizzo di regole basate sui tassi.

AWS WAF la limitazione della velocità è progettata per controllare le alte percentuali di richieste e proteggere la disponibilità dell'applicazione nel modo più efficiente ed efficace possibile. Non è concepito per una limitazione precisa della frequenza delle richieste. 
+ AWS WAF stima il tasso di richieste corrente utilizzando un algoritmo che dà maggiore importanza alle richieste più recenti. Per questo motivo, AWS WAF applicherà un limite di velocità vicino al limite impostato, ma non garantisce una corrispondenza esatta del limite. 
+ Ogni volta che viene AWS WAF stimata la frequenza delle richieste, AWS WAF esamina il numero di richieste pervenute durante la finestra di valutazione configurata. A causa di questo e di altri fattori, come i ritardi di propagazione, è possibile che le richieste arrivino a una frequenza troppo elevata per diversi minuti prima che vengano AWS WAF rilevate e limitate. Allo stesso modo, la frequenza di richiesta può rimanere inferiore al limite per un periodo di tempo prima che AWS WAF rilevi la diminuzione e interrompa l'azione di limitazione della velocità. Di solito, questo ritardo è inferiore a 30 secondi.
+ Se modifichi una qualsiasi delle impostazioni del limite di velocità in una regola in uso, la modifica ripristina i conteggi dei limiti di velocità della regola. Ciò può sospendere le attività di limitazione della velocità della regola per un massimo di un minuto. Le impostazioni del limite di velocità sono la finestra di valutazione, il limite di velocità, le impostazioni di aggregazione delle richieste, la configurazione IP inoltrata e l'ambito dell'ispezione. 

# Regole di aggregazione basate sui tassi in AWS WAF
<a name="waf-rule-statement-type-rate-based-aggregation-options"></a>

Questa sezione spiega le opzioni disponibili per l'aggregazione delle richieste.

Per impostazione predefinita, una regola basata sulla frequenza aggrega e limita la velocità delle richieste in base all'indirizzo IP della richiesta. È possibile configurare la regola per utilizzare diverse altre chiavi di aggregazione e combinazioni di tasti. Ad esempio, è possibile eseguire l'aggregazione in base a un indirizzo IP inoltrato, al metodo HTTP o a un argomento di query. Puoi anche specificare combinazioni di chiavi di aggregazione, come l'indirizzo IP e il metodo HTTP, o i valori di due cookie diversi. 

**Nota**  
Tutti i componenti della richiesta specificati nella chiave di aggregazione devono essere presenti in una richiesta Web affinché la richiesta venga valutata o la frequenza sia limitata dalla regola. 

Puoi configurare la tua regola basata sulla tariffa con le seguenti opzioni di aggregazione. 
+ **Indirizzo IP di origine**: aggregazione utilizzando solo l'indirizzo IP dall'origine della richiesta Web. 

  L'indirizzo IP di origine potrebbe non contenere l'indirizzo del client di origine. Se una richiesta web passa attraverso uno o più proxy o sistemi di bilanciamento del carico, questo conterrà l'indirizzo dell'ultimo proxy. 
+ **Indirizzo IP nell'intestazione**: aggregazione utilizzando solo un indirizzo client in un'intestazione HTTP. Questo viene anche chiamato indirizzo IP inoltrato. 

  Con questa configurazione, si specifica anche un comportamento di fallback da applicare a una richiesta Web con un indirizzo IP non valido nell'intestazione. Il comportamento di fallback imposta il risultato corrispondente per la richiesta, in modo che corrisponda o non corrisponda. In caso di mancata corrispondenza, la regola basata sulla tariffa non conta né limita la richiesta. Per la corrispondenza, la regola basata sulla frequenza raggruppa la richiesta insieme ad altre richieste con un indirizzo IP non valido nell'intestazione specificata. 

  Prestate attenzione con questa opzione, poiché le intestazioni possono essere gestite in modo incoerente dai proxy e possono anche essere modificate per aggirare l'ispezione. Per ulteriori informazioni e procedure consigliate, consulta. [Utilizzo degli indirizzi IP inoltrati in AWS WAF](waf-rule-statement-forwarded-ip-address.md)
+ **ASN**: aggregazione utilizzando un numero di sistema autonomo (ASN) associato all'indirizzo IP di origine come chiave aggregata. Questo potrebbe non essere l'indirizzo del client di origine. Se una richiesta web passa attraverso uno o più proxy o sistemi di bilanciamento del carico, questo contiene l'indirizzo dell'ultimo proxy. 

  Se non AWS WAF riesce a ricavare un ASN dall'indirizzo IP, conta l'ASN come ASN 0. Se non desideri applicare un limite di velocità ai dati non mappati ASNs, puoi creare una regola con ambito ristretto che escluda le richieste con ASN 0.
+ **ASN nell'intestazione**: aggrega utilizzando un ASN associato a un indirizzo IP client in un'intestazione HTTP. Questo viene anche chiamato indirizzo IP inoltrato. Con questa configurazione, si specifica anche un comportamento di fallback da applicare a una richiesta Web con un indirizzo IP non valido o non valido. Il comportamento di fallback imposta il risultato corrispondente per la richiesta, in modo che corrisponda o non corrisponda. Se si imposta il comportamento di fallback in modo che corrisponda alla configurazione IP inoltrata, AWS WAF considera l'indirizzo IP non valido come un valore corrispondente. Ciò consente di continuare AWS WAF a valutare tutte le parti rimanenti della chiave composita della regola basata sulla tariffa. In caso di mancata corrispondenza, la regola basata sulla tariffa non conta né limita la richiesta. 

  Fai attenzione con questa opzione, poiché le intestazioni possono essere gestite in modo incoerente dai proxy e possono essere modificate per aggirare l'ispezione. Per ulteriori informazioni e procedure consigliate, consulta. [Utilizzo degli indirizzi IP inoltrati in AWS WAF](waf-rule-statement-forwarded-ip-address.md)
+ **Conta tutto**: conta e valuta, limita tutte le richieste che corrispondono all'istruzione scope-down della regola. Questa opzione richiede un'istruzione scope-down. In genere viene utilizzato per limitare la velocità di un insieme specifico di richieste, ad esempio tutte le richieste con un'etichetta specifica o tutte le richieste provenienti da un'area geografica specifica. 
+ **Chiavi personalizzate**: aggregazione utilizzando una o più chiavi di aggregazione personalizzate. Per combinare una delle opzioni di indirizzo IP con altre chiavi di aggregazione, definiscile qui sotto le chiavi personalizzate. 

  Le chiavi di aggregazione personalizzate sono un sottoinsieme delle opzioni del componente di richiesta Web descritte in. [Richiedi componenti in AWS WAF](waf-rule-statement-fields-list.md)

  Le opzioni principali sono le seguenti. Salvo dove indicato, è possibile utilizzare un'opzione più volte, ad esempio due intestazioni o tre namespace di etichette.
  + **Label namespace: utilizza uno spazio dei nomi** di etichette come chiave di aggregazione. Ogni nome di etichetta completo e distinto che ha lo spazio dei nomi di etichetta specificato contribuisce all'istanza di aggregazione. Se utilizzi solo uno spazio dei nomi di etichette come chiave personalizzata, ogni nome di etichetta definisce completamente un'istanza di aggregazione.

    La regola basata sulla frequenza utilizza solo le etichette che sono state aggiunte alla richiesta mediante regole che vengono valutate in precedenza nel protection pack (Web ACL).

    Per informazioni sugli spazi dei nomi e sui nomi delle etichette, vedere. [Sintassi delle etichette e requisiti di denominazione in AWS WAF](waf-rule-label-requirements.md)
  + **Intestazione: utilizza un'intestazione** denominata come chiave di aggregazione. Ogni valore distinto nell'intestazione contribuisce all'istanza di aggregazione. 

    L'intestazione richiede una trasformazione del testo opzionale. Per informazioni, consulta [Utilizzo delle trasformazioni di testo in AWS WAF](waf-rule-statement-transformation.md). 
  + **Cookie**: utilizza un cookie denominato come chiave di aggregazione. Ogni valore distinto nel cookie contribuisce all'istanza di aggregazione. 

    Il cookie richiede una trasformazione del testo opzionale. Per informazioni, consulta [Utilizzo delle trasformazioni di testo in AWS WAF](waf-rule-statement-transformation.md). 
  + **Argomento della query**: utilizza un singolo argomento di interrogazione nella richiesta come chiave aggregata. Ogni valore distinto per l'argomento di interrogazione denominato contribuisce all'istanza di aggregazione. 

    L'argomento della query richiede una trasformazione del testo opzionale. Per informazioni, consulta [Utilizzo delle trasformazioni di testo in AWS WAF](waf-rule-statement-transformation.md). 
  + **Stringa di query**: utilizza l'intera stringa di query nella richiesta come chiave aggregata. Ogni stringa di query distinta contribuisce all'istanza di aggregazione. È possibile utilizzare questo tipo di chiave una sola volta. 

    La stringa di query richiede una trasformazione del testo opzionale. Per informazioni, consulta [Utilizzo delle trasformazioni di testo in AWS WAF](waf-rule-statement-transformation.md). 
  + **Percorso URI**: utilizza il percorso URI nella richiesta come chiave aggregata. Ogni percorso URI distinto contribuisce all'istanza di aggregazione. È possibile utilizzare questo tipo di chiave una sola volta. 

    Il percorso URI richiede una trasformazione del testo opzionale. Per informazioni, consulta [Utilizzo delle trasformazioni di testo in AWS WAF](waf-rule-statement-transformation.md). 
  + **JA3 impronta digitale**: utilizza l' JA3 impronta digitale nella richiesta come chiave aggregata. Ogni JA3 impronta digitale distinta contribuisce all'istanza di aggregazione. È possibile utilizzare questo tipo di chiave una sola volta. 
  + **JA4 impronta digitale**: utilizza l' JA4 impronta digitale nella richiesta come chiave aggregata. Ogni JA4 impronta digitale distinta contribuisce all'istanza di aggregazione. È possibile utilizzare questo tipo di chiave una sola volta. 
  + **Metodo HTTP**: utilizza il metodo HTTP della richiesta come chiave aggregata. Ogni metodo HTTP distinto contribuisce all'istanza di aggregazione. È possibile utilizzare questo tipo di chiave una sola volta. 
  + **Indirizzo IP**: aggrega utilizzando l'indirizzo IP dall'origine della richiesta Web in combinazione con altre chiavi.

    Potrebbe non contenere l'indirizzo del client di origine. Se una richiesta web passa attraverso uno o più proxy o sistemi di bilanciamento del carico, questo conterrà l'indirizzo dell'ultimo proxy. 
  + **Indirizzo IP nell'intestazione**: aggregazione utilizzando l'indirizzo client in un'intestazione HTTP in combinazione con altre chiavi. Questo viene anche chiamato indirizzo IP inoltrato. 

    Prestate attenzione con questa opzione, poiché le intestazioni possono essere gestite in modo incoerente dai proxy e possono essere modificate per aggirare l'ispezione. Per ulteriori informazioni e procedure consigliate, consulta. [Utilizzo degli indirizzi IP inoltrati in AWS WAF](waf-rule-statement-forwarded-ip-address.md)

# Istanze e conteggi di regole di aggregazione basati sulla frequenza
<a name="waf-rule-statement-type-rate-based-aggregation-instances"></a>

Questa sezione spiega come una regola basata sulla tariffa valuta le richieste web.

*Quando una regola basata sulla tariffa valuta le richieste Web utilizzando i criteri di aggregazione dell'utente, ogni set di valori univoco trovato dalla regola per le chiavi di aggregazione specificate definisce un'istanza di aggregazione unica.* 
+ **Chiavi multiple: se hai definito più chiavi** personalizzate, il valore di ciascuna chiave contribuisce alla definizione dell'istanza di aggregazione. Ogni combinazione unica di valori definisce un'istanza di aggregazione. 
+ **Chiave singola**: se hai scelto una sola chiave, nelle chiavi personalizzate o selezionando una delle scelte di indirizzo IP di Singleton, ogni valore univoco per la chiave definisce un'istanza di aggregazione. 
+ **Count all - no keys**: se hai selezionato l'opzione di aggregazione **Count all, tutte le** richieste valutate dalla regola appartengono a una singola istanza di aggregazione per la regola. Questa scelta richiede una dichiarazione riassuntiva.

 

Una regola basata sulla frequenza conta le richieste Web separatamente per ogni istanza di aggregazione che identifica. 

Ad esempio, supponiamo che una regola basata sulla frequenza valuti le richieste Web con i seguenti valori di indirizzo IP e metodo HTTP: 
+ Indirizzo IP 10.1.1.1, metodo HTTP POST
+ Indirizzo IP 10.1.1.1, metodo HTTP GET
+ Indirizzo IP 127.0.0.0, metodo HTTP POST
+ Indirizzo IP 10.1.1.1, metodo HTTP GET

La regola crea diverse istanze di aggregazione in base ai criteri di aggregazione. 
+ Se il criterio di aggregazione è solo l'indirizzo IP, ogni singolo indirizzo IP è un'istanza di aggregazione e AWS WAF conta le richieste separatamente per ciascuna di esse. I conteggi delle istanze di aggregazione e delle richieste per il nostro esempio sarebbero i seguenti: 
  + Indirizzo IP 10.1.1.1: numero 3
  + Indirizzo IP 127.0.0.0: numero 1
+ Se il criterio di aggregazione è il metodo HTTP, ogni singolo metodo HTTP è un'istanza di aggregazione. Le istanze di aggregazione e i conteggi delle richieste per il nostro esempio sarebbero i seguenti: 
  + Metodo HTTP POST: conteggio 2
  + Metodo HTTP GET: conteggio 2
+ Se i criteri di aggregazione sono l'indirizzo IP e il metodo HTTP, ogni indirizzo IP e ogni metodo HTTP contribuirebbero all'istanza di aggregazione combinata. Le istanze di aggregazione e i conteggi delle richieste per il nostro esempio sarebbero i seguenti: 
  + Indirizzo IP 10.1.1.1, metodo HTTP POST: conteggio 1
  + Indirizzo IP 10.1.1.1, metodo HTTP GET: conteggio 2
  + Indirizzo IP 127.0.0.0, metodo HTTP POST: conteggio 1

# Applicazione della limitazione della velocità alle richieste in AWS WAF
<a name="waf-rule-statement-type-rate-based-request-limiting"></a>

Questa sezione spiega come funziona il comportamento di limitazione della velocità per le regole basate sulla tariffa.

I criteri AWS WAF utilizzati per limitare la frequenza delle richieste relative a una regola basata sulla tariffa sono gli stessi AWS WAF utilizzati per aggregare le richieste relative alla regola. Se definisci un'istruzione scope-down per la regola, aggrega, conta e limita la velocità AWS WAF solo per le richieste che corrispondono all'istruzione scope-down. 

I criteri di corrispondenza che fanno sì che una regola basata sulla tariffa applichi le relative impostazioni di azione a una richiesta Web specifica sono i seguenti: 
+ La richiesta web corrisponde all'istruzione scope-down della regola, se ne è stata definita una.
+ La richiesta Web appartiene a un'istanza di aggregazione il cui numero di richieste è attualmente superiore al limite della regola. 

**Come AWS WAF si applica l'azione della regola**  
Quando una regola basata sulla tariffa applica un limite di velocità a una richiesta, applica l'azione della regola e, se hai definito una gestione o un'etichettatura personalizzata nelle specifiche dell'azione, la regola le applica. Questa gestione delle richieste è identica al modo in cui una match rule applica le proprie impostazioni di azione alle richieste web corrispondenti. Una regola basata sulla frequenza applica etichette o esegue altre azioni solo su richieste che limitano attivamente la velocità. 

È possibile utilizzare qualsiasi azione della regola tranne. Allow Per informazioni generali sulle azioni delle regole, vedere[Utilizzo delle azioni delle regole in AWS WAF](waf-rule-action.md). 

L'elenco seguente descrive come funziona la limitazione della velocità per ciascuna delle azioni.
+ **Block**— AWS WAF blocca la richiesta e applica qualsiasi comportamento di blocco personalizzato che hai definito. 
+ **Count**— AWS WAF conta la richiesta, applica eventuali intestazioni o etichette personalizzate che hai definito e continua la valutazione del protection pack (Web ACL) della richiesta. 

  Questa azione non limita la frequenza delle richieste. Conta solo le richieste che superano il limite.
+ **CAPTCHAo Challenge**: AWS WAF gestisce la richiesta come a Block o come aCount, a seconda dello stato del token della richiesta. 

  Questa azione non limita la frequenza di richieste con token validi. Limita la frequenza delle richieste che superano il limite e in cui mancano anche token validi.
  + Se la richiesta non ha un token valido e non scaduto, l'azione blocca la richiesta e invia il CAPTCHA o la sfida del browser al client. 

    Se il browser dell'utente finale o del client risponde correttamente, il client riceve un token valido e invia nuovamente la richiesta originale. Se la limitazione della velocità per l'istanza di aggregazione è ancora in vigore, a questa nuova richiesta con il token valido e non scaduto verrà applicata l'azione descritta nel successivo bullet point.
  + Se la richiesta ha un token valido e non scaduto, l'Challengeazione CAPTCHA or verifica il token e non esegue alcuna azione sulla richiesta, simile all'azione. Count La regola basata sulla frequenza restituisce la valutazione della richiesta al protection pack (Web ACL) senza intraprendere alcuna azione terminativa e il protection pack (Web ACL) continua la valutazione della richiesta.

  Per ulteriori informazioni, consulta [CAPTCHAe Challenge in AWS WAF](waf-captcha-and-challenge.md).

**Se si imposta la velocità, si limita solo l'indirizzo IP o l'indirizzo IP inoltrato**  
Quando si configura la regola per limitare la velocità solo all'indirizzo IP per l'indirizzo IP inoltrato, è possibile recuperare l'elenco degli indirizzi IP attualmente limitati dalla regola. Se utilizzi un'istruzione scope-down, le richieste a velocità limitata sono solo quelle nell'elenco IP che corrispondono all'istruzione scope-down. Per informazioni sul recupero dell'elenco di indirizzi IP, consulta. [Elenco degli indirizzi IP la cui velocità è limitata da regole basate sulla velocità](listing-managed-ips.md)

# Esempi di regole basate sulla tariffa in AWS WAF
<a name="waf-rule-statement-type-rate-based-examples"></a>

Questa sezione descrive configurazioni di esempio per una serie di casi d'uso comuni di regole basate sulla tariffa. 

Ogni esempio fornisce una descrizione del caso d'uso e quindi mostra la soluzione negli elenchi JSON per le regole configurate personalizzate. 

**Nota**  
Gli elenchi JSON mostrati in questi esempi sono stati creati nella console configurando la regola e quindi modificandola utilizzando l'editor **Rule** JSON. 

**Topics**
+ [Rate limita le richieste a una pagina di accesso](waf-rate-based-example-limit-login-page.md)
+ [Rate limita le richieste a una pagina di accesso da qualsiasi indirizzo IP, coppia di agenti utente](waf-rate-based-example-limit-login-page-keys.md)
+ [Rate limita le richieste a cui manca un'intestazione specifica](waf-rate-based-example-limit-missing-header.md)
+ [Rate, limita le richieste con etichette specifiche](waf-rate-based-example-limit-labels.md)
+ [Rate limita le richieste di etichette con uno spazio dei nomi di etichette specificato](waf-rate-based-example-limit-label-aggregation.md)
+ [Rate limita le richieste con specifiche ASNs](waf-rate-based-example-limit-asn.md)

# Rate limita le richieste a una pagina di accesso
<a name="waf-rate-based-example-limit-login-page"></a>

**Per limitare il numero di richieste alla pagina di accesso del tuo sito web senza influire sul traffico verso il resto del sito, puoi creare una regola basata sulla frequenza con un'istruzione scope-down che abbini le richieste alla tua pagina di accesso e con l'aggregazione delle richieste impostata su Count all.** 

La regola basata sulla tariffa conterà tutte le richieste per la pagina di accesso in un'unica istanza di aggregazione e applicherà l'azione della regola a tutte le richieste che corrispondono all'istruzione scope-down quando le richieste superano il limite.

Il seguente elenco JSON mostra un esempio di questa configurazione di regole. L'opzione di aggregazione count all è elencata in JSON come impostazione. `CONSTANT` Questo esempio corrisponde alle pagine di accesso che iniziano con. `/login` 

```
{
  "Name": "test-rbr",
  "Priority": 0,
  "Action": {
    "Block": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "test-rbr"
  },
  "Statement": {
    "RateBasedStatement": {
      "Limit": 1000,
      "EvaluationWindowSec": 300,
      "AggregateKeyType": "CONSTANT",
      "ScopeDownStatement": {
        "ByteMatchStatement": {
          "FieldToMatch": {
            "UriPath": {}
          },
          "PositionalConstraint": "STARTS_WITH",
          "SearchString": "/login",
          "TextTransformations": [
            {
              "Type": "NONE",
              "Priority": 0
            }
          ]
        }
      }
    }
  }
}
```

# Rate limita le richieste a una pagina di accesso da qualsiasi indirizzo IP, coppia di agenti utente
<a name="waf-rate-based-example-limit-login-page-keys"></a>

Per limitare il numero di richieste di indirizzo IP alla pagina di accesso del tuo sito Web, imposta l'aggregazione delle richieste su **Chiavi personalizzate** e fornisci i criteri di aggregazione. 

Il seguente elenco JSON mostra un esempio di questa configurazione di regole. In questo esempio, abbiamo impostato il limite a 100 richieste in un periodo di cinque minuti per indirizzo IP, coppia di agenti utente. 

```
{
  "Name": "test-rbr",
  "Priority": 0,
  "Action": {
    "Block": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "test-rbr"
  },
  "Statement": {
    "RateBasedStatement": {
      "Limit": 100,
      "EvaluationWindowSec": 300,
      "AggregateKeyType": "CUSTOM_KEYS",
      "CustomKeys": [
        {
          "Header": {
            "Name": "User-Agent",
            "TextTransformations": [
              {
                "Priority": 0,
                "Type": "NONE"
              }
            ]
          }
        },
        {
          "IP": {}
        }
      ],
      "ScopeDownStatement": {
        "ByteMatchStatement": {
          "FieldToMatch": {
            "UriPath": {}
          },
          "PositionalConstraint": "STARTS_WITH",
          "SearchString": "/login",
          "TextTransformations": [
            {
              "Type": "NONE",
              "Priority": 0
            }
          ]
        }
      }
    }
  }
}
```

# Rate limita le richieste a cui manca un'intestazione specifica
<a name="waf-rate-based-example-limit-missing-header"></a>

Per limitare il numero di richieste a cui manca un'intestazione specifica, puoi utilizzare l'opzione di aggregazione **Count all** con un'istruzione scope-down. Configura l'istruzione scope-down con un'istruzione logica contenente un'`NOT`istruzione che restituisca true solo se l'intestazione esiste e ha un valore. 

Il seguente elenco JSON mostra un esempio di questa configurazione di regole. 

```
{
  "Name": "test-rbr",
  "Priority": 0,
  "Action": {
    "Block": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "test-rbr"
  },
  "Statement": {
    "RateBasedStatement": {
      "Limit": 1000,
      "AggregateKeyType": "CONSTANT",
      "EvaluationWindowSec": 300,
      "ScopeDownStatement": {
        "NotStatement": {
          "Statement": {
            "SizeConstraintStatement": {
              "FieldToMatch": {
                "SingleHeader": {
                  "Name": "user-agent"
                }
              },
              "ComparisonOperator": "GT",
              "Size": 0,
              "TextTransformations": [
                {
                  "Type": "NONE",
                  "Priority": 0
                }
              ]
            }
          }
        }
      }
    }
  }
}
```

# Rate, limita le richieste con etichette specifiche
<a name="waf-rate-based-example-limit-labels"></a>

Per limitare il numero di richieste di varie categorie, puoi combinare la limitazione della velocità con qualsiasi regola o gruppo di regole che aggiunga etichette alle richieste. A tale scopo, configurate il pacchetto di protezione (Web ACL) come segue: 
+ Aggiungi le regole o i gruppi di regole che aggiungono etichette e configurali in modo che non blocchino o consentano le richieste per le quali desideri limitare la frequenza. Se utilizzi gruppi di regole gestiti, potresti dover sovrascrivere alcune azioni delle regole dei gruppi di regole per Count ottenere questo comportamento. 
+ Aggiungi una regola basata sulla tariffa al tuo protection pack (Web ACL) con un'impostazione del numero di priorità superiore alle regole di etichettatura e ai gruppi di regole. AWS WAF valuta le regole in ordine numerico, a partire dalla più bassa, in modo che la regola basata sulla tariffa venga eseguita dopo le regole di etichettatura. Configura la limitazione della velocità sulle etichette utilizzando una combinazione tra la corrispondenza delle etichette nell'istruzione scope-down della regola e l'aggregazione delle etichette. 

L'esempio seguente utilizza il gruppo di regole AWS Managed Rules dell'elenco di reputazione IP di Amazon. La regola del gruppo di regole `AWSManagedIPDDoSList` rileva ed etichetta le richieste che IPs sono note per essere coinvolte attivamente nelle attività DDo S. L'azione della regola è configurata Count in base alla definizione del gruppo di regole. Per ulteriori informazioni sul gruppo di regole, vedere[Gruppo di regole gestito con Amazon IP Reputation List](aws-managed-rule-groups-ip-rep.md#aws-managed-rule-groups-ip-rep-amazon).

Il seguente elenco JSON del pacchetto di protezione (Web ACL) utilizza il gruppo di regole di reputazione IP seguito da una regola basata sulla frequenza di abbinamento delle etichette. La regola basata sulla frequenza utilizza un'istruzione scope-down per filtrare le richieste contrassegnate dalla regola del gruppo di regole. L'istruzione della regola basata sulla frequenza aggrega e limita la velocità delle richieste filtrate in base ai relativi indirizzi IP. 

```
{
  "Name": "test-web-acl",
  "Id": ... 
  "ARN": ...
  "DefaultAction": {
    "Allow": {}
  },
  "Description": "",
  "Rules": [
    {
      "Name": "AWS-AWSManagedRulesAmazonIpReputationList",
      "Priority": 0,
      "Statement": {
        "ManagedRuleGroupStatement": {
          "VendorName": "AWS",
          "Name": "AWSManagedRulesAmazonIpReputationList"
        }
      },
      "OverrideAction": {
        "None": {}
      },
      "VisibilityConfig": {
        "SampledRequestsEnabled": true,
        "CloudWatchMetricsEnabled": true,
        "MetricName": "AWS-AWSManagedRulesAmazonIpReputationList"
      }
    },
    {
      "Name": "test-rbr",
      "Priority": 1,
      "Statement": {
        "RateBasedStatement": {
          "Limit": 100,
          "EvaluationWindowSec": 300,
          "AggregateKeyType": "IP",
          "ScopeDownStatement": {
            "LabelMatchStatement": {
              "Scope": "LABEL",
              "Key": "awswaf:managed:aws:amazon-ip-list:AWSManagedIPDDoSList"
            }
          }
        }
      },
      "Action": {
        "Block": {}
      },
      "VisibilityConfig": {
        "SampledRequestsEnabled": true,
        "CloudWatchMetricsEnabled": true,
        "MetricName": "test-rbr"
      }
    }
  ],
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "test-web-acl"
  },
  "Capacity": 28,
  "ManagedByFirewallManager": false,
  "RetrofittedByFirewallManager": false,
  "LabelNamespace": "awswaf:0000000000:webacl:test-web-acl:"
}
```

# Rate limita le richieste di etichette con uno spazio dei nomi di etichette specificato
<a name="waf-rate-based-example-limit-label-aggregation"></a>

**Nota**  
Le regole di livello comune nel gruppo di regole gestito da Bot Control aggiungono etichette per bot di varie categorie, ma bloccano solo le richieste provenienti da bot non verificati. Per informazioni su queste regole, consulta. [Elenco delle regole di Bot Control](aws-managed-rule-groups-bot.md#aws-managed-rule-groups-bot-rules)

Se utilizzi il gruppo di regole gestito da Bot Control, puoi aggiungere una limitazione della velocità per le richieste provenienti da singoli bot verificati. Per fare ciò, aggiungi una regola basata sulla frequenza che viene eseguita dopo il gruppo di regole Bot Control e aggrega le richieste in base alle etichette dei nomi dei bot. Specificate la chiave di aggregazione dello spazio **dei nomi Label e impostate** la chiave dello spazio dei nomi su. `awswaf:managed:aws:bot-control:bot:name:` Ogni etichetta univoca con lo spazio dei nomi specificato definirà un'istanza di aggregazione. Ad esempio, le etichette `awswaf:managed:aws:bot-control:bot:name:axios` e `awswaf:managed:aws:bot-control:bot:name:curl` ognuna definiscono un'istanza di aggregazione.

Il seguente elenco JSON del pacchetto di protezione (Web ACL) mostra questa configurazione. La regola in questo esempio limita le richieste per ogni singola istanza di aggregazione di bot a 1.000 in un periodo di due minuti. 

```
{
  "Name": "test-web-acl",
  "Id": ... 
  "ARN": ...
  "DefaultAction": {
    "Allow": {}
  },
  "Description": "",
  "Rules": [
    {
      "Name": "AWS-AWSManagedRulesBotControlRuleSet",
      "Priority": 0,
      "Statement": {
        "ManagedRuleGroupStatement": {
          "VendorName": "AWS",
          "Name": "AWSManagedRulesBotControlRuleSet",
          "ManagedRuleGroupConfigs": [
            {
              "AWSManagedRulesBotControlRuleSet": {
                "InspectionLevel": "COMMON"
              }
            }
          ]
        }
      },
      "OverrideAction": {
        "None": {}
      },
      "VisibilityConfig": {
        "SampledRequestsEnabled": true,
        "CloudWatchMetricsEnabled": true,
        "MetricName": "AWS-AWSManagedRulesBotControlRuleSet"
      }
    },
    {
      "Name": "test-rbr",
      "Priority": 1,
      "Statement": {
        "RateBasedStatement": {
          "Limit": 1000,
          "EvaluationWindowSec": 120,
          "AggregateKeyType": "CUSTOM_KEYS",
          "CustomKeys": [
            {
              "LabelNamespace": {
                "Namespace": "awswaf:managed:aws:bot-control:bot:name:"
              }
            }
          ]
        }
      },
      "Action": {
        "Block": {}
      },
      "VisibilityConfig": {
        "SampledRequestsEnabled": true,
        "CloudWatchMetricsEnabled": true,
        "MetricName": "test-rbr"
      }
    }
  ],
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "test-web-acl"
  },
  "Capacity": 82,
  "ManagedByFirewallManager": false,
  "RetrofittedByFirewallManager": false,
  "LabelNamespace": "awswaf:0000000000:webacl:test-web-acl:"
}
```

# Rate limita le richieste con specifiche ASNs
<a name="waf-rate-based-example-limit-asn"></a>

Per limitare il numero di richieste provenienti da specifici numeri di sistema autonomi (ASNs) in base all'indirizzo IP delle richieste, imposta l'aggregazione delle richieste su *Chiavi personalizzate* e fornisci i criteri di aggregazione.

Il codice JSON seguente mostra un esempio di aggregazione di regole ASNs derivate dagli indirizzi IP inoltrati presenti nell'intestazione. `X-Forwarded-For` Se non è AWS WAF possibile derivare un ASN perché l'indirizzo IP non è valido, il comportamento di fallback è impostato su. `MATCH`

```
{
    "Name": "test-rbr",
    "Priority": 0,
    "Statement": {
        "RateBasedStatement": {
            "AggregateKeyType": "CUSTOM_KEYS",
            "CustomKeys": [
                {
                    "ASN": {}
                },
                {
                    "ForwardedIP": {}
                }
            ],
            "EvaluationWindowSec": 300,
            "ForwardedIPConfig": {
                "FallbackBehavior": "MATCH",
                "HeaderName": "X-Forwarded-For"
            },
            "Limit": 2000
        }
    },
    "VisibilityConfig": {
        "CloudWatchMetricsEnabled": true,
        "MetricName": "test-rbr",
        "SampledRequestsEnabled": true
    }
}
```

# Elenco degli indirizzi IP la cui velocità è limitata da regole basate sulla velocità
<a name="listing-managed-ips"></a>

Questa sezione spiega come accedere all'elenco di indirizzi IP attualmente limitati alla velocità da una regola basata sulla velocità utilizzando la CLI, l'API o uno qualsiasi dei. SDKs 

Se la regola basata sulla velocità si aggrega solo sull'indirizzo IP o sull'indirizzo IP inoltrato, puoi recuperare l'elenco di indirizzi IP a cui la regola attualmente limita la velocità. AWS WAF memorizza questi indirizzi IP nell'elenco delle chiavi gestite della regola. 

**Nota**  
Questa opzione è disponibile solo se si esegue l'aggregazione solo sull'indirizzo IP o solo su un indirizzo IP in un'intestazione. Se utilizzi l'aggregazione di richieste di chiavi personalizzate, non puoi recuperare un elenco di indirizzi IP a velocità limitata, anche se utilizzi una delle specifiche dell'indirizzo IP nelle tue chiavi personalizzate.

Una regola basata sulla frequenza applica l'azione della regola alle richieste dall'elenco delle chiavi gestite della regola che corrispondono all'istruzione scope-down della regola. Quando una regola non ha un'istruzione scope-down, applica l'azione a tutte le richieste provenienti dagli indirizzi IP presenti nell'elenco. L'azione della regola è Block predefinita, ma può essere qualsiasi azione valida tranne. Allow Il numero massimo di indirizzi IP che AWS WAF possono limitare la velocità utilizzando una singola istanza di regola basata sulla velocità è 10.000. Se più di 10.000 indirizzi superano il limite di velocità, AWS WAF limita quelli con le tariffe più elevate. 

Puoi accedere all'elenco delle chiavi gestite di una regola basata sulla tariffa utilizzando la CLI, l'API o uno qualsiasi dei. SDKs Questo argomento tratta l'accesso tramite CLI e. APIs La console non fornisce l'accesso all'elenco in questo momento. 

Per l' AWS WAF API, il comando è [GetRateBasedStatementManagedKeys](https://docs.aws.amazon.com/waf/latest/APIReference/API_GetRateBasedStatementManagedKeys.html).

[Per la AWS WAF CLI, il comando è get-rate-based-statement -managed-keys.](https://docs.aws.amazon.com/cli/latest/reference/wafv2/get-rate-based-statement-managed-keys.html) 

Di seguito viene illustrata la sintassi per recuperare l'elenco di indirizzi IP a velocità limitata per una regola basata sulla velocità utilizzata in un pacchetto di protezione (Web ACL) su una distribuzione Amazon. CloudFront 

```
aws wafv2 get-rate-based-statement-managed-keys --scope=CLOUDFRONT --region=us-east-1 --web-acl-name=WebACLName --web-acl-id=WebACLId --rule-name=RuleName
```

Di seguito viene illustrata la sintassi per un'applicazione regionale, un'API REST di Amazon API Gateway, un Application Load Balancer, un'API AWS AppSync GraphQL, un pool di utenti Amazon Cognito, AWS App Runner un servizio AWS Amplify o un'istanza Verified Access. AWS 

```
aws wafv2 get-rate-based-statement-managed-keys --scope=REGIONAL --region=region --web-acl-name=WebACLName --web-acl-id=WebACLId --rule-name=RuleName
```

AWS WAF monitora le richieste Web e gestisce le chiavi in modo indipendente per ogni combinazione unica di pacchetto di protezione (Web ACL), gruppo di regole opzionale e regola basata sulla frequenza. Ad esempio, se si definisce una regola basata sulla frequenza all'interno di un gruppo di regole e quindi si utilizza il gruppo di regole in un protection pack (Web ACL), AWS WAF monitora le richieste Web e gestisce le chiavi per quel protection pack (Web ACL), la dichiarazione di riferimento del gruppo di regole e l'istanza della regola basata sulla frequenza. Se utilizzi lo stesso gruppo di regole in un secondo pacchetto di protezione (Web ACL), AWS WAF monitora le richieste Web e gestisce le chiavi per questo secondo utilizzo in modo completamente indipendente dal primo.

Per una regola basata sulla frequenza che hai definito all'interno di un gruppo di regole, devi fornire il nome della dichiarazione di riferimento del gruppo di regole nella richiesta, oltre al nome del protection pack (Web ACL) e al nome della regola basata sulla frequenza all'interno del gruppo di regole. Di seguito viene illustrata la sintassi per un'applicazione regionale in cui la regola basata sulla frequenza è definita all'interno di un gruppo di regole e il gruppo di regole viene utilizzato in un pacchetto di protezione (ACL Web). 

```
aws wafv2 get-rate-based-statement-managed-keys --scope=REGIONAL --region=region --web-acl-name=WebACLName --web-acl-id=WebACLId --rule-group-rule-name=RuleGroupRuleName --rule-name=RuleName
```

# Utilizzo delle istruzioni delle regole del gruppo di regole in AWS WAF
<a name="waf-rule-statements-rule-group"></a>

**Nota**  
Le istruzioni delle regole del gruppo di regole non sono annidabili. 

Questa sezione descrive le istruzioni delle regole del gruppo di regole che è possibile utilizzare nel pacchetto di protezione (Web ACL). Le unità di capacità () del Rule Group Protection Pack (Web ACLWCUs) sono impostate dal proprietario del gruppo di regole al momento della creazione. Per informazioni su WCUs, vedere[Unità di capacità Web ACL (WCUs) in AWS WAF](aws-waf-capacity-units.md). 


| Istruzione gruppo di regole | Description | WCUs | 
| --- | --- | --- | 
|  [Utilizzo di istruzioni gestite per gruppi di regole](waf-rule-statement-type-managed-rule-group.md)  |  Esegue le regole definite nel gruppo di regole gestite specificato.  È possibile restringere l'ambito delle richieste valutate dal gruppo di regole aggiungendo un'istruzione scope-down.  Non è possibile inserire un'istruzione gestita di un gruppo di regole all'interno di nessun altro tipo di istruzione.  |  Definita dal gruppo di regole, più eventuali altre WCUs per un'istruzione con estensione limitata.  | 
| [Utilizzo delle istruzioni dei gruppi di regole](waf-rule-statement-type-rule-group.md) | Esegue le regole definite in un gruppo di regole gestito dall'utente.  Non è possibile aggiungere un'istruzione con ambito limitato a un'istruzione di riferimento di un gruppo di regole per il proprio gruppo di regole.  Non è possibile inserire un'istruzione di un gruppo di regole all'interno di un altro tipo di istruzione  | Il limite WCU per il gruppo di regole viene definito al momento della creazione. | 

# Utilizzo di istruzioni gestite per gruppi di regole in AWS WAF
<a name="waf-rule-statement-type-managed-rule-group"></a>

Questa sezione spiega come funzionano le istruzioni delle regole dei gruppi di regole gestite.

L'istruzione delle regole del gruppo di regole gestite aggiunge un riferimento nell'elenco delle regole del Protection Pack (Web ACL) a un gruppo di regole gestito. Questa opzione non è disponibile nelle istruzioni delle regole sulla console, ma quando lavori con il formato JSON dell'ACL Web, tutti i gruppi di regole gestiti che hai aggiunto vengono visualizzati nelle regole del Protection Pack (Web ACL) come questo tipo.

Un gruppo di regole gestito è un gruppo di regole AWS Managed Rules, la maggior parte dei quali sono gratuiti per AWS WAF i clienti, o un gruppo di regole Marketplace AWS gestito. Ti iscrivi automaticamente ai gruppi di regole AWS Managed Rules a pagamento quando li aggiungi al tuo protection pack (ACL web). Puoi iscriverti ai gruppi di regole Marketplace AWS gestiti tramite Marketplace AWS. Per ulteriori informazioni, consulta [Utilizzo di gruppi di regole gestiti in AWS WAF](waf-managed-rule-groups.md).

Quando si aggiunge un gruppo di regole a un protection pack (Web ACL), è possibile sostituire le azioni delle regole del gruppo con Count o con un'altra azione della regola. Per ulteriori informazioni, consulta [Sovrascrivere le azioni del gruppo di regole in AWS WAF](web-acl-rule-group-override-options.md).

È possibile restringere l'ambito delle richieste AWS WAF valutate con il gruppo di regole. A tale scopo, si aggiunge un'istruzione scope-down all'interno dell'istruzione del gruppo di regole. Per informazioni sulle istruzioni scope-down, vedere. [Utilizzo di istruzioni scope-down in AWS WAF](waf-rule-scope-down-statements.md) Questo può aiutarti a gestire il modo in cui il gruppo di regole influisce sul traffico e a contenere i costi associati al volume di traffico quando utilizzi il gruppo di regole. Per informazioni ed esempi sull'utilizzo delle istruzioni scope-down con il gruppo di regole gestito da AWS WAF Bot Control, consulta. [AWS WAF Controllo dei bot](waf-bot-control.md)

## Caratteristiche della dichiarazione delle regole
<a name="managed-rule-group-rule-statement-characteristics"></a>

**Not nestable**: non puoi inserire questo tipo di istruzione all'interno di altre istruzioni e non puoi includerlo in un gruppo di regole. Puoi includerlo direttamente in un pacchetto di protezione (Web ACL). 

**(Facoltativo) Istruzione Scope-down: questo tipo di regola richiede un'istruzione** Scope-down facoltativa, per restringere l'ambito delle richieste valutate dal gruppo di regole. Per ulteriori informazioni, consulta [Utilizzo di istruzioni scope-down in AWS WAF](waf-rule-scope-down-statements.md).

**WCUs**— Impostato per il gruppo di regole al momento della creazione.

## Dove trovare questa dichiarazione sulla regola
<a name="managed-rule-group-rule-statement-where-to-find"></a>
+ **Console**: durante il processo di creazione di un protection pack (ACL web), nella pagina **Aggiungi regole e gruppi** di regole, scegli **Aggiungi gruppi di regole gestiti**, quindi trova e seleziona il gruppo di regole che desideri utilizzare.
+ **API** — [ManagedRuleGroupStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_ManagedRuleGroupStatement.html)

# Utilizzo delle istruzioni dei gruppi di regole in AWS WAF
<a name="waf-rule-statement-type-rule-group"></a>

Questa sezione spiega come funzionano le istruzioni sulle regole dei gruppi di regole.

L'istruzione sulle regole del gruppo di regole aggiunge un riferimento all'elenco delle regole del Protection Pack (Web ACL) a un gruppo di regole gestito dall'utente. Questa opzione non è disponibile nelle istruzioni delle regole sulla console, ma quando utilizzi il formato JSON del tuo protection pack (Web ACL), tutti i gruppi di regole che hai aggiunto vengono visualizzati nelle regole del Protection Pack (Web ACL) come questo tipo. Per informazioni sull'uso dei gruppi di regole, consulta [Gestione dei propri gruppi di regole](waf-user-created-rule-groups.md).

Quando aggiungi un gruppo di regole a un protection pack (web ACL), puoi sostituire le azioni delle regole del gruppo con Count o con un'altra azione della regola. Per ulteriori informazioni, consulta [Sovrascrivere le azioni del gruppo di regole in AWS WAF](web-acl-rule-group-override-options.md).

## Caratteristiche della dichiarazione delle regole
<a name="rule-group-rule-statement-characteristics"></a>

**Not nestable**: non puoi inserire questo tipo di istruzione all'interno di altre istruzioni e non puoi includerlo in un gruppo di regole. Puoi includerlo direttamente in un pacchetto di protezione (Web ACL). 

**WCUs**— Impostato per il gruppo di regole al momento della creazione.

## Dove trovare questa dichiarazione sulla regola
<a name="rule-group-rule-statement-where-to-find"></a>
+ **Console**: durante il processo di creazione di un protection pack (ACL web), nella pagina **Aggiungi regole e gruppi** di regole, seleziona **Aggiungi regole e gruppi di regole personali**, **Gruppo** di regole, quindi aggiungi il gruppo di regole che desideri utilizzare.
+ **API**: [RuleGroupReferenceStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_RuleGroupReferenceStatement.html)