
Rate Limiting: Protezione delle Applicazioni Web e dei Database dagli Attacchi DDoS

Introduzione
I siti web e i servizi online affrontano un rischio significativo dagli attacchi Distributed Denial of Service (DDoS). Questo tipo di attacchi rappresenta una minaccia rilevante per l’infrastruttura dei dati. Questi attacchi malevoli mirano a sovraccaricare i server con una quantità eccessiva di richieste, rendendoli non responsivi agli utenti legittimi. Fortunatamente, il rate limiting fornisce una prima linea di difesa efficace contro gli attacchi DDoS. In questo articolo esploreremo cosa è il rate limiting, come funziona e alcuni strumenti e tecniche per implementarlo nei framework delle applicazioni web.
Che Cos’è il Rate Limiting?
Il rate limiting è una tecnica per controllare la frequenza con cui un utente o un client può accedere a un server o a una risorsa. L’idea centrale è di impostare limiti su quante richieste un determinato utente o indirizzo IP può fare entro un certo periodo di tempo. Una volta che l’utente supera quel limite (vedi sotto), ulteriori richieste vengono bloccate o rallentate fino a quando il periodo di tempo si azzera. Questo impedisce a un singolo client di monopolizzare le risorse del server e di interrompere il servizio per gli altri utenti.
Ad esempio, si potrebbe configurare il server per consentire un massimo di 100 richieste al minuto per indirizzo IP. La 101ª richiesta entro quel minuto verrebbe bloccata. I limiti di frequenza possono essere applicati a vari livelli – per account utente, per indirizzo IP, per regione geografica e così via. La configurazione ottimale dipende dalla natura della vostra applicazione e dai modelli di utilizzo previsti.
Perché il Rate Limiting è Importante per la Prevenzione DDoS?
Gli attacchi DDoS tipicamente coinvolgono un gran numero di client coordinati (spesso una botnet di macchine compromesse) che inviano un volume elevato di richieste a un server bersaglio. L’obiettivo è consumare le risorse del server (CPU, memoria, larghezza di banda di rete) al punto che non può più rispondere al traffico legittimo.
Implementando limiti di frequenza rigorosi, è possibile mitigare l’impatto di un attacco DDoS. Anche se gli attaccanti controllano un gran numero di macchine, ogni client individuale sarà limitato nel numero di richieste che può inviare. Questo impedisce agli attaccanti di sovraccaricare le risorse del server.
Ovviamente, il rate limiting non è una soluzione completa per la protezione DDoS da solo. Attaccanti determinati potrebbero comunque causare interruzioni controllando una botnet estremamente ampia. Ma il rate limiting è un componente importante di un approccio a profondità difensiva, lavorando in concerto con altre misure come il filtraggio del traffico, la blacklist degli IP maligni e l’uso di servizi specializzati di mitigazione DDoS.
Rate Limiting nelle Applicazioni Web
La maggior parte dei framework delle applicazioni web fornisce meccanismi per limitare il numero di richieste HTTP. Questi possono essere utilizzati per implementare una forte prima linea di difesa contro gli attacchi DDoS.
L’implementazione esatta varia tra i framework, ma il principio generale è lo stesso. Il middleware del framework traccia il numero di richieste da ogni client (solitamente identificato dall’indirizzo IP) entro una finestra temporale a scorrimento. Se un client supera il limite predefinito, il server blocca le loro richieste fino a quando la finestra temporale si azzera.
Ad esempio, una configurazione semplice di rate limiting potrebbe consentire 100 richieste al minuto per indirizzo IP. Il server risponde alla 101ª richiesta entro un minuto con un codice di risposta HTTP “429 Troppe Richieste”. Lo stesso principio funziona con le connessioni al database. Un po’ più avanti in questo articolo forniamo un esempio della Regola di Sicurezza di DataSunrise che può servire come strumento di rate limiting. L’amministratore sceglie il metodo di blocco come segue:

