Richiedi componenti in AWS WAF - AWS WAF, AWS 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 componenti in AWS WAF

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 stringhe match, regex match, size constraint e SQL injection attack. 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

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.

Il AWS WAF la console e API la documentazione forniscono 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.

  • APIcontenuto della dichiarazione — FieldToMatch

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

HTTPmetodo

Ispeziona il HTTP metodo della richiesta. Il HTTP metodo 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.

  • Match scope: le parti delle intestazioni che AWS WAF deve ispezionare secondo i criteri di ispezione previsti dalla norma. È possibile specificare Keys, Values o All 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 delle dimensioni eccessive: come AWS WAF dovrebbe gestire le richieste con dati di intestazione più grandi di AWS WAF può ispezionare. AWS WAF può ispezionare al massimo i primi 8 KB (8.192 byte) delle intestazioni della richiesta e al massimo le prime 200 intestazioni. Il contenuto è consultabile da AWS WAF fino al primo limite raggiunto. È possibile scegliere di continuare l'ispezione o 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 richieste Web di grandi dimensioni 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 ispezione. AWS WAF genera la stringa e poi la utilizza come campo per abbinare il componente nella 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 di grandi dimensioni: come AWS WAF dovrebbe gestire le richieste con dati di intestazione più numerosi o più grandi di AWS WAF può ispezionare. AWS WAF può ispezionare al massimo i primi 8 KB (8.192 byte) delle intestazioni della richiesta e al massimo le prime 200 intestazioni. Il contenuto è consultabile da 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 richieste Web di grandi dimensioni in AWS WAF

Cookie

Ispeziona tutti i cookie richiesti. 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 dovrebbe ispezionare secondo i 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 delle dimensioni eccessive: come AWS WAF dovrebbe gestire le richieste che contengono dati dei cookie più grandi di AWS WAF può 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 è consultabile da AWS WAF fino al primo limite raggiunto. È possibile scegliere di continuare l'ispezione o 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 richieste Web di grandi dimensioni in AWS WAF

URIpercorso

Ispeziona la parte di a 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 del testo con questa opzione, AWS WAF non normalizza 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

JA3impronta digitale

Controlla l'impronta digitale della richiesta. JA3

Nota

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

L'JA3impronta digitale è un hash di 32 caratteri derivato dal Client Hello di una richiesta in arrivoTLS. Questa impronta digitale funge da identificatore univoco per la configurazione del client. TLS 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'JA3impronta digitale di un cliente

È possibile ottenere l'JA3impronta digitale per le richieste di un cliente dai registri WebACL. 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 ACL traffico web

Requisiti della dichiarazione delle regole

È possibile controllare l'JA3impronta 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 TLS configurazione. 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 partita che desideri AWS WAF da assegnare alla richiesta web se AWS WAF non è in grado di calcolare l'JA3impronta digitale. 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 abbinamento, devi registrare il tuo ACL traffico web. Per informazioni, consultare Registrazione AWS WAF ACLtraffico web.

Stringa di query

Ispeziona la parte 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

Ispeziona un singolo parametro di interrogazione 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 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 si specifica UserName AWS WAF corrisponde a tutte le varianti diUserName, tra cui username eUsERName.

Se la stringa di query contiene più di un'istanza dell'argomento di interrogazione che hai specificato, AWS WAF ispeziona tutti i valori per individuare una corrispondenza, utilizzando OR logica. Ad esempio, in URL www.xyz.com?SalesRegion=boston&SalesRegion=seattle AWS WAF valuta il nome che hai specificato rispetto a boston eseattle. 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 interrogazione, ma AWS WAF ispeziona i valori di tutti gli argomenti all'interno della stringa di query. Ad esempio, se URL èwww.xyz.com?UserName=abc&SalesRegion=seattle, AWS WAF attiva una corrispondenza se il valore UserName o SalesRegion corrisponde ai criteri di ispezione.

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

Body

Ispeziona il corpo della richiesta, valutato come testo semplice. È inoltre possibile valutare il corpo utilizzando il JSON 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.

  • Nelle specifiche della regolaAPI, FieldToMatch specifichi di Body ispezionare il corpo della richiesta come testo semplice.

