Come funziona AWS WAF Classic - 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à.

Come funziona AWS WAF Classic

Nota

Questa è la documentazione di AWS WAF Classic. 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

Utilizzi AWS WAF Classic per controllare il modo in cui API Gateway, Amazon CloudFront o un Application Load Balancer rispondono alle richieste web. Inizi creando condizioni, regole e liste di controllo accessi Web (ACL Web) Definisci le condizioni, combini le condizioni in regole e combini le regole in un'ACL Web.

Nota

Puoi anche usare AWS WAF Classic per proteggere le tue applicazioni ospitate nei contenitori Amazon Elastic Container Service (Amazon ECS). Amazon ECS è un servizio di gestione dei container veloce e altamente scalabile che semplifica l'esecuzione, l'arresto e la gestione dei contenitori Docker su un cluster. Per utilizzare questa opzione, configuri Amazon ECS per utilizzare un Application Load Balancer con funzionalità AWS WAF Classic per instradare e proteggere il traffico HTTP/HTTPS (livello 7) tra le attività del tuo servizio. Per ulteriori informazioni, consulta l'argomento Service Load Balancing nella Amazon Elastic Container Service Developer Guide.

Condizioni

Le condizioni definiscono le caratteristiche di base che vuoi che AWS WAF Classic tenga in considerazione nelle richieste web:

  • Gli script che potrebbero essere dannosi. Alcuni malintenzionati incorporano script che possono sfruttare le vulnerabilità nelle applicazioni Web. Questa operazione è nota come Cross-site scripting.

  • Gli indirizzi IP o gli intervalli di indirizzi di origine delle richieste.

  • Il paese o la posizione geografica di origine delle richieste.

  • La lunghezza delle parti specificate della richiesta, ad esempio la stringa di query.

  • Il codice SQL che potrebbe essere dannoso. I malintenzionati provano a estrarre i dati dal tuo database incorporando codice SQL dannoso in una richiesta Web. Questa operazione è nota come SQL injection.

  • Le stringhe presenti nella richiesta, ad esempio, i valori nell'intestazione User-Agent o le stringhe di testo visualizzate nella stringa di query. È inoltre possibile usare espressioni regolari (regex) per specificare queste stringhe.

Alcune condizioni richiedono più valori. Ad esempio, è possibile specificare fino a 10.000 indirizzi IP o intervalli di indirizzi IP in una condizione IP.

Regolamento

Combini le condizioni in regole per indirizzare con precisione le richieste che desideri consentire, bloccare o contare. AWS WAF Classic offre due tipi di regole:

Regola normale

Le regole normali usano solo le condizioni per indirizzare richieste specifiche. Ad esempio, in base alle richieste recenti che hai ricevuto da un malintenzionato, potresti creare una regola che includa le seguenti condizioni:

  • Le richieste provengono da 192.0.2.44.

  • Contengono il valore BadBot nell'intestazione User-Agent.

  • Sembrano includere codice di tipo SQL nella stringa di query.

Quando una regola include più condizioni, come in questo esempio, AWS WAF Classic cerca le richieste che soddisfano tutte le condizioni, ovvero le condizioni AND insieme.

Aggiungere almeno una condizione per un regola normale. Una regola normale senza condizioni non può corrispondere ad alcuna richiesta, pertanto l'operazione della regola (consenso, conteggio o blocco) non viene mai attivata.

Regola basata sulla frequenza

Le regole basate sulla frequenza sono come le regole normali con un limite di frequenza aggiunto. Una regola basata sulla frequenza conta le richieste che arrivano da indirizzi IP che soddisfano le condizioni della regola. Se le richieste provenienti da un indirizzo IP superano il limite di frequenza in un periodo di cinque minuti, la regola può attivare un'operazione. L'attivazione dell'azione può richiedere uno o due minuti.

Le condizioni sono facoltative per le regole basate sulla frequenza. Se non aggiungi alcuna condizione in una regola basata sulla frequenza, il limite di frequenza si applica a tutti gli indirizzi IP. Se combini le condizioni con il limite di frequenza, il limite di frequenza si applica a indirizzi IP che soddisfano le condizioni.

Ad esempio, in base alle richieste recenti che hai ricevuto da un malintenzionato, potresti creare una regola basata sulla frequenza che includa le seguenti condizioni:

  • Le richieste provengono da 192.0.2.44.

  • Contengono il valore BadBot nell'intestazione User-Agent.

