Cos'è la limitazione della frequenza? | Limitazione della frequenza e bot

La limitazione della frequenza blocca utenti, bot o applicazioni che utilizzano eccessivamente o abusano di una proprietà Web. La limitazione della frequenza può fermare alcuni tipi di attacchi bot.

Obiettivi di apprendimento

Dopo aver letto questo articolo sarai in grado di:

  • Comprendere lo scopo della limitazione della frequenza
  • Scoprire come funziona la limitazione della frequenza
  • Scoprire alcune applicazioni pratiche della limitazione della frequenza
  • Spiegare la differenza tra la limitazione della frequenza e altri tipi di gestione dei bot

Argomenti correlati


Vuoi saperne di più?

Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.

Fai riferimento all'Informativa sulla privacy di Cloudflare per scoprire come raccogliamo ed elaboriamo i tuoi dati personali.

Copia link dell'articolo

Cos'è la limitazione della frequenza?

Limitazione della frequenza sul cartello di limite di velocità accanto alla strada - 75 richieste al minuto

La limitazione della frequenza è una strategia per limitare il traffico di rete. Stabilisce un limite alla frequenza con cui un utente può ripetere un'azione entro un certo intervallo di tempo, ad esempio tentare di accedere a un account. La limitazione della frequenza può aiutare a bloccare determinati tipi di attività dei bot dannosi. Può anche ridurre il carico sui server Web. Tuttavia, la limitazione della frequenza non è una soluzione completa per la gestione dell'attività dei bot.

Quali tipi di attacchi bot vengono fermati dalla limitazione della frequenza?

La limitazione della frequenza viene spesso utilizzata per impedire ai bot dannosi di avere un impatto negativo su un sito Web o un'applicazione. Gli attacchi bot che la limitazione della frequenza può aiutare a mitigare includono:

La limitazione della frequenza protegge anche dall'uso eccessivo delle API, che non è necessariamente dannoso o dovuto all'attività di bot, ma è comunque importante prevenirlo.

Come funziona la limitazione della frequenza?

La limitazione della frequenza viene eseguita all'interno di un'applicazione, anziché sul server Web stesso. In genere, la limitazione della frequenza si basa sul monitoraggio degli indirizzi IP da cui provengono le richieste e sul monitoraggio del tempo trascorso tra ciascuna richiesta. L'indirizzo IP è il modo principale con cui un'applicazione identifica chi o cosa sta effettuando la richiesta.

Una soluzione di limitazione della frequenza misura la quantità di tempo tra ogni richiesta da ciascun indirizzo IP e anche il numero di richieste entro un intervallo di tempo specificato. Se ci sono troppe richieste da un singolo IP entro un dato intervallo di tempo, la soluzione di limitazione della frequenza non soddisferà le richieste dell'indirizzo IP per un certo periodo di tempo.

In sostanza, un'applicazione con limitazione di frequenza dirà "Ehi, rallenta" ai singoli utenti che effettuano richieste a una velocità elevata. Ciò è paragonabile a un agente di polizia che ferma un automobilista perché ha superato il limite di velocità o a un genitore che dice al figlio di non mangiare così tante caramelle in così poco tempo.

Cos'è un indirizzo IP?

Un indirizzo IP è l'identificatore numerico (o alfanumerico in IPv6) univoco assegnato a qualsiasi dispositivo che si connette a Internet. Ogni dispositivo avrà il proprio indirizzo IP fintanto che è online e, come un indirizzo fisico o un numero di telefono, questo consente ai dispositivi di inviare messaggi avanti e indietro. Un indirizzo tradizionale (IPv4) ha il seguente aspetto: 198.41.129.1

Per i dispositivi utente, gli indirizzi IP in genere non sono permanenti, perché non ci sono abbastanza indirizzi IP disponibili in IPv4. Al contrario, il provider di servizi Internet (ISP) dell'utente assegnerà dinamicamente gli indirizzi man mano che i dispositivi si connettono a Internet.

Una soluzione di limitazione della frequenza può utilizzare un indirizzo IP come base per determinare quali dispositivi stanno effettuando troppe richieste e dovrebbero essere temporaneamente bloccati.

Come funziona la limitazione della frequenza con gli accessi degli utenti?

Gli utenti potrebbero ritrovarsi con il loro account bloccato se provano a effettuare l'accesso senza successo troppe volte in un breve lasso di tempo. Ciò si verifica quando un sito Web ha una limitazione della frequenza di accesso.

Questa precauzione non è stata concepita per stressare ulteriormente gli utenti che hanno dimenticato la propria password, ma per bloccare gli attacchi con metodo forza bruta in cui un bot prova migliaia di password diverse per indovinare quella corretta e accedere all'account. Se un bot riesce a effettuare solo 3 o 4 tentativi di accesso all'ora, è statisticamente improbabile che un attacco del genere abbia successo.

