Che cos'è la limitazione della frequenza per Web Application Firewall in gateway applicazione?
La limitazione della frequenza per Web Application Firewall in gateway applicazione consente di rilevare e bloccare livelli anomali di traffico destinati all'applicazione. Usando la limitazione della frequenza su gateway applicazione WAF_v2, è possibile attenuare molti tipi di attacchi Denial of Service, proteggersi da client che sono stati accidentalmente configurati in modo errato per inviare grandi volumi di richieste in un breve periodo di tempo o controllare le frequenze di traffico verso il sito da aree geografiche specifiche.
Criteri di limitazione della frequenza
La limitazione della frequenza viene configurata usando regole WAF personalizzate in un criterio.
Nota
Le regole di limite di frequenza sono supportate solo nei web application firewall che eseguono il motore WAF più recente. Per assicurarsi di usare il motore più recente, selezionare CRS 3.2 per il set di regole predefinito.
Quando si configura una regola di limite di velocità, è necessario specificare la soglia: il numero di richieste consentite entro il periodo di tempo specificato. La limitazione della frequenza su gateway applicazione WAF_v2 usa un algoritmo finestra scorrevole per determinare quando il traffico ha superato la soglia e deve essere eliminato. Durante la prima finestra in cui viene violata la soglia per la regola, viene eliminato qualsiasi altro traffico corrispondente alla regola del limite di velocità. Dalla seconda finestra in poi, il traffico fino alla soglia all'interno della finestra configurata è consentito, generando un effetto di limitazione.
È inoltre necessario specificare una condizione di corrispondenza che indica al WAF quando attivare il limite di frequenza. È possibile configurare più regole di limite di frequenza che corrispondono a variabili e percorsi diversi all'interno dei criteri.
gateway applicazione WAF_v2 introduce anche un GroupByUserSession, che deve essere configurato. GroupByUserSession specifica il modo in cui le richieste vengono raggruppate e conteggiate per una regola di limite di frequenza corrispondente.
Sono attualmente disponibili i tre gruppi GroupByVariable seguenti :
- ClientAddr : questa è l'impostazione predefinita e significa che ogni soglia limite di velocità e mitigazione si applica in modo indipendente a ogni indirizzo IP di origine univoco.
- GeoRilevazione : il traffico viene raggruppato in base alla propria area geografica in base a una corrispondenza geografica nell'indirizzo IP del client. Pertanto, per una regola di limite di velocità, il traffico proveniente dalla stessa area geografica viene raggruppato.
- Nessuno: tutto il traffico viene raggruppato e conteggiato rispetto alla soglia della regola Limite di velocità. Quando la soglia viene superata, l'azione si attiva su tutto il traffico corrispondente alla regola e non mantiene contatori indipendenti per ogni indirizzo IP o area geografica del client. È consigliabile usare Nessuno con condizioni di corrispondenza specifiche, ad esempio una pagina di accesso o un elenco di agenti utente sospetti.
Dettagli sulla limitazione della frequenza
Le soglie del limite di frequenza configurate vengono conteggiate e monitorate in modo indipendente per ogni endpoint a cui è associato il criterio web application firewall. Ad esempio, un singolo criterio WAF associato a cinque listener diversi mantiene contatori indipendenti e imposizione della soglia per ognuno dei listener.
Le soglie di limite di velocità non vengono sempre applicate esattamente come definito, quindi non devono essere usate per il controllo granulare del traffico dell'applicazione. È invece consigliabile ridurre le frequenze anomale del traffico e mantenere la disponibilità delle applicazioni.
L'algoritmo finestra scorrevole blocca tutto il traffico corrispondente per la prima finestra in cui viene superata la soglia e quindi limita il traffico nelle finestre future. Prestare attenzione quando si definiscono le soglie per la configurazione di regole di corrispondenza wide con GeoLocation o None come GroupByVariables. Le soglie configurate in modo non corretto potrebbero causare interruzioni frequenti per il traffico corrispondente.