Utilizzo di condizioni di corrispondenza per regex - AWS WAFAWS Firewall Manager, e AWS Shield Advanced

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

Utilizzo di condizioni di corrispondenza per regex

Nota

Questa è la documentazione AWS WAF classica. Dovresti usare questa versione solo se hai creato AWS WAF risorse, come regole e ACL web, AWS WAF prima di novembre 2019 e non le hai ancora migrate alla versione più recente. Per eseguire la migrazione delle risorse, consulta Migrazione delle risorse AWS WAF Classic a AWS WAF.

Per la versione più recente di AWS WAF, vedi. AWS WAF

Se desideri consentire o bloccare le richieste Web in base alle stringe che corrispondono a un modello di espressione regolare (regex) visualizzato nelle richieste, crea condizioni di corrispondenza per regex. Una condizione di corrispondenza regex è un tipo di condizione di corrispondenza tra stringhe che identifica il pattern da cercare e la parte delle richieste Web, ad esempio un'intestazione specificata o la stringa di query, che AWS WAF Classic deve esaminare per individuare il pattern. In un secondo momento, quando crei un'ACL Web, specifichi se desideri consentire o bloccare le richieste che contengono il modello.

Creazione di una condizione di corrispondenza per regex

Quando si creano condizioni di corrispondenza per regex, specifichi set del modello che identificano la stringa (utilizzando un'espressione regolare) che desideri cercare. Questi set di pattern vengono quindi aggiunti ai filtri che specificano la parte di richieste Web che si desidera che AWS WAF Classic analizzi per quel set di modelli, ad esempio l'URI o la stringa di query.

È possibile aggiungere più espressioni regolari a un singolo set del modello. In questo caso, tali espressioni sono combinate con un OR (O). Cioè, una richiesta Web corrisponderà al set del modello se la parte appropriata della richiesta corrisponde a una qualsiasi delle espressioni elencate.

Quando aggiungi una condizione di corrispondenza regex a una regola, puoi anche configurare AWS WAF Classic per consentire o bloccare le richieste Web che non corrispondono ai valori della condizione.

AWS WAF Classic supporta la maggior parte delle espressioni regolari compatibili con Perl (PCRE) standard. Tuttavia, non sono supportate le seguenti:

  • Backreference e sottoespressioni di acquisizione

  • Asserzioni arbitrarie a larghezza nulla

  • Riferimenti di subroutine e modelli ricorsivi

  • Modelli condizionali

  • Verbi di controllo di backtracking

  • La direttiva\C a byte singolo

  • La direttiva \R di corrispondenza nuova riga

  • L'inizio \K della direttiva di reimpostazione della corrispondenza

  • Callout e codice incorporato

  • Raggruppamento atomico e quantificatori possessivi

Per creare una condizione di corrispondenza regex
  1. Accedi AWS Management Console e apri la AWS WAF console all'indirizzo https://console.aws.amazon.com/wafv2/.

    Se vedi Passa alla AWS WAF versione classica nel riquadro di navigazione, selezionalo.

  2. Nel riquadro di navigazione, scegliere String and regex matching (Stringa e regex corrispondenti).

  3. Scegliere Create condition (Crea condizione).

  4. Specificare le impostazioni di filtro applicabili. Per ulteriori informazioni, consulta Valori che specifichi quando crei o modifichi le condizioni di RegEx corrispondenza.

  5. Scegliere Create pattern set and add filter (Crea set del modello e aggiungi filtro) (se è stato creato un nuovo set del modello) o Add filter (Aggiungi filtro) se è stato utilizzato un set del modello esistente.

  6. Scegli Crea.

Valori che specifichi quando crei o modifichi le condizioni di RegEx corrispondenza

Quando crei o aggiorni una condizione di corrispondenza per regex specifichi i valori seguenti:

Nome

Immetti un nome per la condizione di corrispondenza per regex. Il nome può contenere solo caratteri alfanumerici (A - Z, a - z, 0 - 9) o i seguenti caratteri speciali: _-!"#`+*},./. Non è possibile modificare il nome di una condizione dopo averla creata.

Type

Scegliere Regex match (Corrispondenza regex).

Parte della richiesta su cui applicare un filtro

Scegliete la parte di ogni richiesta web a cui desiderate che AWS WAF Classic esamini per verificare la corrispondenza del modello specificato in Valore:

Header

Un'intestazione della richiesta specificata, ad esempio, l'intestazione User-Agent o Referer. Se scegli Header (Intestazione), specifica il nome dell'intestazione nel campo Header (Intestazione).

Metodo HTTP

Il metodo HTTP, che indica il tipo di operazione che la richiesta chiede all'origine di eseguire. CloudFront supporta i seguenti metodi: DELETEGET,HEAD, OPTIONSPATCH,POST, ePUT.

Stringa di query

La parte di un URL che viene visualizzata dopo un carattere ?, se presente.

URI

Il percorso URI della richiesta, che identifica la risorsa, /images/daily-ad.jpg ad esempio. Ciò non include la stringa di query o i componenti del frammento dell'URI. Per informazioni, vedete Uniform Resource Identifier (URI): sintassi generica.

A meno che non venga specificata una trasformazione, un URI non viene normalizzato e viene ispezionato non appena lo AWS riceve dal client come parte della richiesta. Un valore in Transformation (Trasformazione) riformatterà l'URI come specificato.

Body

La parte di una richiesta che contiene i dati aggiuntivi da inviare al server Web come corpo della richiesta HTTP, come i dati provenienti da un modulo.

Nota

Se scegliete Body come valore di Parte della richiesta su cui filtrare, AWS WAF Classic ispeziona solo i primi 8192 byte (8 KB). Per consentire o bloccare le richieste il cui corpo è più lungo di 8192 byte, puoi creare una condizione di vincolo di dimensione. (AWS WAF Classic ottiene la lunghezza del corpo dalle intestazioni della richiesta.) Per ulteriori informazioni, consulta Utilizzo di condizioni per i vincoli di dimensioni.

Parametro di query singola (solo valore)

Qualsiasi parametro che hai definito come parte della stringa di query. Ad esempio, se l'URL è «www.xyz.com? UserName =abc& SalesRegion =seattle» puoi aggiungere un filtro al parametro or. UserNameSalesRegion

Se nella stringa di query vengono visualizzati parametri duplicati, i valori vengono valutati come "OR" (O). Cioè, entrambi i valori attiveranno una corrispondenza. Ad esempio, nell'URL «www.xyz.com? SalesRegion =boston& SalesRegion =seattle», un pattern che corrisponde a «boston» o «seattle» in Value to match attiverà una corrispondenza.

Se scegli Single query parameter (value only) (Parametro di query singola (solo valore)), sarà necessario anche specificare un valore in Query parameter name (Nome di parametro query). Questo è il parametro nella stringa di query che esaminerai, ad esempio o. UserNameSalesRegion La lunghezza massima per Query parameter name (Nome di parametro query) è 30 caratteri. Query parameter name (Nome di parametro query) non opera distinzione tra maiuscole e minuscole. Ad esempio, se si specifica UserNamecome nome del parametro Query, questo corrisponderà a tutte le varianti di UserName, come username e UserName.

Tutti i parametri di query (solo valori)

Analogamente al parametro Single query (solo valore), ma anziché controllare il valore di un singolo parametro, AWS WAF Classic esamina il valore di tutti i parametri all'interno della stringa di query per individuare il modello specificato in Valore da abbinare. Ad esempio, nell'URL «www.xyz.com? UserName =abc& SalesRegion =seattle», un pattern in Value to match che corrisponde al valore in o attiverà una corrispondenza. UserNameSalesRegion

Intestazione (solo quando la "Part of the request to filter on (Parte della richiesta sulla quale filtrare)" è "Header (Intestazione)")

Se hai scelto Intestazione dalla parte della richiesta per filtrare l'elenco, scegli un'intestazione dall'elenco delle intestazioni comuni o inserisci il nome di un'intestazione che desideri che Classic controlli. AWS WAF

Trasformazione

Una trasformazione riformatta una richiesta web prima che Classic esamini la richiesta. AWS WAF Ciò elimina parte della formattazione insolita utilizzata dagli aggressori nelle richieste Web nel tentativo di aggirare la versione classica. AWS WAF

È possibile specificare solo un unico tipo di trasformazione del testo.

Questo è in grado di eseguire le operazioni descritte di seguito:

Nessuno

AWS WAF Classic non esegue alcuna trasformazione di testo sulla richiesta Web prima di controllarla per verificare che la stringa in Value corrisponda.

Conversione in minuscolo

AWS WAF La versione classica converte le lettere maiuscole (A-Z) in minuscole (a-z).

Decodifica HTML

AWS WAF Classic sostituisce i caratteri con codifica HTML con caratteri non codificati:

  • Sostituisce " con &

  • Sostituisce   con uno spazio unificatore

  • Sostituisce &lt; con <

  • Sostituisce &gt; con >

  • Sostituisce i caratteri rappresentati in formato esadecimale, &#xhhhh;, con i caratteri corrispondenti

  • Sostituisce i caratteri rappresentati in formato decimale, &#nnnn;, con i caratteri corrispondenti

Normalizza lo spazio vuoto

AWS WAF Classic sostituisce i seguenti caratteri con uno spazio (decimale 32):

  • \f, alimentazione modulo, decimale 12

  • \t, tabulazione, decimale 9

  • \n, nuova riga, decimale 10

  • \r, ritorno a capo, decimale 13

  • \v, tabulazione verticale, decimale 11

  • spazio unificatore, decimale 160

Inoltre, questa opzione sostituisce più spazi con uno spazio.

Semplificazione della riga di comando

Se sei preoccupato che gli aggressori stiano inserendo un comando da riga di comando del sistema operativo e stiano utilizzando una formattazione insolita per mascherare alcuni o tutti i comandi, utilizza questa opzione per eseguire le seguenti trasformazioni:

  • Elimina i seguenti caratteri: \ " ' ^

  • Eliminare gli spazi prima dei seguenti caratteri: / (

  • Sostituire i seguenti caratteri con uno spazio: , ;

  • Sostituire più spazi con uno spazio

  • Convertire le lettere maiuscole (A-Z) in lettere minuscole (a-z)

Decodifica URL

Decodifica una richiesta con codifica URL.

Modello regex che corrisponde alla richiesta

È possibile scegliere un set del modello esistente o crearne uno nuovo. Se ne crei uno nuovo, specifica quanto segue:

Nuovo nome del set del modello

Immettete un nome, quindi specificate lo schema regex che desiderate che AWS WAF Classic cerchi.

Se aggiungi più espressioni regolari a un set del modello, tali espressioni sono combinate con un OR (O). Cioè, una richiesta Web corrisponderà al set del modello se la parte appropriata della richiesta corrisponde a una qualsiasi delle espressioni elencate.

La lunghezza massima di Value to match (Valore per la corrispondenza) è di 70 caratteri.

Modifica di una condizione di corrispondenza per regex

È possibile apportare le seguenti modifiche a una condizione di corrispondenza per regex esistente:

  • Eliminare un modello da un set del modello esistente

  • Aggiungere un modello a un set del modello esistente

  • Eliminare un filtro in una condizione di corrispondenza per regex esistente

  • Aggiungi un filtro a una condizione di corrispondenza regex esistente (puoi avere solo un filtro in una condizione di corrispondenza regex. Pertanto, per aggiungere un filtro, è necessario prima eliminare il filtro esistente.)

  • Eliminare una condizione di corrispondenza per regex esistente

Nota

Non è possibile aggiungere o eliminare un set del modello da un filtro esistente. È necessario modificare il set del modello o eliminare il filtro e creare un nuovo filtro con un nuovo set del modello.

Per eliminare un modello da un set del modello esistente
  1. Accedere AWS Management Console e aprire la AWS WAF console all'indirizzo https://console.aws.amazon.com/wafv2/.

    Se vedi Passa alla AWS WAF versione classica nel riquadro di navigazione, selezionalo.

  2. Nel riquadro di navigazione, scegliere String and regex matching (Stringa e regex corrispondenti).

  3. Scegliere View regex pattern sets (Visualizza set del modello regex).

  4. Scegliere il nome del set del modello da modificare.

  5. Scegli Modifica.

  6. Scegliere la X accanto al modello da eliminare.

  7. Selezionare Salva.

Per aggiungere un modello a un set del modello esistente
  1. Accedi AWS Management Console e apri la AWS WAF console all'indirizzo https://console.aws.amazon.com/wafv2/.

    Se vedi Passa alla AWS WAF versione classica nel riquadro di navigazione, selezionalo.

  2. Nel riquadro di navigazione, scegliere String and regex matching (Stringa e regex corrispondenti).

  3. Scegliere View regex pattern sets (Visualizza set del modello regex).

  4. Scegliere il nome del set del modello da modificare.

  5. Scegli Modifica.

  6. Immettere un nuovo modello regex.

  7. Scegliere il + accanto al nuovo modello.

  8. Selezionare Salva.

Per eliminare un filtro da una condizione di corrispondenza per regex esistente
  1. Accedi AWS Management Console e apri la AWS WAF console all'indirizzo https://console.aws.amazon.com/wafv2/.

    Se vedi Passa alla AWS WAF versione classica nel riquadro di navigazione, selezionalo.

  2. Nel riquadro di navigazione, scegliere String and regex matching (Stringa e regex corrispondenti).

  3. Scegliere il nome della condizione con il filtro da eliminare.

  4. Scegliere la casella accanto al filtro da eliminare.

  5. Scegli Delete filter (Elimina filtro).

Per eliminare una condizione di corrispondenza per regex
  1. Accedi AWS Management Console e apri la AWS WAF console all'indirizzo https://console.aws.amazon.com/wafv2/.

    Se vedi Passa alla AWS WAF versione classica nel riquadro di navigazione, selezionalo.

  2. Eliminare il filtro dalla condizione regex. Per istruzioni su come eseguire questa operazione, consulta Per eliminare un filtro da una condizione di corrispondenza per regex esistente.

  3. Rimuovere la condizione di corrispondenza per regex dalle regole che la utilizzano:

    1. Nel pannello di navigazione, scegli Regole.

    2. Scegliere il nome di una regola che utilizza la condizione di corrispondenza per regex da eliminare.

    3. Nel riquadro a destra, selezionare Edit rule (Modifica regola).

    4. Scegliere la X accanto alla condizione da eliminare.

    5. Scegli Aggiorna.

    6. Ripetere per tutte le regole rimanenti che utilizzano la condizione di corrispondenza per regex da eliminare.

  4. Nel riquadro di navigazione, scegliere String and regex matching (Stringa e regex corrispondenti).

  5. Selezionare il pulsante accanto alla condizione da eliminare.

  6. Scegli Elimina.

Per aggiungere o modificare un filtro in una condizione di corrispondenza per regex esistente

È possibile disporre di un solo filtro in una condizione corrispondenza per regex. Se si desidera aggiungere o modificare il filtro, è necessario prima eliminare il filtro esistente.

  1. Accedi AWS Management Console e apri la AWS WAF console all'indirizzo https://console.aws.amazon.com/wafv2/.

    Se vedi Passa alla AWS WAF versione classica nel riquadro di navigazione, selezionalo.

  2. Eliminare il filtro dalla condizione regex da modificare. Per istruzioni su come eseguire questa operazione, consulta Per eliminare un filtro da una condizione di corrispondenza per regex esistente.

  3. Nel riquadro di navigazione, scegliere String and regex matching (Stringa e regex corrispondenti).

  4. Scegliere il nome della condizione da modificare.

  5. Scegliere Add filter (Aggiungi filtro).

  6. Inserire i valori appropriati per il nuovo filtro e scegliere Add (Aggiungi).