Richiedi le opzioni dei componenti - 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à.

Richiedi le opzioni dei componenti

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 Dichiarazioni sulle regole della partita

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.

Metodo HTTP

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

Intestazione singola

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.

Tutte le intestazioni

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.

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

  • 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'ANDistruzione 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. Gestione di componenti di richiesta sovradimensionati in AWS WAF

Ordine delle intestazioni

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. Gestione di componenti di richiesta sovradimensionati in AWS WAF

Cookie

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'ANDistruzione 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. Gestione di componenti di richiesta sovradimensionati in AWS WAF

Percorso URI

Ispeziona la parte di un URL che identifica una risorsa, ad esempio. /images/daily-ad.jpg Per informazioni, vedere Uniform Resource Identifier (URI): 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. Opzioni di trasformazione del testo

Impronta digitale JA3

Controlla l'impronta digitale JA3 della richiesta.

Nota

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

L'impronta digitale JA3 è 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'impronta digitale JA3 per un client

È possibile ottenere l'impronta digitale JA3 per le richieste di un client dai registri ACL Web. Se AWS WAF è in grado di calcolare l'impronta digitale, la include nei registri. Per informazioni sui campi di registrazione, vedere. Campi di log

Requisiti della dichiarazione delle regole

È possibile controllare l'impronta digitale JA3 solo all'interno di un'istruzione di corrispondenza delle stringhe impostata in modo che corrisponda esattamente alla stringa fornita. Fornisci la stringa di impronte digitali JA3 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

È 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 ACL Web. Per informazioni, consulta Registrazione del traffico AWS WAF ACL Web.

Stringa di query

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 query si aggiungono 10 WCU al costo base.

Parametro di query singola

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 specificaUserName, AWS WAF corrisponde a tutte le varianti diUserName, incluso username eUsERName.

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

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 10 WCU al costo base.

Body

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 tua configurazione ACL web. Per ulteriori informazioni, consulta Gestione dei limiti di dimensione delle ispezioni corporee.

È 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. Gestione di componenti di richiesta sovradimensionati in AWS WAF

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

Corpo JSON

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

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 tua configurazione ACL web. Per ulteriori informazioni, consulta Gestione dei limiti di dimensione delle ispezioni corporee.

È 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. Gestione di componenti di richiesta sovradimensionati in AWS WAF

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

Passaggi e opzioni per 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. Di seguito sono elencati i passaggi e le opzioni di configurazione aggiuntive per questo tipo di componente di richiesta.

  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.

  2. 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'ANDistruzione 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 (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 chiaveb, che fa parte del percorso degli elementi inclusi, non viene valutata.

    • Tutti:e, f, e. g

    • Chiavi: e ef.

    • Valori:g.

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