Chi Siamo Area Clienti Promo del Mese Dicono di Noi Portfolio FAQ Blog
Senza categoria

Hardening WordPress con Sucuri: Blindare il Tuo Sito

· 9 min di lettura

Hardening WordPress con Sucuri: Blindare il Tuo Sito

L’hardening è il processo di rafforzamento della sicurezza di un sistema riducendo la superficie di attacco. Nel contesto di WordPress, significa disattivare funzionalità non necessarie, limitare i permessi, proteggere i file sensibili e applicare configurazioni che rendano molto più difficile per un attaccante compromettere il sito. Sucuri Security offre un modulo di hardening integrato che automatizza molte di queste operazioni con un semplice clic. In questa guida vediamo ogni misura nel dettaglio e come applicarla correttamente.

Cos’è l’Hardening e Perché è Fondamentale

WordPress, nella sua configurazione predefinita, è progettato per la massima compatibilità e facilità d’uso, non per la massima sicurezza. Questo significa che molte funzionalità sono abilitate per default anche quando non servono, e alcune configurazioni sono più permissive del necessario. L’hardening corregge queste impostazioni senza compromettere le funzionalità essenziali del sito.

Pensa all’hardening come a chiudere porte e finestre che non usi: non impedisce a qualcuno determinato di entrare, ma elimina le vie d’accesso più facili. La stragrande maggioranza degli attacchi a WordPress è automatizzata e sfrutta le configurazioni predefinite. Applicando le misure di hardening, il tuo sito diventa un bersaglio molto meno attraente per gli scanner automatici.

Accedere al Modulo di Hardening

Per accedere alle opzioni di hardening, vai su Sucuri Security > Hardening nella bacheca WordPress. Vedrai un elenco di misure di sicurezza, ciascuna con un pulsante per applicarla o revocarla. Le misure con l’icona verde sono già attive; quelle con l’icona rossa necessitano di essere applicate.

Pannello di hardening di Sucuri Security con le misure di sicurezza disponibili

Verifica della Versione di WordPress

La prima misura verifica che il tuo sito utilizzi l’ultima versione di WordPress. Le versioni obsolete contengono vulnerabilità note che gli attaccanti sfruttano attivamente. Ogni release di sicurezza di WordPress corregge bug che sono stati già resi pubblici, il che significa che tutti gli attaccanti conoscono queste vulnerabilità e possono sfruttarle contro i siti non aggiornati.

Sucuri controlla automaticamente la versione installata e ti avvisa se è disponibile un aggiornamento. Consigliamo di abilitare gli aggiornamenti automatici per le minor release di sicurezza (attivi per default nelle versioni recenti di WordPress) e di eseguire gli aggiornamenti major il prima possibile dopo il rilascio, preferibilmente dopo aver verificato la compatibilità con i tuoi plugin.

Blocco dell’Editor di File Integrato

WordPress include un editor di codice integrato nella bacheca (Aspetto > Editor file tema e Plugin > Editor file plugin) che permette di modificare direttamente i file PHP dal browser. Questa funzionalità è estremamente pericolosa: se un attaccante ottiene accesso a un account amministratore, può usare l’editor per iniettare codice malevolo direttamente nei file del tema o dei plugin, creando backdoor persistenti.

Sucuri disabilita l’editor aggiungendo la costante DISALLOW_FILE_EDIT al file wp-config.php. Questa è una delle misure di hardening più importanti e dovrebbe essere applicata su tutti i siti, senza eccezioni. Se hai bisogno di modificare i file, usa un client SFTP o l’accesso SSH diretto: sono metodi molto più sicuri e permettono anche il version control.

Blocco dell’Esecuzione PHP nelle Directory Sensibili

Questa è probabilmente la misura di hardening più efficace offerta da Sucuri. Consiste nell’aggiungere file .htaccess (su server Apache) o regole nginx nelle directory wp-content/uploads/, wp-content/ e wp-includes/ che impediscono l’esecuzione diretta di file PHP.