Per Application Load Balancer e AWS AppSync, AWS WAF può ispezionare i primi 8 KB del corpo di una richiesta. Per impostazione CloudFront predefinita, API Gateway, Amazon Cognito, App Runner e Verified Access, AWS WAF puoi ispezionare i primi 16 KB e puoi aumentare il limite fino a 64 KB nella tua configurazione web. ACL Per ulteriori informazioni, consulta Gestione dei limiti di dimensione delle ispezioni corporee per AWS WAF.

È necessario specificare la gestione delle dimensioni eccessive per questo tipo di componente. La gestione di sovradimensionamenti definisce come AWS WAF gestisce le richieste con dati corporei più grandi di AWS WAF può ispezionare. È 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 richieste Web di grandi dimensioni in AWS WAF

È inoltre possibile valutare il corpo così com'è stato JSON analizzato. Per informazioni a riguardo, consultate la sezione che segue.

JSONcorpo

Ispeziona il corpo della richiesta, valutato come. JSON È inoltre possibile 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 l'opzione Tipo di contenuto JSON.

  • NellaAPI, nelle FieldToMatch specifiche della regola, si specificaJsonBody.

Per Application Load Balancer e AWS AppSync, AWS WAF può ispezionare i primi 8 KB del corpo di una richiesta. Per impostazione CloudFront predefinita, API Gateway, Amazon Cognito, App Runner e Verified Access, AWS WAF puoi ispezionare i primi 16 KB e puoi aumentare il limite fino a 64 KB nella tua configurazione web. ACL Per ulteriori informazioni, consulta Gestione dei limiti di dimensione delle ispezioni corporee per AWS WAF.

È necessario specificare la gestione delle dimensioni eccessive per questo tipo di componente. La gestione di sovradimensionamenti definisce come AWS WAF gestisce le richieste con dati corporei più grandi di AWS WAF può ispezionare. È 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 richieste Web di grandi dimensioni in AWS WAF

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 JSON analisi, l'utilizzo dell'JSONanalisi raddoppia il costo a 10. WCUs

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

In che modo AWS WAF gestisce l'ispezione della JSON carrozzeria

Quando AWS WAF ispeziona il corpo della richiesta web mentre JSON esegue le operazioni per analizzare il corpo ed estrarre JSON gli elementi per l'ispezione. AWS WAF esegue questi passaggi in base alle scelte di configurazione.

Di seguito sono elencati i passaggi che AWS WAF esegue.

  1. Analizza il contenuto del corpo — AWS WAF analizza il contenuto del corpo della richiesta web per estrarne JSON gli elementi per l'ispezione. AWS WAF fa del suo meglio per analizzare l'intero contenuto del corpo, ma l'analisi può fallire per una serie di stati di errore nel contenuto. 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 AWS WAF lo fa se 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'JSONispezione 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 AWS WAF incontra un errore durante l'analisi della stringa. JSON

    L'analisi non convalida completamente il JSON

    AWS WAF l'analisi non convalida completamente la JSON stringa di input, quindi l'analisi può avere successo anche se non è valida. JSON

    Ad esempio, AWS WAF analizza quanto segue non valido senza errori: JSON

    • 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 è completamente validoJSON, il risultato delle fasi successive della valutazione può variare. Nell'estrazione potrebbero mancare alcuni elementi oppure la valutazione della regola potrebbe avere risultati imprevisti. Ti consigliamo di convalidare JSON ciò che ricevi nell'applicazione e di gestirlo JSON come non valido, se necessario.

  2. Estrai gli elementi JSON: AWS WAF identifica il sottoinsieme di JSON elementi da ispezionare in base alle impostazioni:

    • L'opzione JSONmatch scope specifica i tipi di elementi presenti nel JSON AWS WAF dovrebbe ispezionare.

      È 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 desiderato AWS WAF ispezionare.

      È necessario specificare una delle seguenti opzioni:

      • JSONContenuto completo: valuta tutti gli elementi.

      • Solo elementi inclusi: valuta solo gli elementi i cui percorsi corrispondono ai criteri del JSON puntatore forniti. Non utilizzate questa opzione per indicare tutti i percorsi in. JSON Utilizzate invece il JSONcontenuto completo.

        Per informazioni sulla sintassi di JSON Pointer, vedete 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

        In API alternativaCLI, 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" } } } }

    L'elemento imposta questo AWS WAF controllerebbe ogni impostazione del JSONmatch scope elencata 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 JSON elementi: AWS WAF applica tutte le trasformazioni di testo che hai specificato agli JSON elementi 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 JSON elementi estratti corrisponde, la richiesta web corrisponde alla regola.