Utilizzo di condizioni di corrispondenza per stringa - 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 stringa

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 visualizzate nelle richieste, crea condizioni di corrispondenza geografica. Una condizione di corrispondenza tra stringhe identifica la stringa da cercare e la parte di richieste Web, ad esempio un'intestazione specificata o la stringa di query, che AWS WAF Classic deve esaminare per individuare la stringa. In un secondo momento, quando crei un'ACL Web, specifichi se desideri consentire o bloccare le richieste che contengono la stringa.

Creazione di una condizione di corrispondenza per stringa

Quando si creano condizioni di corrispondenza tra stringhe, si specificano filtri che identificano la stringa da cercare e la parte di richieste Web che si desidera che AWS WAF Classic analizzi per quella stringa, ad esempio l'URI o la stringa di query. È possibile aggiungere più di un filtro a una condizione di corrispondenza stringa oppure è possibile creare una condizione di corrispondenza stringa separata per ogni filtro. Ecco come ogni configurazione influisce sul comportamento di AWS WAF Classic:

  • Un filtro per condizione di corrispondenza della stringa: quando aggiungi condizioni di corrispondenza delle stringhe separate a una regola e aggiungi la regola a un ACL Web, le richieste Web devono soddisfare tutte le condizioni affinché AWS WAF Classic consenta o blocchi le richieste in base alle condizioni.

    Ad esempio, supponiamo che crei due condizioni. Una corrisponde alle richieste Web che contengono il valore BadBot nell'intestazione User-Agent. L'altra corrisponde alle richieste Web che contengono il valore BadParameter nelle stringhe di query. Quando aggiungi entrambe le condizioni alla stessa regola e aggiungi la regola a un ACL web, AWS WAF Classic consente o blocca le richieste solo quando contengono entrambi i valori.

  • Più di un filtro per condizione di corrispondenza delle stringhe: quando aggiungi una condizione di corrispondenza delle stringhe che contiene più filtri a una regola e aggiungi la regola a un ACL Web, una richiesta Web deve soddisfare solo uno dei filtri nella condizione di corrispondenza delle stringhe per AWS WAF Classic per consentire o bloccare la richiesta in base a un'unica condizione.

    Supponiamo di creare una condizione anziché due e che l'unica condizione contenga gli stessi due filtri dell'esempio precedente. AWS WAF La versione classica consente o blocca le richieste se sono contenute BadBot nell'User-Agentintestazione o BadParameter nella stringa di query.

Nota

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

Per creare una condizione di corrispondenza stringa
  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 da specificare durante la creazione o la modifica di condizioni di corrispondenza per stringa.

  5. Scegliere Add filter (Aggiungi filtro).

  6. Se si desidera aggiungere un altro filtro, ripetere le fasi 4 e 5.

  7. Dopo aver aggiunto i filtri, selezionare Create (Crea).

Valori da specificare durante la creazione o la modifica di condizioni di corrispondenza per stringa

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

Nome

Immetti un nome per la condizione di corrispondenza stringa. 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 String match (Corrispondenza stringa).

Parte della richiesta su cui applicare un filtro

Scegli la parte di ogni richiesta web a cui desideri che AWS WAF Classic controlli per verificare se la stringa specificata in Value corrisponda:

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», «boston» o «seattle» in Value to match attiveranno 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 valore da abbinare. Ad esempio, se l'URL è «www.xyz.com? UserName =abc& SalesRegion =seattle» e scegli Tutti i parametri di query (solo valori), AWS WAF Classic attiverà una corrispondenza se il valore di uno dei due è specificato come Valore da abbinare. 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 AWS WAF Classic controlli.

Tipo di corrispondenza

All'interno della parte della richiesta che vuoi che AWS WAF Classic esamini, scegli dove deve apparire la stringa in Value to match per corrispondere a questo filtro:

Contiene

La stringa viene visualizzata ovunque nella parte specificata della richiesta.

Contiene parola