Perché è così importante?

La directory wp-content/uploads/ è la destinazione più comune per il caricamento di backdoor. Gli attaccanti sfruttano vulnerabilità nei plugin di upload (form di contatto, gallery, page builder) per caricare file PHP malevoli mascherati da immagini o documenti. Una volta caricato, il file può essere eseguito direttamente chiamando il suo URL. Bloccando l’esecuzione PHP in questa directory, anche se un file malevolo viene caricato, non potrà essere eseguito.

La regola .htaccess che Sucuri inserisce è simile a:

<Files *.php>
deny from all
</Files>

Questa regola blocca l’accesso diretto a qualsiasi file PHP nella directory. Su server nginx, l’equivalente deve essere configurato manualmente nel file di configurazione del virtual host.

Impostazioni di hardening in Sucuri con blocco esecuzione PHP nelle directory sensibili

Possibili problemi di compatibilità

Alcuni plugin utilizzano file PHP nella directory uploads per funzionalità legittime (ad esempio, generazione dinamica di immagini, elaborazione di form, gestione di download). Se dopo aver applicato questa misura noti malfunzionamenti, puoi:

  • Creare un’eccezione per il file specifico nel .htaccess
  • Contattare lo sviluppatore del plugin per verificare se esiste un’alternativa
  • In casi estremi, disabilitare la misura per quella specifica directory (sconsigliato)

Rimozione della Versione di WordPress

WordPress inserisce il numero di versione nel codice HTML del sito attraverso il meta tag generator e in varie risorse CSS e JavaScript. Questa informazione è utile agli attaccanti per identificare la versione esatta e verificare se sono note vulnerabilità specifiche per quella release.

Sucuri rimuove il meta tag generator e pulisce i parametri di versione dagli URL delle risorse statiche. È una misura di “security through obscurity” che da sola non basta, ma aggiunge un piccolo ostacolo in più: un attaccante determinato può comunque identificare la versione attraverso altri metodi, ma gli scanner automatici che filtrano per versione verranno ingannati.

Protezione di wp-config.php

Il file wp-config.php è il file più critico di un’installazione WordPress: contiene le credenziali del database, le chiavi di sicurezza e altre configurazioni sensibili. Sucuri verifica che questo file abbia i permessi corretti (644 o, meglio ancora, 600 o 640) e che non sia accessibile direttamente via web.

Oltre alle misure automatiche di Sucuri, consigliamo di:

  • Spostare wp-config.php una directory sopra la root pubblica (WordPress lo cerca automaticamente lì)
  • Impostare i permessi a 600 (leggibile solo dal proprietario)
  • Aggiungere le chiavi di sicurezza uniche generate da api.wordpress.org/secret-key
  • Non conservare password in chiaro: utilizzare variabili d’ambiente quando possibile

Protezione di .htaccess

Il file .htaccess nella root del sito controlla il comportamento del web server Apache. Un attaccante che riesce a modificare questo file può creare redirect malevoli, disabilitare la sicurezza o abilitare l’esecuzione di codice in directory protette. Sucuri monitora le modifiche a questo file e può ripristinarlo automaticamente se viene alterato.

Un .htaccess ben configurato per la sicurezza dovrebbe includere:

  • Protezione del file stesso dall’accesso diretto
  • Blocco della navigazione delle directory (Options -Indexes)
  • Protezione dei file sensibili (.ini, .log, .sql, etc.)
  • Header di sicurezza (X-Frame-Options, X-Content-Type-Options, Content-Security-Policy)

Disabilitare XML-RPC

XML-RPC è un’interfaccia legacy di WordPress che permette la comunicazione con applicazioni esterne. In passato era usata da client di blogging desktop e dall’app mobile di WordPress. Oggi la maggior parte delle sue funzionalità sono state sostituite dalla REST API, ma XML-RPC è ancora attivo per default.

