Come configurare un firewall per WordPress (WAF)
Un Web Application Firewall (WAF) è una barriera di protezione che filtra il traffico in arrivo al tuo sito WordPress, bloccando attacchi prima che raggiungano il server. SQL injection, cross-site scripting (XSS), attacchi brute force, bot malevoli e exploit di vulnerabilità note vengono intercettati e neutralizzati dal firewall, proteggendo il sito anche quando un plugin ha una falla di sicurezza non ancora corretta. In questa guida ti mostro come configurare un WAF per WordPress con le soluzioni più efficaci disponibili.
Come funziona un WAF
Un Web Application Firewall analizza ogni richiesta HTTP in arrivo al sito e la confronta con un set di regole di sicurezza. Se la richiesta corrisponde a un pattern di attacco noto, viene bloccata prima di raggiungere WordPress. Le richieste legittime passano normalmente.
I WAF si dividono in due categorie:
- WAF a livello di applicazione (plugin): installato come plugin WordPress, analizza le richieste dopo che hanno raggiunto il server. Più facile da configurare ma consuma risorse del server per ogni richiesta analizzata.
- WAF a livello DNS/cloud: posizionato tra i visitatori e il server, filtra il traffico prima che raggiunga il tuo server. Non consuma risorse del server e può bloccare attacchi DDoS. Cloudflare e Sucuri operano in questo modo.
Wordfence: il WAF più popolare per WordPress
Wordfence è il plugin di sicurezza più installato con oltre 4 milioni di installazioni attive. Include un WAF completo nella versione gratuita con aggiornamento delle regole in tempo reale nella versione premium.
Per configurare il WAF di Wordfence:
- Installa e attiva Wordfence dalla dashboard.
- Vai su Wordfence → Firewall.
- Il WAF si avvia in “Learning Mode” per una settimana, durante la quale analizza il traffico normale del sito per evitare falsi positivi.
- Dopo il periodo di apprendimento, passa a “Enabled and Protecting”.
- Per la massima protezione, configura il “Extended Protection” che modifica il file .htaccess per caricare il firewall prima di WordPress, proteggendo anche da attacchi che mirano a file PHP al di fuori del core di WordPress.
Le impostazioni consigliate: abilita la protezione brute force con limite di 5 tentativi e blocco di 30 minuti, attiva il rate limiting per i crawler aggressivi e blocca gli IP che generano più di 10 errori 404 al minuto (segnale di scanning automatizzato).
La versione gratuita aggiorna le regole del firewall con 30 giorni di ritardo rispetto alla versione premium. Per siti critici, la versione premium (119$/anno) fornisce aggiornamento in tempo reale delle regole e blocco degli IP noti per attività malevole basato sul network Wordfence.
Sucuri: WAF cloud-based
Sucuri offre un WAF cloud-based che protegge il sito senza installare plugin pesanti sul server. Il traffico viene instradato attraverso i server di Sucuri che filtrano le richieste malevole prima che raggiungano il tuo server.
I vantaggi del WAF cloud di Sucuri:
- Protezione DDoS: gli attacchi volumetrici vengono assorbiti dalla rete globale di Sucuri senza impattare il tuo server.
- Nessun carico sul server: il filtraggio avviene sui server di Sucuri, il tuo server gestisce solo traffico legittimo.
- Virtual patching: quando viene scoperta una vulnerabilità in un plugin WordPress, Sucuri aggiunge una regola al WAF per bloccare gli exploit anche prima che il plugin rilasci l’aggiornamento.
- CDN integrato: il traffico legittimo viene servito dalla CDN di Sucuri, migliorando le prestazioni.
La configurazione richiede la modifica dei record DNS del dominio per puntare ai server di Sucuri. Il processo è guidato dal pannello Sucuri ed è reversibile in qualsiasi momento. Il servizio è esclusivamente premium con prezzi a partire da 199$/anno.
Cloudflare: WAF e molto altro
Cloudflare è la piattaforma di sicurezza e performance più diffusa al mondo. Il piano gratuito include protezione DDoS base e alcune regole WAF. Il piano Pro (20$/mese) aggiunge il WAF completo con regole gestite specifiche per WordPress.
Le funzionalità di sicurezza di Cloudflare per WordPress:
- Regole WAF gestite: set di regole aggiornate automaticamente che proteggono da vulnerabilità note di WordPress, plugin e temi.
- Bot management: identificazione e blocco dei bot malevoli che eseguono scraping, brute force e scanning.
- Rate limiting: limitazione del numero di richieste per IP, utile contro attacchi brute force e DDoS applicativi.
- Page Rules: regole personalizzabili per proteggere pagine specifiche (wp-login.php, wp-admin, xmlrpc.php).
- Under Attack Mode: attivabile in emergenza, mostra un challenge JavaScript a tutti i visitatori per filtrare il traffico bot durante un attacco DDoS attivo.
Per WordPress, configura almeno queste regole su Cloudflare: blocca l’accesso a xmlrpc.php (se non lo usi), limita le richieste a wp-login.php con rate limiting e attiva il caching aggressivo per le risorse statiche.
All In One WP Security: alternativa leggera
All In One WP Security & Firewall è un plugin gratuito che offre un WAF base integrato con un’interfaccia intuitiva a sistema di punteggio. Non è potente come Wordfence ma è significativamente più leggero in termini di risorse server.
Il plugin organizza le funzionalità in tre livelli (Base, Intermedio, Avanzato) con un sistema a punti che ti aiuta a capire quanto il sito è protetto. Include: protezione brute force, blocco IP, firewall base con regole .htaccess, protezione del database, scansione dei file e monitoraggio degli account utente.
È la scelta ideale per siti su hosting condivisi dove le risorse sono limitate e un plugin pesante come Wordfence potrebbe rallentare il sito.
Configurazione consigliata
Indipendentemente dalla soluzione scelta, configura queste protezioni essenziali:
- Protezione brute force: limita i tentativi di login a 5 ogni 20 minuti con blocco progressivo.
- Blocco xmlrpc.php: se non usi l’app mobile di WordPress o Jetpack, blocca completamente l’accesso a xmlrpc.php — è un vettore di attacco comune.
- Rate limiting su wp-login.php: limita le richieste alla pagina di login per prevenire attacchi automatizzati.
- Blocco user enumeration: impedisci ai bot di scoprire i nomi utente del sito tramite le API REST o l’URL ?author=1.
- Protezione directory listing: impedisci la visualizzazione del contenuto delle directory senza file index.
- Blocco esecuzione PHP in uploads: impedisci l’esecuzione di file PHP nella cartella wp-content/uploads, dove un attaccante potrebbe caricare una backdoor mascherata da immagine.
WAF plugin o WAF cloud?
- Budget limitato: Wordfence gratuito è la scelta migliore. Protezione completa senza costi.
- Sito con traffico elevato: Cloudflare Pro o Sucuri. Il WAF cloud non consuma risorse del server e protegge anche da DDoS.
- E-commerce o sito critico: Cloudflare Pro + Wordfence Premium per una protezione a doppio livello.
- Hosting condiviso con risorse limitate: Cloudflare gratuito + All In One WP Security per il minor impatto sulle risorse.
Il tuo sito è protetto?
Un firewall ben configurato è la prima linea di difesa contro gli attacchi. Se non sei sicuro che il tuo sito sia adeguatamente protetto, o se hai subito un attacco e vuoi prevenire recidive, il team di SoccorsoWP può configurare il WAF ottimale per il tuo sito, analizzare le minacce specifiche e implementare una strategia di sicurezza completa. Apri un ticket e proteggi il tuo sito dagli attacchi.