In questa regola basata sulla frequenza, definisci anche un limite di velocità. In questo esempio, supponiamo di creare un limite di frequenza di 1.000. Le richieste che soddisfano entrambe le condizioni precedenti e superano le 1.000 richieste per cinque minuti attivano l'operazione della regola (blocco o conteggio), definita nell'ACL Web.

Le richieste che non soddisfano entrambe le condizioni non vengono conteggiate ai fini del limite di frequenza e non sono influenzate da questa regola.

Come secondo esempio, supponiamo che desideri limitare le richieste a una determinata pagina nel sito Web. Per farlo, è possibile aggiungere la seguente condizione di corrispondenza stringa a una regola basata sulla frequenza:

  • Il valore Part of the request to filter on (Parte della richiesta sulla quale filtrare) è URI.

  • Il valore Match Type (Tipo di corrispondenza) è Starts with.

  • Il valore Value to match (Valore per la corrispondenza) è login.

Inoltre, è necessario specificare un RateLimit di 1.000.

Tramite l'aggiunta di questa regola basata sulla frequenza all'ACL Web, è possibile limitare le richieste alla pagina di accesso senza influenzare il resto del sito.

ACL Web

Dopo aver combinato le condizioni in regole, le regole vengono combinate in un'ACL Web. Qui puoi definire un'azione per ogni regola (consenti, blocca o conta) e un'azione predefinita:

Un'operazione per ogni regola

Quando una richiesta Web soddisfa tutte le condizioni di una regola, AWS WAF Classic può bloccare la richiesta o consentire l'inoltro della richiesta all'API Gateway API, alla CloudFront distribuzione o a un Application Load Balancer. Specificate l'azione che desiderate che AWS WAF Classic esegua per ogni regola.

AWS WAF Classic confronta una richiesta con le regole di un ACL Web nell'ordine in cui sono elencate le regole. AWS WAF Classic esegue quindi l'azione associata alla prima regola a cui corrisponde la richiesta. Ad esempio, se una richiesta Web soddisfa una regola che consente le richieste e un'altra regola che blocca le richieste, AWS WAF Classic consentirà o bloccherà la richiesta a seconda della regola elencata per prima.

Se desideri testare una nuova regola prima di iniziare a utilizzarla, puoi anche configurare AWS WAF Classic per contare le richieste che soddisfano tutte le condizioni della regola. Come per le regole che consentono o bloccano le richieste, una regola che conta le richieste è influenzata dalla sua posizione nell'elenco delle regole nell'ACL Web. Ad esempio, se una richiesta Web corrisponde a una regola che consente le richieste e un'altra regola che conteggia le richieste e se la regola che consente le richieste è elencata per prima, questa richiesta non viene conteggiata.

Operazione predefinita

L'azione predefinita determina se AWS WAF Classic consente o blocca una richiesta che non soddisfa tutte le condizioni di nessuna delle regole dell'ACL Web. Ad esempio, supponi di creare un'ACL Web e di aggiungere solo la regola che hai definito prima:

  • Le richieste provengono da 192.0.2.44.

  • Contengono il valore BadBot nell'intestazione User-Agent.

  • Sembrano includere codice di tipo SQL dannoso nella stringa di query.

Se una richiesta non soddisfa tutte e tre le condizioni della regola e se l'azione predefinita èALLOW, AWS WAF Classic inoltra la richiesta ad API Gateway CloudFront o a un Application Load Balancer e il servizio risponde con l'oggetto richiesto.

Se aggiungi due o più regole a un ACL web, AWS WAF Classic esegue l'azione predefinita solo se una richiesta non soddisfa tutte le condizioni di nessuna delle regole. Ad esempio, supponi di aggiungere una seconda regola che contenga una condizione:

  • Le richieste che contengono il valore BIGBadBot nell'intestazione User-Agent.

AWS WAF Classic esegue l'azione predefinita solo quando una richiesta non soddisfa tutte e tre le condizioni della prima regola e non soddisfa una condizione della seconda regola.

In alcune occasioni, AWS WAF potrebbe verificarsi un errore interno che ritarda la risposta ad Amazon API Gateway, Amazon CloudFront o un Application Load Balancer sull'opportunità di consentire o bloccare una richiesta. In tali occasioni CloudFront generalmente consente la richiesta o fornisce il contenuto. API Gateway e Application Load Balancer in genere rifiutano la richiesta e non distribuiscono i contenuti.