Utilizzo di condizioni di corrispondenza Cross-site scripting - 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 Cross-site scripting

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

A volte gli aggressori inseriscono script nelle richieste Web nel tentativo di sfruttare le vulnerabilità delle applicazioni Web. È possibile creare una o più condizioni di corrispondenza tra gli script tra siti per identificare le parti delle richieste Web, come l'URI o la stringa di query, che si desidera che AWS WAF Classic analizzi per individuare eventuali script dannosi. In un secondo momento, quando crei un'ACL Web, specifichi se desideri consentire o bloccare le richieste che sembrano contenere script dannosi.

Creazione di condizioni di corrispondenza Cross-site scripting

Quando crei condizioni di corrispondenza Cross-site scripting, specifichi i filtri. I filtri indicano la parte di richieste Web che AWS WAF Classic deve ispezionare per rilevare la presenza di script dannosi, come l'URI o la stringa di query. È possibile aggiungere più di un filtro a una condizione di corrispondenza Cross-site scripting oppure è possibile creare una condizione separata per ogni filtro. Ecco come ogni configurazione influisce sul comportamento di AWS WAF Classic:

  • Più di un filtro per condizione di corrispondenza tra siti di scripting (consigliato): quando aggiungi una condizione di corrispondenza tra siti scripting che contiene più filtri a una regola e aggiungi la regola a un ACL Web, una richiesta Web deve corrispondere solo a uno dei filtri nella condizione Cross-Scripting Match per AWS WAF Classic per consentire o bloccare la richiesta in base a tale condizione.

    Ad esempio, supponiamo di creare una condizione di corrispondenza Cross-site scripting e che la condizione contenga due filtri. Un filtro indica a AWS WAF Classic di ispezionare l'URI alla ricerca di script dannosi e l'altro indica a AWS WAF Classic di ispezionare la stringa di query. AWS WAF Classic consente o blocca le richieste se sembrano contenere script dannosi nell'URI o nella stringa di query.

  • Un filtro per condizione di corrispondenza tra siti di scripting: quando si aggiungono condizioni di corrispondenza separate per lo scripting cross-site scripting a una regola e si aggiunge 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.

    Supponiamo di creare due condizione e ogni condizione contenga uno dei due filtri dell'esempio precedente. 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 sia l'URI che la stringa di query sembrano contenere script dannosi.

Nota

Quando aggiungi una condizione di compatibilità tra siti di scripting a una regola, puoi anche configurare AWS WAF Classic per consentire o bloccare le richieste Web che non sembrano contenere script dannosi.

Per creare una condizione di corrispondenza Cross-site scripting
  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 Cross-site scripting.

  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 Cross-site scripting.

  5. Scegliere Add another filter (Aggiungi un altro 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 Cross-site scripting

Quando crei o aggiorni una condizione di corrispondenza Cross-site scripting, specifichi i valori seguenti:

Nome

Il nome della condizione di corrispondenza Cross-site scripting.

Il nome può contenere solo caratteri A - Z, a - z, 0 - 9 e i caratteri speciali: _-!"#`+*},./ . Non è possibile modificare il nome di una condizione dopo averla creata.

Parte della richiesta su cui applicare un filtro

Scegli la parte di ogni richiesta web che vuoi che AWS WAF Classic esamini alla ricerca di script dannosi:

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.

Nota

Per le condizioni di corrispondenza Cross-site scripting, si consiglia di scegliere All query parameters (values only) (Tutti i parametri di query (solo valori)) invece di Query string (Stringa di query) per Part of the request to filter on (Parte della richiesta su cui filtrare).

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 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é esaminare i valori di un singolo parametro, AWS WAF Classic esamina tutti i valori dei parametri all'interno della stringa di query per individuare possibili script dannosi. 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 o contiene possibili script dannosi. UserNameSalesRegion

Header

Se hai scelto Intestazione per parte della richiesta su cui filtrare, scegli un'intestazione dall'elenco delle intestazioni comuni o inserisci il nome di un'intestazione che desideri che AWS WAF Classic controlli per individuare eventuali script dannosi.

Trasformazione

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

Per le richieste che contengono comandi della riga di comando del sistema operativo, 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.

Aggiunta ed eliminazione di filtri in una condizione di corrispondenza Cross-site scripting

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

Per aggiungere o eliminare filtri in una condizione di corrispondenza Cross-site scripting
  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 Cross-site scripting.

  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 Cross-site scripting.

    3. Scegliere Aggiungi.

  5. Per eliminare filtri, procedere nel seguente modo:

    1. Selezionare il filtro da eliminare.

    2. Scegli Delete filter (Elimina filtro).

Eliminazione di condizioni di corrispondenza Cross-site scripting

Se desideri eliminare una condizione di corrispondenza Cross-site scripting, è 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 Cross-site scripting
  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 Cross-site scripting.

  3. Nel riquadro Cross-site scripting match conditions (Condizioni di corrispondenza Cross-site scripting), scegliere la condizione di corrispondenza Cross-site scripting da eliminare.

  4. Nel riquadro a destra, scegliere la scheda Associated rules (Regole associate).

    Se l'elenco di regole che utilizza questa condizione di corrispondenza Cross-site scripting è vuoto, passare alla fase 6. Se l'elenco contiene regole, prendere nota delle regole e continuare con la fase 5.

  5. Per rimuovere la condizione di corrispondenza Cross-site scripting dalle regole che la utilizzano, procedere nel seguente modo:

    1. Nel pannello di navigazione, scegli Regole.

    2. Scegliere il nome di una regola che utilizza la condizione di corrispondenza Cross-site scripting da eliminare.

    3. Nel riquadro a destra, selezionare la condizione di corrispondenza Cross-site scripting che si desidera rimuovere dalla regola e scegliere Remove selected condition (Rimuovi condizione selezionata).

    4. Ripetere le fasi b e c per tutte le regole rimanenti che utilizzano la condizione di corrispondenza Cross-site scripting da eliminare.

    5. Nel riquadro di navigazione, scegliere Cross-site scripting.

    6. Nel riquadro Cross-site scripting match conditions (Condizioni di corrispondenza Cross-site scripting), scegliere la condizione di corrispondenza Cross-site scripting da eliminare.

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