Figura 1 – Metodo di blocco di DataSunrise nella configurazione della Regola di Sicurezza. Supporta anche messaggi di blocco personalizzati.
Configurazioni di rate limiting più avanzate possono tenere conto di fattori aggiuntivi, come la specifica route o endpoint richiesto, o le informazioni sull’utente autenticato. Questo consente un controllo più granulare sull’uso delle risorse.
Limiti di Frequenza del Server e dell’Utente
Quando si configura il rate limiting, è importante considerare i diversi livelli ai quali si possono applicare i limiti. Due approcci comuni sono i limiti a livello di server e i limiti a livello di utente.
I limiti di frequenza a livello di server si applicano a tutte le richieste che arrivano a un server, indipendentemente dall’utente o dal client specifico che effettua la richiesta. Questi sono utili per proteggere contro gli attacchi DDoS che coinvolgono un gran numero di indirizzi IP differenti. I limiti a livello di server assicurano che il traffico totale verso il server rimanga entro livelli gestibili.
I limiti di frequenza a livello di utente, invece, si applicano a singoli account utente o chiavi API. Questi sono utili per prevenire abusi da parte di singoli utenti, anche se il loro volume di richieste non sarebbe sufficiente a interrompere l’intero server. I limiti a livello di utente possono aiutare a mantenere un uso equo e prevenire che singoli utenti consumino più della loro quota di risorse.
Idealmente, una configurazione robusta di rate limiting dovrebbe coinvolgere una combinazione di limiti a livello di server e a livello di utente, fornendo più livelli di protezione.
DataSunrise: Sicurezza Completa del Database e Protezione DDoS
Per le organizzazioni che cercano una soluzione completa per proteggere i loro database e difendersi dagli attacchi DDoS, DataSunrise offre un set di strumenti potenti. DataSunrise fornisce un firewall per database che può monitorare e bloccare attività indesiderate su base utente o host.
Con DataSunrise, è possibile impostare regole di sicurezza granulare per prevenire attacchi DDoS, SQL injection, attacchi di forza bruta e altre minacce. Lo strumento consente di definire limiti di frequenza e soglie per vari tipi di attività del database, assicurando che nessun singolo utente o host possa sovraccaricare il sistema.

Figura 2 – Comune a tutte le regole in DataSunrise. La soglia abilita l’evento solo se la frequenza delle query supera il limite predefinito.
Di seguito è possibile vedere l’impostazione della regola di prevenzione degli attacchi DDoS.

Figura 3 – Rate limiting con DataSunrise. Configurazione della regola di sicurezza.
DataSunrise supporta una vasta gamma di database, inclusi PostgreSQL, MySQL, SQL Server e Oracle, e fornisce un’interfaccia web intuitiva per gestire le impostazioni di sicurezza. Lo strumento offre anche funzionalità per audit, mascheramento dei dati e monitoraggio in tempo reale delle attività.
Riepilogo e Conclusione
Il rate limiting è una tecnica cruciale per difendersi dagli attacchi DDoS e garantire un uso equo delle applicazioni web e delle API. Limitando il tasso di richieste dei singoli client, il rate limiting impedisce agli attori malevoli di sovraccaricare le risorse del server.
Abbiamo visto come implementare il rate limiting a vari livelli, inclusi nei framework delle applicazioni web e a livello di server. Una strategia efficace di rate limiting comporta l’impostazione di limiti appropriati a più livelli e il monitoraggio e l’aggiustamento regolari di questi limiti basati sui modelli di traffico osservati.
Per una soluzione completa per la sicurezza del database e protezione contro gli attacchi DDoS, considera DataSunrise. Con il suo potente firewall per database e regole di sicurezza granulare, DataSunrise può difendere i tuoi database da una vasta gamma di minacce, inclusi attacchi DDoS, SQL injection e attacchi di forza bruta.
Utilizzati in combinazione con altre misure di sicurezza come il filtraggio del traffico e la blacklist degli IP, il rate limiting e strumenti come DataSunrise possono migliorare notevolmente la resilienza delle tue applicazioni contro gli attacchi DDoS.
Per saperne di più su come DataSunrise può proteggere i tuoi database e difendersi dagli attacchi DDoS, contatta il nostro team per una demo online. Saremo felici di mostrarti lo strumento in azione e discutere come possiamo adattarlo alle tue esigenze specifiche.
Successivo