La parte specificata della richiesta Web deve includere Value to match (Valore per la corrispondenza) e Value to match (Valore per la corrispondenza) deve contenere solo caratteri alfanumerici o caratteri di sottolineatura (A-Z, a-z, 0-9 o _). Inoltre, Value to match (Valore per la corrispondenza) deve essere una parola, il che significa una delle seguenti opzioni:

  • Value to match (Valore per la corrispondenza) corrisponde esattamente al valore della parte specificata della richiesta Web, come il valore di un'intestazione.

  • Value to match (Valore per la corrispondenza) si trova all'inizio della parte specificata della richiesta Web ed è seguito da un carattere diverso da un carattere alfanumerico o un carattere di sottolineatura (_), ad esempio, BadBot;.

  • Value to match (Valore per la corrispondenza) si trova alla fine della parte specificata della richiesta Web ed è preceduto da un carattere diverso da un carattere alfanumerico o un carattere di sottolineatura (_), ad esempio, ;BadBot.

  • Value to match (Valore per la corrispondenza) si trova al centro della parte specificata della richiesta Web ed è preceduto e seguito da caratteri diversi da caratteri alfanumerici o caratteri di sottolineatura (_), ad esempio, -BadBot;.

Corrispondenza esatta

La stringa e il valore della parte specificata della richiesta sono identici.

Inizia con

La stringa viene visualizzata all'inizio della parte specificata della richiesta.

Ends with

La stringa viene visualizzata alla fine della parte specificata della richiesta.

Trasformazione

Una trasformazione riformatta una richiesta web prima che AWS WAF Classic esamini la richiesta. 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.

Il valore è codificato con base64

Se il valore in Value to match (Valore per la corrispondenza) è codificato con base64, seleziona questa casella di controllo. Utilizza la codifica base64 per specificare i caratteri non stampabili, come le tabulazioni e gli avanzamenti riga, che gli aggressori includono nelle loro richieste.

Valore per la corrispondenza

Specificate il valore che desiderate che AWS WAF Classic cerchi nelle richieste web. La lunghezza massima è 50 byte. Se effettui la codifica base64 del valore, la lunghezza massima di 50 byte si applica al valore prima di codificarlo.

Aggiunta ed eliminazione di filtri in una condizione di corrispondenza per stringa

È possibile aggiungere a una condizione di corrispondenza per stringa o eliminare filtri. Per modificare un filtro, aggiungine uno nuovo ed elimina il precedente.

Per aggiungere o eliminare filtri in una condizione di corrispondenza stringa
  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 la condizione a aggiungere o da cui eliminare i filtri.

  4. Per aggiungere filtri, procedere nel seguente modo:

    1. Scegliere Add filter (Aggiungi filtro).

    2. Specificare le impostazioni di filtro applicabili. Per ulteriori informazioni, consulta Valori da specificare durante la creazione o la modifica di condizioni di corrispondenza per stringa.

    3. Scegliere Aggiungi.

  5. Per eliminare filtri, procedere nel seguente modo:

    1. Selezionare il filtro da eliminare.

    2. Scegliere Delete filter (Elimina filtro).

Eliminazione delle condizioni di corrispondenza stringa

Se desideri eliminare una condizione di corrispondenza stringa, è necessario prima eliminare tutti i filtri nella condizione e rimuovere la condizione da tutte le regole che la utilizzano, come descritto nella seguente procedura.

Per eliminare una condizione di corrispondenza stringa
  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. Rimuovere la condizione di corrispondenza stringa 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 stringa 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 stringa da eliminare.

  3. Rimuovere i filtri dalla condizione da eliminare:

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

    2. Scegliere il nome della condizione di corrispondenza stringa da eliminare.

    3. Nel riquadro a destra, scegliere la casella di controllo accanto a Filter (Filtro) per selezionare tutti i filtri.

    4. Scegliere Delete filter (Elimina filtro).

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

  5. Nel riquadro String and regex match conditions (Condizioni di corrispondenza stringa e per regex), scegliere la condizione di corrispondenza stringa da eliminare.

  6. Scegliere Delete (Elimina) per eliminare la condizione selezionata.