Utilizzo degli indirizzi IP inoltrati in AWS WAF - 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 degli indirizzi IP inoltrati in AWS WAF

Questa sezione si applica alle istruzioni delle regole che utilizzano l'indirizzo IP di una richiesta Web. Per impostazione predefinita, AWS WAF utilizza l'indirizzo IP dall'origine della richiesta Web. Tuttavia, se una richiesta Web passa attraverso uno o più proxy o sistemi di bilanciamento del carico, l'origine della richiesta Web conterrà l'indirizzo dell'ultimo proxy e non l'indirizzo di origine del client. In questo caso, l'indirizzo del client di origine viene solitamente inoltrato in un'altra intestazione. HTTP Questa intestazione è in genere X-Forwarded-For (XFF), ma può essere diversa.

Istruzioni di regole che utilizzano indirizzi IP

Le istruzioni delle regole che utilizzano gli indirizzi IP sono le seguenti:

  • Corrispondenza set di IP- Controlla che l'indirizzo IP corrisponda agli indirizzi definiti in un set IP.

  • Corrispondenza geografica- Utilizza l'indirizzo IP per determinare il paese e la regione di origine e confronta il paese di origine con un elenco di paesi.

  • Utilizzo di istruzioni di regole basate sulla frequenza- Può aggregare le richieste in base ai propri indirizzi IP per garantire che nessun indirizzo IP individuale invii richieste a una velocità troppo elevata. È possibile utilizzare l'aggregazione degli indirizzi IP da sola o in combinazione con altre chiavi di aggregazione.

Puoi istruire AWS WAF utilizzare un indirizzo IP inoltrato per ognuna di queste istruzioni di regole, dall'X-Forwarded-Forintestazione o da un'altra HTTP intestazione, invece di utilizzare l'origine della richiesta web. Per i dettagli su come fornire le specifiche, consulta la guida per i singoli tipi di istruzioni delle regole.

Nota

Se l'intestazione specificata non è presente nella richiesta, AWS WAF non applica affatto la regola alla richiesta web.

Comportamento di fallback

Quando si utilizza l'indirizzo IP inoltrato, si indica lo stato della corrispondenza per AWS WAF da assegnare alla richiesta web se la richiesta non ha un indirizzo IP valido nella posizione specificata:

  • MATCH- Considera la richiesta web come se corrispondesse alla dichiarazione della regola. AWS WAF applica l'azione della regola alla richiesta.

  • NO MATCH: considera la richiesta Web come se non corrispondesse all'istruzione della regola.

Indirizzi IP utilizzati in AWS WAF Controllo dei bot

Il gruppo di regole gestito da Bot Control verifica i bot utilizzando gli indirizzi IP di AWS WAF. Se utilizzi Bot Control e hai verificato i bot che effettuano il routing tramite un proxy o un sistema di bilanciamento del carico, devi consentirli esplicitamente utilizzando una regola personalizzata. Ad esempio, puoi configurare una regola di corrispondenza del set di indirizzi IP personalizzata che utilizza gli indirizzi IP inoltrati per rilevare e consentire i bot verificati. Puoi utilizzare la regola per personalizzare la gestione dei bot in diversi modi. Per maggiori informazioni ed esempi, consulta AWS WAF Controllo dei bot.

Considerazioni generali sull'utilizzo degli indirizzi IP inoltrati

Prima di utilizzare un indirizzo IP inoltrato, tieni presente le seguenti avvertenze generali:

  • Un'intestazione può essere modificata dai proxy lungo il percorso e i proxy potrebbero gestire l'intestazione in modi diversi.

  • Gli aggressori potrebbero alterare il contenuto dell'intestazione nel tentativo di aggirarlo AWS WAF ispezioni.

  • L'indirizzo IP all'interno dell'intestazione può essere errato o non valido.

  • L'intestazione specificata potrebbe non essere affatto presente in una richiesta.

Considerazioni sull'utilizzo degli indirizzi IP inoltrati con AWS WAF