Il problema è che XML-RPC è uno dei vettori preferiti per gli attacchi brute force. Attraverso il metodo system.multicall, un attaccante può testare centinaia di combinazioni username/password in una singola richiesta HTTP, bypassando i limiti di rate che proteggono la pagina di login tradizionale. XML-RPC è anche utilizzato per amplificare attacchi DDoS attraverso i pingback.

Sucuri permette di disabilitare XML-RPC con un clic. Se utilizzi l’app mobile di WordPress o servizi come Jetpack che dipendono da XML-RPC, puoi limitare l’accesso invece di disabilitarlo completamente, ad esempio consentendolo solo da determinati IP.

Monitoraggio dei tentativi di accesso bloccati dopo l’applicazione dell’hardening Sucuri

Disabilitare l’Enumerazione degli Utenti

WordPress espone gli username degli autori attraverso diversi meccanismi: le pagine archivio autore (/?author=1), la REST API (/wp-json/wp/v2/users) e i feed RSS. Un attaccante può enumerare tutti gli username del sito e usarli per attacchi brute force mirati.

Le misure per prevenire l’enumerazione includono:

  • Bloccare le richieste /?author=N per utenti non autenticati
  • Limitare l’accesso all’endpoint REST API degli utenti
  • Utilizzare nickname diversi dallo username nei contenuti pubblici

Ulteriori Misure di Hardening Manuali

Oltre alle misure automatizzate dal plugin, ci sono diverse azioni che puoi compiere manualmente per rafforzare ulteriormente la sicurezza:

  • Cambiare il prefisso delle tabelle del database: il prefisso predefinito wp_ è noto a tutti e facilita gli attacchi SQL injection. Un prefisso personalizzato aggiunge un livello di protezione
  • Limitare i tentativi di login: Sucuri registra i tentativi falliti, ma per un blocco automatico può essere utile affiancare un plugin specifico come Limit Login Attempts Reloaded
  • Proteggere la directory wp-admin con password aggiuntiva: l’autenticazione HTTP Basic aggiunge un secondo livello di protezione prima ancora di raggiungere la pagina di login di WordPress
  • Disabilitare la REST API per utenti non autenticati: se non usi applicazioni esterne che necessitano della REST API, limitarne l’accesso riduce la superficie di attacco
  • Impostare header di sicurezza HTTP: Content-Security-Policy, Strict-Transport-Security, X-Frame-Options e altri header prevengono intere categorie di attacchi

Verificare l’Efficacia dell’Hardening

Dopo aver applicato tutte le misure, è importante verificare che funzionino correttamente e che non abbiano causato effetti collaterali. Ecco una checklist:

  1. Naviga il sito come visitatore e verifica che tutto funzioni normalmente
  2. Testa il login e le funzionalità della bacheca
  3. Verifica che i form di contatto funzionino
  4. Se hai un e-commerce, esegui un ordine di test completo
  5. Prova a caricare un’immagine nella libreria media
  6. Usa uno scanner esterno (come securityheaders.com) per verificare gli header HTTP
  7. Tenta di accedere direttamente a un file PHP nella directory uploads per verificare che sia bloccato

Conclusioni

L’hardening è una delle attività più importanti che puoi fare per proteggere il tuo sito WordPress. Sucuri rende questo processo accessibile anche a chi non ha competenze tecniche avanzate, automatizzando le misure più critiche con un’interfaccia intuitiva. Tuttavia, l’hardening non è un’attività una tantum: le best practice si evolvono continuamente e nuove minacce richiedono nuove contromisure.

Per una configurazione professionale dell’hardening del tuo sito WordPress, contatta G Tech Group: i nostri esperti analizzeranno il tuo sito e applicheranno tutte le misure necessarie per garantire la massima sicurezza.

Continua a Leggere: Serie Sicurezza WordPress

Scopri anche la nostra Guida Completa a Wordfence per un confronto approfondito con un’altra soluzione di sicurezza leader.

Migliora il Tuo Sito WordPress

Scopri le nostre guide complete sugli altri plugin essenziali per WordPress:

#Blindare #Hardening #sicurezza #Sucuri #Wordpress