• WordPress

Come proteggere un sito WordPress dalle minacce reali

  • Felix Rose-Collins
  • 22 min read

Introduzione

La maggior parte degli attacchi hacker a WordPress non è opera di qualcuno che prende di mira il tuo sito. Di solito si tratta di bot automatizzati che scansionano Internet alla ricerca di punti deboli comuni, come un plugin obsoleto, un login vulnerabile o un'impostazione lasciata aperta. Se il tuo sito sembra facile da violare, i bot potrebbero iniziare a provarci nel giro di pochi minuti.

Non servono competenze da ingegnere della sicurezza per proteggerlo. Bastano alcune protezioni di base che funzionino bene insieme. Blocca le impostazioni chiave di WordPress. Aggiungi regole al server. Tieni tutto aggiornato. Rendi i backup e il monitoraggio una priorità assoluta. Potrai individuare i problemi in anticipo e riprenderti velocemente, invece di scoprire i danni settimane dopo.

Questa guida è di carattere pratico. Inizieremo con le nozioni di base di grande impatto, per poi passare a un rafforzamento più approfondito.

Attacchi di sicurezza comuni ai siti WordPress {#common-security-attacks-on-wordpress-sites}

La maggior parte degli attacchi a WordPress segue uno schema familiare. I bot sondano prima i punti di accesso comuni, poi passano a ciò che è più facile da sfruttare.

Common Security Attacks on WordPress Sites

Ecco i rischi più comuni che potresti incontrare su siti WordPress reali.

Forza bruta {#brute-force}

La forza bruta funziona perché è facile da automatizzare e continua a dare i suoi frutti. Invece di indovinare una sola password, i bot provano migliaia di nomi utente e password al minuto sulle pagine di accesso. Il credential stuffing è ancora più efficace perché utilizza credenziali trapelate da altre violazioni. Se le credenziali trapelate corrispondono, l'accesso come amministratore è immediato.

Quando ciò accade, noterai picchi di traffico, reindirizzamenti ripetuti e molti accessi falliti nei log di autenticazione dei plugin o del server. Anche senza una violazione, questo consuma CPU, rallenta il tuo sito e inonda i tuoi log.

Plugin e temi vulnerabili {#vulnerable-plugins-and-themes}

I problemi al core di WordPress si verificano, ma i plugin e i temi sono solitamente il vero problema. Gli aggressori li prendono di mira perché il rilevamento della versione è facile e il codice di exploit si diffonde rapidamente.

Incontrare Ranktracker

La piattaforma all-in-one per un SEO efficace

Dietro ogni azienda di successo c'è una forte campagna SEO. Ma con innumerevoli strumenti e tecniche di ottimizzazione tra cui scegliere, può essere difficile sapere da dove iniziare. Ebbene, non temete più, perché ho quello che fa per voi. Vi presento la piattaforma Ranktracker all-in-one per una SEO efficace.

Abbiamo finalmente aperto la registrazione a Ranktracker in modo assolutamente gratuito!

Creare un account gratuito

Oppure accedi con le tue credenziali

I segnali di allarme includono plugin abbandonati, copie gratuite di strumenti premium e aggiornamenti ritardati. L'impatto va dall'esecuzione di codice remoto al furto di database e alle iniezioni di spam SEO.

Iniezione di malware {#malware-injection}

Il malware spesso si nasconde in luoghi scrivibili o trascurati. Potrebbe trattarsi di uno script dannoso inserito in wp-content/uploads/, di un file di plugin modificato silenziosamente con codice PHP disordinato o di codice iniettato nel database in modo da diffondersi attraverso i modelli o i post.

I segni tipici includono reindirizzamenti solo per dispositivi mobili, utenti amministratori misteriosi, cron job strani, attività pianificate insolite, picchi di richieste in uscita e avvisi di abuso da parte di Search Console o dell'host. Spesso porta a infezioni ripetute, spam e al rischio di essere inseriti in una lista nera.

Attacchi di spam SEO {#seo-spam-attacks}

Lo spam SEO non è sempre visibile agli esseri umani. Gli aggressori aggiungono link nascosti, pagine di spam o contenuti visibili solo ai crawler. Possono iniettare spam nel database, aggiungere sitemap non autorizzate o modificare il file .htaccess per fornire contenuti diversi ai bot.

I primi indizi di solito compaiono nei risultati di ricerca: URL indicizzati strani e cali improvvisi di traffico. Il tuo dominio inizia a posizionarsi per lo spam e le pagine reali perdono visibilità. La pulizia richiede più tempo perché lo spam è spesso sparso in tutto il database.

Iniezione SQL {#sql-injection}

L'SQL injection si verifica quando un plugin o un codice personalizzato invia dati non sicuri al database. I segni comuni includono stringhe di query URL strane, avvisi SQLi nei log del firewall e improvvisi picchi di carico del database. Può portare al furto di dati, a modifiche dei contenuti e ad un accesso persistente se gli hacker alterano gli utenti o le impostazioni.

Cross-Site Request Forgery {#cross-site-request-forgery}

Il Cross-Site Request Forgery (CSRF) si verifica quando si è connessi a WordPress e un plugin non esegue i controlli di sicurezza corretti. Un aggressore può indurti con l'inganno a cliccare su un link che innesca azioni come la creazione di utenti, la modifica delle e-mail o l'aggiornamento delle impostazioni.

Un campanello d'allarme è qualsiasi modifica amministrativa che avviene subito dopo un clic e che non avevi intenzione di fare. I log possono sembrare normali perché l'azione viene eseguita attraverso la tua sessione, ma può modificare silenziosamente i permessi e portare a un'appropriazione indebita.

Cross-Site Scripting {#cross-site-scripting}

Il Cross-Site Scripting (XSS) si verifica quando un plugin o un tema mostra i contenuti dell'utente senza prima pulirli. L'XSS memorizzato è peggiore perché il codice dannoso viene salvato e può essere eseguito in un secondo momento, anche nell'area di amministrazione, consentendo agli hacker di modificare le impostazioni, aggiungere utenti o installare plugin.

Potresti notare script strani nei post o nelle impostazioni, reindirizzamenti accessibili solo dopo il login o modifiche che non hai effettuato. Ciò può portare al dirottamento delle sessioni e a un'infezione persistente memorizzata nel database.

Elementi essenziali di sicurezza di base {#baseline-security-essentials}

Inizia dalle basi che eliminano i punti di accesso facili e rendono la tua configurazione più difficile da violare per impostazione predefinita.

Scegli un hosting WordPress sicuro {#choose-a-secure-wordpress-hosting}

Puoi rafforzare WordPress e comunque rimanere esposto a rischi a causa di un hosting debole. L'hosting controlla l'ambiente in cui opera il tuo sito e tale ambiente influisce in modo significativo sulla sicurezza.

Ecco cosa dovrebbe includere un hosting incentrato sulla sicurezza.

  • Isolamento e impostazioni predefinite sicure

Se il tuo sito risiede su un server affollato in cui gli account possono influenzarsi a vicenda, parti con un rischio aggiuntivo. Cerca un forte isolamento degli account, permessi di file ragionevoli e una configurazione che non lasci servizi rischiosi aperti di default.

  • Protezione a livello di server

Un host affidabile gestisce le regole del firewall, il filtraggio dei bot, l'applicazione delle patch di sicurezza e le configurazioni rinforzate. Non dovresti dover accedere a un server e modificare le impostazioni solo per renderlo abbastanza sicuro.

  • Backup e ripristini rapidi

Quando qualcosa va storto, la velocità è fondamentale. I backup automatici e i ripristini rapidi salvano la tua attività.

  • Visibilità

I log di accesso, i log degli errori e le metriche sulle prestazioni ti aiutano a individuare attacchi di forza bruta, problemi PHP e picchi di risorse prima che si trasformino in interruzioni del servizio.

  • SSL

I certificati SSL crittografano gli accessi e le sessioni in modo che i dati rimangano privati durante il trasferimento. L'hosting sicuro rende i certificati facili da configurare e da rinnovare automaticamente per evitare problemi di scadenza.

Incontrare Ranktracker

La piattaforma all-in-one per un SEO efficace

Dietro ogni azienda di successo c'è una forte campagna SEO. Ma con innumerevoli strumenti e tecniche di ottimizzazione tra cui scegliere, può essere difficile sapere da dove iniziare. Ebbene, non temete più, perché ho quello che fa per voi. Vi presento la piattaforma Ranktracker all-in-one per una SEO efficace.

Abbiamo finalmente aperto la registrazione a Ranktracker in modo assolutamente gratuito!

Creare un account gratuito

Oppure accedi con le tue credenziali

Sulle piattaforme WordPress gestite, sono già in atto molte protezioni per bloccare le minacce comuni prima che raggiungano WordPress. Ad esempio, l'hosting gestito di Cloudways include funzionalità di sicurezza a livello di piattaforma come firewall, backup automatici, componenti aggiuntivi WAF opzionali e SafeUpdates. Anche in questo caso, sei comunque responsabile degli aggiornamenti e del controllo degli accessi, ma parti da una base più sicura.

Cloudways offre anche la migrazione del sito web assistita da esperti, e la prima migrazione è inclusa gratuitamente.

Installa un certificato SSL {#install-an-ssl-certificate}

Hai mai notato la piccola icona a forma di lucchetto accanto all'URL di un sito web? Significa che il tuo sito utilizza HTTPS. Indica ai visitatori che la connessione al tuo sito è sicura e che i loro dati sono al sicuro. Senza di esso, gli hacker potrebbero intercettare informazioni sensibili come i dati di accesso o i dati di pagamento.

SSL (Secure Sockets Layer) crittografa i dati tra il tuo sito web e i suoi visitatori. Protegge il traffico in modo che le password e i dati dei clienti non vengano trasmessi in chiaro. Che tu gestisca un blog, un negozio o un portfolio, l'installazione di un certificato SSL non è più facoltativa, ma essenziale.

Scegli la tua opzione SSL

La maggior parte dei provider di hosting offre un'opzione SSL gratuita che puoi attivare con pochi clic. Su Cloudways, puoi attivare un certificato Let's Encrypt gratuito direttamente dalla piattaforma.

Se hai bisogno di un certificato specifico per le aziende o di una convalida particolare, puoi anche acquistarne uno da fornitori come DigiCert o Sectigo.

Genera una CSR

Una richiesta di firma del certificato (CSR) è la richiesta che il tuo server invia al fornitore del certificato. Di solito troverai l'opzione Genera CSR all'interno della dashboard del tuo hosting.

Aggiungi le informazioni di base come il tuo dominio, il nome dell'organizzazione e la sede, quindi genera la CSR. Il tuo provider la utilizzerà per emettere il certificato.

Verifica la proprietà del dominio

Prima che venga emesso un certificato, dovrai dimostrare di essere il proprietario del dominio. A seconda del fornitore, ciò comporta solitamente una delle seguenti operazioni: confermare un'e-mail di verifica, aggiungere un record DNS o caricare un piccolo file di verifica. Una volta superato il controllo, il certificato viene emesso.

Installa il certificato

Installa o carica il certificato nella dashboard del tuo hosting. Cerca un'area come "Gestione SSL" o "Impostazioni di sicurezza", quindi segui le istruzioni per associarlo al dominio corretto.

Install the certificate

Forza HTTPS

Dopo aver installato SSL, assicurati che tutto il traffico venga indirizzato a HTTPS per impostazione predefinita. In questo modo i visitatori raggiungeranno sempre la versione sicura del tuo sito.

Puoi farlo con un plugin come Really Simple SSL, oppure puoi forzare l'uso di HTTPS per la dashboard di amministrazione di WordPress con questa impostazione in wp-config.php:

Aggiornare i link interni

Se il tuo sito fa ancora riferimento a vecchi URL HTTP nelle impostazioni o nel database, i browser potrebbero mostrare avvisi di contenuti misti. Aggiorna quei link interni in modo che tutto venga caricato tramite HTTPS.

Oltre alla sicurezza, SSL crea fiducia e può aiutare con la SEO. È un aggiornamento veloce che dice ai visitatori che prendi sul serio la privacy.

Mantieni aggiornati WordPress, i temi e i plugin {#keep-wordpress-themes-and-plugins-updated}

Gli aggiornamenti sono sinonimo di sicurezza. La maggior parte delle versioni risolve le falle note. Una volta che una vulnerabilità è di dominio pubblico, i bot scansionano i siti che utilizzano ancora la versione precedente, e proprio in quel momento avvengono le infezioni.

Aggiornate il core di WordPress

Gli aggiornamenti del core spesso includono correzioni di sicurezza, anche quando la versione sembra di poco conto.

Update WordPress Core

Segui questi passaggi per aggiornare il core di WordPress:

  • Vai alla dashboard di amministrazione di WordPress → Aggiornamenti.
  • In WordPress, clicca su Aggiorna ora se è disponibile un aggiornamento.
  • Al termine, apri il tuo sito e verifica che si carichi e che tu possa effettuare l'accesso.

Una routine di aggiornamento pratica

  • Abilita gli aggiornamenti automatici almeno per le versioni minori.
  • Utilizza l'ambiente di staging per gli aggiornamenti principali.
  • Riservare una finestra di manutenzione mensile per l'applicazione delle patch e i controlli di regressione.

Se scegli una piattaforma di hosting come Cloudways, la funzione SafeUpdates pianifica gli aggiornamenti del core di WordPress, dei plugin e dei temi attraverso un flusso di lavoro di backup e staging prima di applicare le modifiche alla produzione.

Aggiornare i temi

Segui questi passaggi per aggiornare un tema WordPress:

  • Vai alla dashboard di amministrazione di WordPress → Aggiornamenti.

Updates

  • Se gli aggiornamenti dei temi sono elencati lì, seleziona le caselle di controllo, quindi fai clic su Aggiorna temi.
  • Al termine, verifica che la homepage, i menu e le pagine principali si carichino correttamente.

Rimuovi plugin e temi inutilizzati

I plugin e i temi inattivi rimangono sul tuo server. Eliminali per ridurre i rischi di sicurezza e restringere la superficie di attacco.

themes

Lista di controllo per la pulizia:

  • Elimina i plugin e i temi inutilizzati. La disattivazione lascia dei file residui.
  • Prova prima le rimozioni in ambiente di staging, per i plugin legati a moduli, caching, SEO o e-commerce.
  • Conserva solo il tema attivo e un backup.
  • Dopo la pulizia, verifica che il login, i moduli, il checkout e la ricerca funzionino.
  • Controlla mensilmente i plugin e i temi installati.

Segui questi passaggi per eliminare un plugin WordPress inutilizzato:

  • Nella dashboard di amministrazione di WordPress, vai su PluginPlugin installati.
  • Trova il plugin che non ti serve.
  • Fai clic su Disattiva. A questo punto apparirà l'opzione Elimina.
  • Fai clic su Elimina e conferma se richiesto.

Successivamente, segui questi passaggi per eliminare un tema inutilizzato:

  • Nella dashboard di amministrazione di WordPress, vai su AspettoTemi.
  • Fai clic sul tema che non ti serve.
  • Clicca su Elimina e conferma se richiesto.

Scegli temi e plugin affidabili

Non tutti i plugin sono affidabili, anche se le funzionalità sembrano ottime. Cerca aggiornamenti recenti e costanti, documentazione chiara, supporto attivo e compatibilità con le versioni attuali di WordPress.

Controlli rapidi prima dell'installazione:

  • Evita plugin e temi abbandonati.
  • Evita plugin e temi nulled.
  • Fai attenzione ai download al di fuori del marketplace, a meno che tu non ti fidi del venditore.
  • Ignora tutto ciò che non è stato aggiornato di recente o che non supporta chiaramente la tua attuale versione di WordPress.

Operazioni di sicurezza pratiche {#practical-security-operations}

Questi sono i passaggi regolari che riducono il rischio quotidiano, limitano il rumore dei bot e aiutano a individuare i problemi in anticipo.

Gli hacker prendono di mira la pagina di accesso perché è prevedibile e sempre raggiungibile. Blocca i punti di accesso amministrativi in modo che i bot si scontrino con un muro e le password rubate non si trasformino in accesso immediato.

Utilizza l'autenticazione a due fattori {#use-two-factor-authentication}

L'autenticazione a due fattori blocca la maggior parte degli attacchi di credential stuffing e di appropriazione tramite riutilizzo delle credenziali. Abilitarla per gli account amministrativi blocca gli accessi anche quando una password viene rubata.

Per abilitare la 2FA sul tuo sito WordPress, scegli un plugin 2FA affidabile e un'app di autenticazione sul tuo telefono. Tra i plugin 2FA più comuni ci sono miniOrange 2FA, WP 2FA, Wordfence Login Security e Two Factor.

Abilita l'autenticazione a due fattori:

  • Nella tua dashboard di WordPress, vai su PluginAggiungi nuovo.
  • Cerca un plugin 2FA, quindi installalo e attivalo.
  • Apri il menu del plugin dalla barra laterale sinistra, solitamente sotto Sicurezza o come voce a sé stante.
  • Cerca Autenticazione a due fattori o 2FA, quindi scegli App di autenticazione.
  • Scansiona il codice QR nella tua app di autenticazione o inserisci la chiave di configurazione.
  • Inserisci il codice monouso per confermare, quindi clicca su Abilita o Attiva.
  • Scarica i codici di recupero e salvali nel tuo gestore di password.

Applica la 2FA ai ruoli di amministratore:

  • Apri le impostazioni del plugin, solitamente sotto Impostazioni o Sicurezza2FA.
  • Attiva " Richiedi 2FA".
  • Applica questa impostazione ai ruoli Amministratore ed Editore e aggiungi Responsabile negozio se gestisci un negozio e-commerce.
  • Salva le modifiche dopo aver registrato almeno due account amministratore su dispositivi diversi.

2FA

Modifica l'URL di accesso predefinito {#change-the-default-login-url}

La maggior parte dei siti WordPress utilizza gli stessi URL predefiniti: /wp-login.php per l'accesso e /wp-admin/ per la dashboard di amministrazione. I bot conoscono questi URL, quindi continuano a provarli più e più volte.

Cambiare l'URL di accesso non fermerà un hacker determinato, ma può ridurre lo spam di accesso automatico e i tentativi di forza bruta.

Segui questi passaggi per modificare l'URL di accesso predefinito in WordPress:

  • Vai su PluginAggiungi nuovo.
  • Installa un plugin per la modifica dell'URL di accesso, quindi attivalo.
  • Apri le impostazioni del plugin nella sezione Impostazioni o Sicurezza.
  • Imposta un nuovo URL di accesso e salva le modifiche.
  • Esci e prova il nuovo URL in una finestra in incognito.

Utilizza un nome utente amministratore univoco {#use-a-unique-admin-username}

** **“admin” è la prima ipotesi in ogni lista di attacchi di forza bruta. Usarlo fornisce agli hacker metà di ciò di cui hanno bisogno.

Segui questi passaggi per utilizzare un nome utente amministratore univoco in WordPress:

  • Vai su UtentiAggiungi nuovo.
  • Crea un nuovo utente con un nome utente univoco. Non utilizzare il nome del tuo dominio, il nome del tuo marchio o il prefisso della tua email.
  • Imposta il ruolo su Amministratore, quindi crea l'account.
  • Esci e accedi nuovamente con il nuovo utente amministratore.
  • Vai su UtentiTutti gli utenti.
  • Trova il vecchio account amministratore e modifica il suo ruolo con uno di livello inferiore oppure eliminalo. Se lo elimini, assegna i suoi contenuti al nuovo amministratore quando WordPress te lo richiede.

Limita i tentativi di accesso {#limit-login-attempts}

Non lasciare che i bot provino password illimitate. Dopo alcuni tentativi falliti, blocca l'IP per un po'.

Inizia con le opzioni più semplici

  • Installa un plugin che gestisca la limitazione della frequenza, come Wordfence, Limit Login Attempts Reloaded o Loginizer.
  • Abilita la limitazione della frequenza nella dashboard del firewall del tuo host, se disponibile.

Configurazione avanzata del server

Esempio di limitazione della frequenza su Nginx (consigliato se controlli la configurazione di Nginx):

Aggiungi questo nel tuo contesto HTTP Nginx:

Quindi aggiungi un limite per l'endpoint di accesso all'interno del tuo blocco server:

Suggerimento: aumenta "rate" o "burst" se gli utenti legittimi vengono bloccati. Esegui test approfonditi.

Utilizza password amministrative complesse {#use-strong-admin-passwords}

Le password amministrative non devono essere facili da ricordare. Devono essere difficili da indovinare. Utilizza un gestore di password per generare password lunghe e casuali e assicurati che ogni account amministrativo ne abbia una unica. In questo modo, se un servizio viene violato, l'accesso amministrativo a WordPress non ne risentirà.

Suggerimenti di configurazione:** **

  • Disabilita il riutilizzo delle password nella politica della tua organizzazione, se possibile.
  • Cambia le password di amministratore immediatamente quando un membro del team lascia l'azienda.

Segui questi passaggi per modificare una password di amministratore in WordPress:

  • Vai su UtentiTutti gli utenti.
  • Modifica l'utente amministratore.
  • Fai clic su Imposta nuova password, quindi su Aggiorna utente.

Utilizza i plugin di sicurezza consigliati per WordPress {#use-recommended-wordpress-security-plugins}

I plugin di sicurezza non risolvono tutto, ma possono offrirti una protezione immediata e una visibilità molto migliore. Quello che ti serve sono log che puoi effettivamente utilizzare quando qualcosa sembra strano.

Un buon plugin di sicurezza include:

  • Monitoraggio dell'integrità dei file per individuare modifiche impreviste
  • Protezione dell'accesso e applicazione dell'autenticazione a due fattori
  • Scansione antimalware con un percorso chiaro di pulizia e ripristino
  • Avvisi e registri di audit che puoi effettivamente esaminare
  • Regole di firewall di base

Una volta che sai cosa stai cercando, installa un plugin affidabile come Wordfence, Sucuri o All In One WP Security. Questi strumenti aggiungono protezione all'accesso, rilevamento delle modifiche ai file e log, e possono bloccare molti attacchi comuni, inclusi i tentativi di forza bruta.

Segui questi passaggi per installare un plugin di sicurezza per WordPress:

  • Vai su PluginAggiungi nuovo.
  • Cerca il plugin di sicurezza.
  • Fai clic su Installa ora, quindi su Attiva.
  • Apri il plugin dalla barra laterale sinistra ed esegui la procedura guidata di configurazione, se presente.

Suggerimenti per la configurazione:

  • Utilizza un unico plugin di sicurezza principale per evitare conflitti e duplicati.
  • Disattiva le funzionalità che non utilizzerai, in particolare le scansioni pesanti su siti molto trafficati.
  • Se il tuo provider di hosting offre funzionalità di limitazione della velocità o di blocco, utilizzale per proteggerti dagli attacchi di forza bruta, quando possibile.

Risoluzione dei problemi:

  • Se vieni bloccato dall'area di amministrazione di WordPress, controlla le regole del firewall e riduci prima la modalità rigorosa.
  • Aggiungi il tuo IP alla whitelist in modo da non bloccare il tuo stesso team.
  • Esamina i log prima di disabilitare la protezione in modo da poter vedere cosa ha innescato il blocco.

Utilizza un firewall e una scansione antimalware {#use-a-firewall-and-malware-scanning}

I firewall bloccano gli attacchi prima che raggiungano WordPress. Le scansioni antimalware controllano poi i tuoi file e il database per verificare che non siano stati manomessi.

Se non hai il controllo sulla configurazione del server, utilizza la dashboard del firewall del tuo host o un plugin di sicurezza come Wordfence o Sucuri per limitare la frequenza degli accessi e rallentare o bloccare XML-RPC.**

Configurazione del firewall

Utilizza più livelli. WAF all'edge, regole del server per il traffico abusivo e scansioni antimalware per la pulizia.

Firewall setup

Sulle piattaforme gestite, puoi abilitare il Web Application Firewall integrato con il blocco di IP o di paesi. Ad esempio, Cloudways offre l'add-on opzionale Cloudflare Enterprise per il filtraggio perimetrale e la protezione dai bot.

Scansione del malware

Esegui una scansione per individuare modifiche impreviste ai file e iniezioni nel database (link spam, script nascosti).

Pianifica controlli regolari per:

  • Modifiche ai file e codice PHP sconosciuto in wp-content/uploads
  • Spam nel database o codice iniettato
  • Cron job sospetti e connessioni in uscita

Cloudways fornisce un add-on di protezione da malware basato su Imunify360 per la scansione a livello di server e la pulizia automatizzata.

Segui questi passaggi per rimuovere il malware da WordPress:

  • Attiva la modalità di manutenzione.
  • Identifica il punto di ingresso (plugin vulnerabile, credenziali deboli).
  • Rinnovare tutte le chiavi di sicurezza (password di amministrazione/DB, salt, chiavi SSH).
  • Ripristinare da un backup pulito.
  • Risolvere la causa principale prima di tornare in produzione.

Rafforzamento tecnico avanzato {#advanced-technical-hardening}

Il rafforzamento tecnico avanzato consiste nel potenziare la configurazione di WordPress oltre le impostazioni di base. Questi passaggi si concentrano sulla configurazione, sui controlli del server e sulle politiche di accesso che riducono l'esposizione e limitano i danni nel caso in cui un login o un plugin venga compromesso.

Proteggi il file wp-config.php {#secure-the-wp-config-php-file}

Il file wp-config.php contiene le credenziali del database e le chiavi segrete. Trattalo come una cassaforte.

Imposta permessi rigorosi utilizzando il seguente comando:

chmod 400 wp-config.php.

Questo impedisce ad altri utenti e processi di leggere o modificare il file. Usa 440 se il tuo server web ha bisogno dell'accesso in lettura per il gruppo.

Se il sito smette di funzionare con 400, passa a 440 e assicurati che la proprietà del gruppo corrisponda a quella con cui viene eseguito il tuo server web.

Per una protezione aggiuntiva, se la tua configurazione lo consente, sposta wp-config.php un livello sopra la radice web. WordPress continuerà a caricarlo automaticamente.

Limita i ruoli e le autorizzazioni degli utenti {#limit-user-roles-and-permissions}

Assegnate agli utenti solo le autorizzazioni di cui hanno bisogno (principio del privilegio minimo). Questo impedisce a un account compromesso di prendere il controllo dell'intero sito.

Segui questi passaggi per limitare i ruoli e le autorizzazioni degli utenti in WordPress:

  • Vai su UtentiTutti gli utenti.
  • Fai clic sull'utente che desideri esaminare.
  • Nel menu a tendina Ruolo, scegli il ruolo più basso di cui ha bisogno, ad esempio Abbonato, Collaboratore, Autore o Redattore.
  • Fai clic su Aggiorna utente.

Ripeti l'operazione per ogni account con privilegi di amministratore e revoca tali privilegi a chiunque non ne abbia bisogno. Rimuovi o disattiva gli account inattivi che nessuno utilizza più.

Se hai bisogno di un accesso speciale, usa ruoli personalizzati e controlla le funzionalità prima di assegnarli. Controlla i ruoli ogni tre mesi e rimuovi gli accessi amministrativi non necessari. Questo limita ciò che un hacker può fare con un login rubato.

Disattiva la modifica dei file dalla dashboard {#disable-file-editing-from-the-dashboard}

Disattiva l'editor di temi e plugin integrato. In questo modo, un account amministratore compromesso non potrà inserire rapidamente codice dannoso nei file del tuo sito.

Segui questi passaggi per disabilitare la modifica dei file dalla dashboard di WordPress:

  • Connettiti al tuo sito utilizzando SFTP o il file manager del tuo host.
  • Modifica il file wp-config.php nella directory principale di WordPress e aggiungi:
  • Salva il file.
  • Controlla Aspetto nell'area di amministrazione di WordPress. L'Editor dei temi scompare. Anche l'Editor dei plugin scompare.

Se il tuo team si affida alle modifiche dalla dashboard, sposta quel flusso di lavoro su distribuzioni basate su Git o SFTP con account limitati.

Disattiva XML-RPC {#disable-xml-rpc}

XML-RPC è un punto di accesso comune per attacchi di forza bruta e abusi di pingback. Bloccalo a livello di WordPress o di server.

Opzione A: Disabilitare in WordPress

  • Aggiungi quanto segue al file functions.php o al plugin personalizzato:
  • Salva il file.
  • Apri l'endpoint xmlrpc.php nel tuo browser visitando https://yourdomain.com/xmlrpc.php Vedrai un messaggio XML-RPC generico, ma le richieste XML-RPC non funzioneranno più.

Questo disabilita XML-RPC a livello di WordPress. L'endpoint xmlrpc.php può ancora essere raggiunto, quindi per una protezione completa e per ridurre il carico, bloccalo sul server web o sul WAF.

Opzione B: Bloccare a livello di server web**

Bloccare XML-RPC a livello di server è l'opzione più efficace perché blocca le richieste prima che PHP venga eseguito.

Nginx:

  • Apri il file di configurazione Nginx del tuo sito per il dominio.
  • Aggiungi una regola per xmlrpc.php nel blocco server.
  • Ricarica Nginx.

Apache:

  • Modifica la configurazione di Apache del tuo sito o il file .htaccess, se consentito.
  • Aggiungi la regola del blocco xmlrpc.php.
  • Ricarica Apache.

In questo modo si impedisce alle richieste di raggiungere WordPress, riducendo il carico e bloccando i percorsi di attacco XML-RPC più comuni.

Nota: se il plugin Jetpack o l'app mobile di WordPress necessitano di XML-RPC, non bloccarlo completamente. Limita invece la frequenza delle richieste e, quando possibile, consenti l'accesso solo da IP affidabili.

Backup e monitoraggio {#backups-and-monitoring}

Preparati ai guasti. I backup ti consentono di ripristinare rapidamente il sito. Il monitoraggio mostra cosa è cambiato.

Esegui regolarmente il backup del tuo sito web {#back-up-your-website-regularly}

I backup non sono facoltativi. Sono la tua via di fuga in caso di emergenza quando un aggiornamento compromette la produzione, un plugin viene compromesso o un'implementazione errata danneggia il database.

Ciò che ti serve in questo caso è conservare una copia pulita del tuo sito che puoi ripristinare rapidamente, senza dover indovinare cosa manca.

Backup manuale

Segui questi passaggi per eseguire il backup del tuo sito WordPress:

  • Installa e attiva un plugin di backup da PluginAggiungi nuovo.
  • Apri il plugin ed esegui "Esegui backup ora " con i file e il database selezionati.
  • Salvalo su un archivio esterno, se disponibile.

Backup automatico

La maggior parte degli host WordPress gestiti include di default i backup automatici, solitamente eseguiti quotidianamente, archiviati per un periodo di conservazione a rotazione e disponibili come punti di ripristino con un solo clic dalla dashboard di hosting.

Automated backup

Scegli una pianificazione in base alla frequenza con cui il tuo sito cambia.

  • Giornalmente: per siti attivi con aggiornamenti, commenti o ordini frequenti.
  • Settimanale: per siti di marketing con poche modifiche.
  • Mensile:** **Quando i contenuti cambiano raramente.

Un backup completo include il database, la cartella wp-content (in particolare gli upload) e i file di configurazione, se la tua configurazione non li ricrea automaticamente.

Migliori pratiche:

  • Archivia i backup in un luogo esterno. In questo modo, un guasto del server non li cancellerà.
  • Conserva più punti di ripristino, non solo l'istantanea più recente.
  • Verifica regolarmente il ripristino. I backup non testati non sono affidabili. Si spera che funzionino quando serve.

Se i ripristini sono lenti o falliscono, il backup è solitamente troppo pesante. Controlla l'aumento delle dimensioni del backup, spesso causato dai file di log o dalle directory della cache all'interno di wp-content. Escludi le directory della cache dai backup quando la tua piattaforma è in grado di rigenerarle in modo sicuro.

Monitora il tuo sito {#monitor-your-site}

Il rafforzamento della sicurezza aiuta, ma il monitoraggio rileva ciò che sfugge. Individua i problemi in anticipo. Tieni pronti i log per tracciare ciò che è successo.

Monitoraggio dell'uptime

I controlli di uptime ti aiutano a individuare quando il sito smette di funzionare o subisce alterazioni indesiderate, come una homepage compromessa da un attacco hacker, un aggiornamento che causa problemi con PHP o un attacco che sovraccarica il server.

Strumenti di monitoraggio dell'uptime come UptimeRobot (con un generoso piano gratuito) o Pingdom gestiscono i controlli HTTP e delle parole chiave sulla tua homepage e sulle pagine principali.

Configurazione pratica:

  • Monitorate la vostra homepage e una pagina importante accessibile senza effettuare il login, come quella dei prezzi, della cassa o la pagina di destinazione principale.
  • Utilizza sia i controlli dello stato HTTP che quelli delle parole chiave, in modo che una pagina compromessa che restituisce ancora una normale risposta 200 non sfugga al controllo.

Avvisi di sicurezza

Imposta avvisi per eventi che segnalano l'appropriazione indebita dell'account, manomissioni o anomalie.

Plugin di sicurezza come Wordfence o Sucuri avvisano in caso di picchi di accessi, modifiche ai file e nuovi utenti amministratori.

Segui questi passaggi per configurare gli avvisi in WordPress:

  • Vai su PluginAggiungi nuovo.
  • Installa e attiva un plugin di sicurezza che supporti gli avvisi.
  • Apri il plugin dalla barra laterale sinistra.
  • Cerca Avvisi o Notifiche nelle impostazioni del plugin.
  • Attiva gli avvisi per:
    • Creazione di nuovi utenti amministratori
    • Modifiche ai file del plugin o del tema
    • Picchi di accessi o errori ripetuti
    • Aggiornamenti critici dei plugin disponibili
    • Problemi relativi al DNS o al certificato SSL
  • Inoltra gli avvisi critici a Slack o PagerDuty. Riserva le e-mail alle notifiche a bassa priorità.

Registri delle attività

Durante un incidente, i registri rispondono alle uniche domande che contano: cosa è cambiato, quando è cambiato, chi lo ha cambiato e da dove.

Configurazione pratica:

  • Registra le azioni di amministrazione come la creazione di utenti, l'installazione di plugin e le modifiche alle impostazioni.
  • Conserva i log per un periodo sufficientemente lungo da consentire l'analisi di compromissioni a lento sviluppo.
  • Abbina i log delle attività ai log di accesso al server in modo da poter correlare gli IP e gli user agent.

Segui questi passaggi per abilitare i registri delle attività in WordPress:

  • Vai su PluginAggiungi nuovo.
  • Installa e attiva un plugin per il registro delle attività.
  • Apri il plugin dalla barra laterale sinistra.
  • Attiva la registrazione delle azioni di amministrazione, come la creazione di utenti, l'installazione di plugin e le modifiche alle impostazioni.
  • Imposta per quanto tempo conservare i registri, quindi salva.
  • Se disponibile, abilita l'esportazione dei registri o l'inoltro a un archivio esterno.

Se i registri crescono troppo rapidamente, riduci il volume senza perdere i segnali di cui avrai bisogno in seguito.

  • Riduci il livello di verbosità per gli eventi non critici.
  • Esegui una rotazione aggressiva dei log.
  • Scarica su un archivio di log esterno quando disponibile.

Considerazioni finali {#final-thoughts}

La sicurezza di WordPress di solito viene compromessa per motivi semplici. Piccole falle rimangono aperte troppo a lungo: aggiornamenti mancati, password deboli o accesso amministrativo eccessivo.

Se devi fare una sola cosa, assicurati che sia la coerenza. Aggiorna regolarmente il core di WordPress, i temi e i plugin. Attiva l'autenticazione a due fattori (2FA) sugli account di livello amministrativo. Usa password lunghe e uniche ed evita nomi utente ovvi. Mantieni l'HTTPS su ogni pagina in modo che gli accessi, le sessioni e i dati dei moduli rimangano crittografati.

Una volta che le basi sono a posto, aggiungi una protezione extra. Usa un firewall per bloccare il traffico dannoso prima che raggiunga il tuo sito. Esegui scansioni antimalware e monitora le modifiche ai file in modo da poter individuare i problemi in anticipo. Conserva i backup fuori sede, mantieni più punti di ripristino e testa i ripristini in modo che il recupero sia prevedibile.

Con queste misure in atto, il tuo sito WordPress sarà più difficile da compromettere, più facile da monitorare e veloce da ripristinare se qualcosa va storto.

Domande frequenti {#frequently-asked-questions}

1. WordPress è sicuro?

Sì, WordPress è sicuro se si seguono alcune pratiche di base: mantenere aggiornati il core, i temi e i plugin; utilizzare password uniche e complesse e l'autenticazione a due fattori (2FA) per gli amministratori; scegliere un hosting con isolamento e firewall; eseguire backup regolari.

2. WordPress dispone di funzionalità di sicurezza integrate?

Sì. Il core di WordPress include solide funzionalità di base come ruoli e permessi, protezione delle azioni amministrative, hashing sicuro delle password e rilasci regolari di aggiornamenti di sicurezza. La maggior parte delle violazioni nel mondo reale deriva da plugin e temi obsoleti, credenziali deboli o server configurati in modo errato, non da un'installazione di base del core che viene mantenuta aggiornata.

Incontrare Ranktracker

La piattaforma all-in-one per un SEO efficace

Dietro ogni azienda di successo c'è una forte campagna SEO. Ma con innumerevoli strumenti e tecniche di ottimizzazione tra cui scegliere, può essere difficile sapere da dove iniziare. Ebbene, non temete più, perché ho quello che fa per voi. Vi presento la piattaforma Ranktracker all-in-one per una SEO efficace.

Abbiamo finalmente aperto la registrazione a Ranktracker in modo assolutamente gratuito!

Creare un account gratuito

Oppure accedi con le tue credenziali

3. Il mio sito WordPress è stato hackerato?

Fai attenzione a segnali di allarme evidenti come reindirizzamenti inaspettati, nuovi utenti amministratori che non hai creato, file di temi o plugin che cambiano senza una distribuzione, attività pianificate insolite e picchi improvvisi di accessi. Controlla i log del tuo plugin di sicurezza e i log di accesso al server. Se utilizzi Google Search Console, cerca avvisi e URL indicizzati che non conosci.

4. Come posso rendere il mio sito WordPress HTTPS?

Installa il certificato SSL nella dashboard del tuo hosting. Quindi aggiorna l'URL della home page e l'URL del sito di WordPress a HTTPS e imposta HTTPS come predefinito per l'area di amministrazione e il front-end. Se vedi avvisi di contenuti misti, sostituisci i link HTTP hardcoded nel database e nelle risorse del tema. Se utilizzi un proxy o un bilanciatore di carico, assicurati che WordPress riconosca la richiesta originale come HTTPS per evitare loop di reindirizzamento.

Felix Rose-Collins

Felix Rose-Collins

Ranktracker's CEO/CMO & Co-founder

Felix Rose-Collins is the Co-founder and CEO/CMO of Ranktracker. With over 15 years of SEO experience, he has single-handedly scaled the Ranktracker site to over 500,000 monthly visits, with 390,000 of these stemming from organic searches each month.

Iniziate a usare Ranktracker... gratuitamente!

Scoprite cosa ostacola il posizionamento del vostro sito web.

Creare un account gratuito

Oppure accedi con le tue credenziali

Different views of Ranktracker app