Cloudflare Bot Fight Mode: protezione automatica dai bot malevoli

Cloudflare Bot Fight Mode: protezione automatica dai bot malevoli

Bot Fight Mode è la protezione anti-bot automatica di Cloudflare disponibile gratuitamente sul piano Free. Identifica e blocca traffico generato da bot malevoli noti (scraper, content thieves, brute-forcer) senza configurazione manuale. Si basa sull'analisi del fingerprint del client, comportamento di navigazione, reputazione IP e signature aggregate dai miliardi di richieste che Cloudflare osserva ogni giorno. È il primo livello di difesa che ogni sito dovrebbe attivare.

Come Cloudflare classifica i bot

Cloudflare assegna a ogni richiesta un punteggio bot da 1 a 99: valori 1-30 indicano bot quasi certi, 31-60 sospetti, 61-99 umani. Il calcolo combina decine di segnali: TLS fingerprint (JA3), header order, mancanza di JavaScript engine, IP reputation, ASN, comportamento di navigazione, tempo tra richieste. Bot Fight Mode blocca automaticamente richieste sotto soglia (tipicamente score <30) verso challenge JS o pagina di blocco.

Procedura passo-passo

  1. Vai sul dashboard Cloudflare → Security → Bots.
  2. Trova la voce Bot Fight Mode e attiva il toggle.
  3. Salva: l'attivazione è immediata.
  4. Attiva contestualmente Static resource protection per asset statici.
  5. Vai su Security → Events e filtra per "Bot" per vedere le azioni.
  6. Monitora le statistiche bot in Analytics.
  7. Se vedi falsi positivi (bot legittimi bloccati), crea exception in WAF rules.
  8. Per i bot fidati (Googlebot, Bing) attiva Verified Bots.
  9. Considera upgrade a Super Bot Fight Mode (Pro+) per controllo granulare.
  10. Documenta le exception nel runbook interno.

Bot Fight Mode vs Super Bot Fight Mode

Bot Fight Mode (gratis) ha un comportamento binario: bot bloccati, umani passano. Non offre granularità o personalizzazione. Super Bot Fight Mode (Pro+) aggiunge controllo per categoria: bot Definitely Automated (Block/Challenge/Allow), bot Likely Automated, Verified Bots (allowlist whitelist). Permette di applicare logiche diverse per JavaScript Detections, scrapers conosciuti, automatic browsers. È il livello consigliato per siti business.

JavaScript Challenge

Bot Fight Mode utilizza spesso una JavaScript Challenge: la pagina serve un piccolo script che il browser deve eseguire per ottenere accesso al contenuto. Bot privi di JavaScript engine (la maggior parte di scraper Python/curl) falliscono silently. Browser veri eseguono lo script in millisecondi senza che l'utente noti nulla. È trasparente per umani, blocco quasi sicuro per bot.

Errori comuni e come risolverli

  • Crawler SEO esterno bloccato: tool come Screaming Frog vengono bloccati. Aggiungi exception per User-Agent o IP del tool.
  • Webhook esterno fallisce: il sender non supera JS challenge. Crea WAF Skip rule per quel path/IP.
  • Monitoring uptime alert: tool come UptimeRobot bloccati. Whitelist i loro IP.
  • RSS feed reader fallisce: alcuni reader sono trattati come bot. Esenta /feed/ path.
  • Verified bots non riconosciuti: attiva esplicitamente Verified Bots Allow.

Static Resource Protection

Cloudflare include una variante chiamata Static Resource Protection che proteggere asset come CSS, JS, immagini, font dal hotlinking aggressivo da parte di bot. Quando attivo, le richieste a risorse statiche da Origin non whitelistate vengono bloccate. È utile per evitare che scraper di immagini consumino banda. Non interferisce con il normale loading del tuo sito.

Falsi positivi e tuning

I falsi positivi sono il principale rischio. Indicatori: 1) calo improvviso di traffico dopo attivazione, 2) report di utenti che non possono accedere, 3) Search Console mostra crawl error. Per tunare: revisione Security Events filtrando "Bot Fight Mode", identifica pattern di blocchi che sembrano legittimi, crea exception specifiche. Solitamente bastano 2-3 exception per coprire tutti i casi business validi.

Integrazione con CAPTCHA

Bot Fight Mode può essere combinato con CAPTCHA challenge per casi critici. Managed Challenge (consigliato): Cloudflare decide automaticamente se mostrare CAPTCHA o JS challenge basato sul rischio. Turnstile: alternativa moderna a reCAPTCHA, completamente integrata con Bot Fight Mode. Combinazione tipica: Bot Fight Mode globale + Managed Challenge sui form di contatto e login.

Domande frequenti

D: Bot Fight Mode è gratuito per sempre?
R: Sì, incluso nel piano Free senza limitazioni.

D: Posso vedere i bot specifici bloccati?
R: Sì, in Security Events con dettaglio per evento.

D: Bot Fight Mode rallenta il sito?
R: No, la valutazione avviene in pochi microsecondi sull'edge.

D: Funziona con app mobili?
R: Sì ma app native non eseguono JS challenge. Usa Allow per User-Agent specifici.

Considerazioni operative finali

Quando applichi una configurazione di questo tipo in produzione è sempre buona norma seguire un'approccio incrementale: parti con un test su staging, monitora gli effetti per qualche giorno, poi estendi gradualmente al traffico live. La rete Cloudflare elabora ogni cambiamento in pochi secondi a livello globale, quindi le modifiche sono effettive quasi immediatamente, ma gli effetti collaterali su utenti reali possono richiedere ore o giorni per emergere. Annota nel runbook interno data, motivo e parametri di ogni modifica significativa. Una documentazione precisa accelera enormemente il troubleshooting futuro e facilita il passaggio di consegne tra membri del team.

Vale anche la pena ricordare che Cloudflare aggiorna frequentemente l'interfaccia del dashboard e le posizioni delle voci di menu. La logica e le funzionalità descritte in questa guida restano valide, ma il percorso esatto per raggiungere ogni opzione può variare leggermente nel tempo. In caso di difficoltà a trovare una specifica voce, utilizza la barra di ricerca interna del dashboard oppure consulta la documentazione ufficiale aggiornata. La community Cloudflare sul forum ufficiale e su Stack Overflow è inoltre molto attiva e offre spesso risposte rapide a problemi specifici di configurazione.

Per progetti complessi che coinvolgono più servizi Cloudflare contemporaneamente (CDN, Workers, WAF, Access, R2) conviene strutturare la configurazione come codice tramite Terraform o Pulumi. Questo permette versioning, code review, rollback atomici e deploy ripetibili tra environment. Per team con esigenze più semplici la gestione manuale via dashboard resta perfettamente valida, soprattutto se accompagnata da una checklist scritta delle impostazioni applicate. La scelta dell'approccio dipende dalle dimensioni del progetto e dal grado di automazione desiderato. L'importante è essere consistenti e mantenere tracciabilità delle modifiche effettuate.

Hai bisogno di aiuto?

Se vuoi configurare Cloudflare per il tuo sito con il team di G Tech Group, scrivici tramite il modulo di contatto.

Hai trovato utile quest'articolo?