La limitazione della frequenza su una pagina di accesso può essere applicata in base all'indirizzo IP dell'utente che prova ad accedere oppure in base al nome utente dell'utente. L'ideale sarebbe utilizzare una combinazione delle due opzioni, perché:

  • Se la limitazione della frequenza viene applicata solo dall'indirizzo IP, gli aggressori con metodo forza bruta potrebbero aggirarla tentando di accedere da più indirizzi IP (magari utilizzando una botnet).
  • Se invece avviene solo tramite nome utente, qualsiasi aggressore che abbia un elenco di nomi utente noti può provare una serie di password comunemente utilizzate con tali nomi utente e probabilmente riuscirà a violare almeno alcuni account, tutti dallo stesso indirizzo IP.

Poiché la limitazione della frequenza è necessaria per prevenire questi attacchi come metodo forza bruta, gli utenti che non ricordano le proprie password potrebbero essere soggetti a limitazione di frequenza insieme a bot dannosi. Probabilmente gli utenti visualizzeranno un messaggio del tipo "troppi tentativi di accesso" e saranno invitati a riprovare entro un intervallo di tempo specificato, oppure saranno informati che non potranno più accedere al loro account.

Come funziona la limitazione della frequenza per le API?

Un'API, o interfaccia di programmazione dell'applicazione, è un modo per richiedere funzionalità da un programma. Le API sono invisibili alla maggior parte degli utenti, ma sono estremamente importanti per il corretto funzionamento delle applicazioni. Ad esempio, il sito Web di un ristorante potrebbe fare affidamento all'API di un servizio di prenotazione tavoli per consentire ai clienti di effettuare prenotazioni online. Oppure, una piattaforma di e-commerce potrebbe integrare l'API di una compagnia di spedizioni per fornire agli utenti costi di spedizione precisi.

Ogni volta che un'API risponde a una richiesta, il proprietario di tale API deve pagare il tempo di elaborazione, ovvero le risorse del server necessarie affinché il codice venga eseguito e produca una risposta a tale richiesta API. Nell'esempio precedente, l'integrazione API del ristorante farà sì che il servizio di prenotazione tavoli paghi il tempo di elaborazione ogni volta che un cliente del ristorante effettua una prenotazione.

Per questo motivo, qualsiasi applicazione o servizio che offra un'API per gli sviluppatori avrà delle limitazioni sul numero di chiamate API che possono essere effettuate all'ora o al giorno da ogni singolo utente. In questo modo, gli sviluppatori di terze parti non abuseranno delle API.

La limitazione della frequenza può anche motivare gli sviluppatori a pagare di più per sfruttare l'API: spesso possono effettuare solo un certo numero di chiamate API prima di dover pagare di più per il servizio API.

La limitazione della frequenza per le API aiuta anche a proteggere dagli attacchi bot dannosi. Un autore di un attacco può utilizzare i bot per effettuare così tante chiamate ripetute a un'API da rendere il servizio non disponibile per nessun altro o da arrestarlo del tutto. Questo è un tipo di attacco DoS o DDoS.

In che modo le piattaforme di social media come X (Twitter) e Instagram utilizzano la limitazione della frequenza?

La limitazione della frequenza delle piattaforme di social media è spesso simile alla limitazione della frequenza delle API. Ad esempio, qualsiasi applicazione di terze parti che integra X (in precedenza noto come Twitter) può aggiornarsi per cercare nuovi post o messaggi solo un certo numero di volte all'ora. Instagram ha limiti simili per le app di terze parti. Questo è il motivo per cui gli utenti possono occasionalmente riscontrare messaggi di "limite di frequenza superato".

Qual è la differenza tra la gestione dei bot e la limitazione della frequenza?

La limitazione della frequenza è abbastanza unidimensionale: sebbene utile: può bloccare solo tipi molto specifici di attività dei bot. Inoltre, non è relativa solo ai bot, ma serve a limitare l'utilizzo in generale. Cloudflare Rate Limiting, ad esempio, protegge da attacchi DDoS, abuso API e attacchi con metodo forza bruta, ma non mitiga necessariamente altre forme di attività di bot dannosi e non distingue tra bot buoni e bot dannosi.

Al contrario, la gestione dei bot può rilevare in modo olistico l'attività dei bot in generale. Ad esempio, Cloudflare Bot Management utilizza il machine learning per identificare i probabili bot, il che gli consente di bloccare una più ampia varietà di attacchi bot (come la sottrazione e uso illecito delle credenziali, la pubblicazione di spam, l'accaparramento delle scorte e altro). Le organizzazioni più piccole possono anche bloccare i bot dannosi con la modalità Super Bot Fight, disponibile con i piani Cloudflare Pro e Business.