L'elenco seguente descrive i requisiti e le avvertenze per l'utilizzo degli indirizzi IP inoltrati in AWS WAF:

  • Per ogni singola regola, è possibile specificare un'intestazione per l'indirizzo IP inoltrato. La specifica dell'intestazione non fa distinzione tra maiuscole e minuscole.

  • Per le istruzioni delle regole basate sulla frequenza, le istruzioni di scoping annidate non ereditano la configurazione IP inoltrata. Specificate la configurazione per ogni istruzione che utilizza un indirizzo IP inoltrato.

  • Per le regole basate sulla corrispondenza geografica e sulla tariffa, AWS WAF utilizza il primo indirizzo nell'intestazione. Ad esempio, se un'intestazione contiene 10.1.1.1, 127.0.0.0, 10.10.10.10 AWS WAF usi 10.1.1.1

  • Per IP set match, si indica se corrispondere al primo, all'ultimo o a qualsiasi altro indirizzo nell'intestazione. Se ne specifichi uno, AWS WAF controlla tutti gli indirizzi nell'intestazione per individuare una corrispondenza, fino a 10 indirizzi. Se l'intestazione contiene più di 10 indirizzi, AWS WAF ispeziona gli ultimi 10.

  • Le intestazioni che contengono più indirizzi devono utilizzare un separatore di virgole tra gli indirizzi. Se una richiesta utilizza un separatore diverso dalla virgola, AWS WAF considera errati gli indirizzi IP nell'intestazione.

  • Se gli indirizzi IP all'interno dell'intestazione sono malformati o non validi, AWS WAF indica che la richiesta Web corrisponde o non corrisponde alla regola, in base al comportamento di fallback specificato nella configurazione IP inoltrata.

  • Se l'intestazione specificata non è presente in una richiesta, AWS WAF non applica affatto la regola alla richiesta. Ciò significa che AWS WAF non applica l'azione della regola e non applica il comportamento di fallback.

  • Una dichiarazione di regola che utilizza un'intestazione IP inoltrata per l'indirizzo IP non utilizzerà l'indirizzo IP riportato dall'origine della richiesta Web.

Le migliori pratiche per l'utilizzo di indirizzi IP inoltrati con AWS WAF

Quando utilizzi indirizzi IP inoltrati, utilizza le seguenti best practice:

  • Valuta attentamente tutti i possibili stati delle intestazioni delle richieste prima di abilitare la configurazione IP inoltrata. Potrebbe essere necessario utilizzare più di una regola per ottenere il comportamento desiderato.

  • Per ispezionare più intestazioni IP inoltrate o per ispezionare l'origine della richiesta Web e un'intestazione IP inoltrata, utilizzate una regola per ogni origine dell'indirizzo IP.

  • Per bloccare le richieste Web con un'intestazione non valida, imposta l'azione della regola su block e imposta il comportamento di fallback per la configurazione IP inoltrata in modo che corrisponda.

Esempio di indirizzi IP inoltrati JSON

La seguente istruzione geo match corrisponde solo se l'X-Forwarded-Forintestazione contiene un IP il cui paese di origine è: US

{ "Name": "XFFTestGeo", "Priority": 0, "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "XFFTestGeo" }, "Statement": { "GeoMatchStatement": { "CountryCodes": [ "US" ], "ForwardedIPConfig": { "HeaderName": "x-forwarded-for", "FallbackBehavior": "MATCH" } } } }

La seguente regola basata sulla frequenza aggrega le richieste in base al primo IP nell'intestazione. X-Forwarded-For La regola conta solo le richieste che corrispondono all'istruzione geo match annidata e blocca solo le richieste che corrispondono all'istruzione geo match. L'istruzione nested geo match utilizza anche l'X-Forwarded-Forintestazione per determinare se l'indirizzo IP indica un paese di origine di. US In caso affermativo o se l'intestazione è presente ma non valida, l'istruzione geo match restituisce una corrispondenza.

{ "Name": "XFFTestRateGeo", "Priority": 0, "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "XFFTestRateGeo" }, "Statement": { "RateBasedStatement": { "Limit": "100", "AggregateKeyType": "FORWARDED_IP", "ScopeDownStatement": { "GeoMatchStatement": { "CountryCodes": [ "US" ], "ForwardedIPConfig": { "HeaderName": "x-forwarded-for", "FallbackBehavior": "MATCH" } } }, "ForwardedIPConfig": { "HeaderName": "x-forwarded-for", "FallbackBehavior": "MATCH" } } } }