Firewall applicativo
Il firewall applicativo (WAF) controlla ogni richiesta ai siti con ModSecurity e l'OWASP Core Rule Set, le regole usate anche da cPanel, e ferma gli attacchi più comuni prima che arrivino a PHP: SQL injection, cross-site scripting (XSS), inclusione di file, esecuzione di comandi, scanner di vulnerabilità. Si aggiunge al firewall di rete, che invece blocca porte e indirizzi.
Attivarlo sul server
Un amministratore lo attiva dalla scheda Firewall di un sito, riquadro Firewall applicativo del server. La prima volta il pannello installa il modulo ModSecurity di nginx e le regole (un minuto circa). Si scelgono:
- la modalità predefinita dei siti: solo rilevazione (registra gli attacchi senza bloccare) o blocco (le richieste sospette ricevono un errore 403);
- il livello di protezione (paranoia dell'OWASP CRS): 1 va bene per quasi tutti i siti; i livelli più alti trovano più attacchi ma danno anche molti più falsi allarmi.
Le regole vengono caricate una sola volta per tutto il server, e ogni modifica viene controllata (nginx -t) prima di essere applicata.
Consiglio: parti con solo rilevazione, guarda gli eventi dei siti per qualche giorno, escludi le regole che danno falsi allarmi e solo dopo passa al blocco.
Il firewall di un sito
Nella scheda Firewall del sito scegli la modalità: come il server, spento, solo rilevazione o blocco. Un sito spento non ha nessuna regola attiva.
Falsi allarmi ed esclusioni
A volte una regola blocca una richiesta legittima: un editor di pagine che invia codice HTML, un plugin che usa parametri insoliti. In Eventi recenti vedi per ogni richiesta sospetta l'indirizzo, la pagina, il risultato (bloccata o solo rilevata) e le regole che sono scattate, con il loro numero. Premi Escludi questa regola (o scrivi il numero in Regole escluse): la regola non controlla più le richieste di quel sito, mentre resta attiva per gli altri.
Gli eventi restano 7 giorni. Le richieste che non fanno scattare nessuna regola non vengono registrate.
Da sapere
- Il controllo riguarda le richieste (indirizzi, parametri, moduli, intestazioni), non le pagine inviate ai visitatori: l'impatto sulla velocità è piccolo.
- WordPress, PrestaShop e le altre applicazioni funzionano con il livello 1; se qualcosa nell'amministrazione del sito smette di funzionare in modalità blocco, guarda gli eventi e escludi la regola indicata.
- Dietro una CDN il firewall vede l'indirizzo della CDN, non quello del visitatore.
- Funziona su Ubuntu 24.04 e 26.04, AlmaLinux 9 e Rocky Linux 9. Su AlmaLinux e Rocky il modulo di nginx viene da EPEL e le regole OWASP CRS (3.3.10) dalla loro versione ufficiale, verificata prima dell'installazione; SELinux resta attivo.