14 modi per proteggere il tuo sito WordPress – Passo dopo passo

Pubblicato: 2022-01-05

La sicurezza di WordPress dovrebbe essere una priorità assoluta per i proprietari di siti. Come mai? Perché ci sono fino a 90.000 attacchi ai siti WordPress ogni minuto.

Se ciò non bastasse, ogni settimana Google inserisce nella blacklist circa 20.000 siti Web per malware e 50.000 per phishing. E quando un sito Web viene inserito nella lista nera e gli utenti sono costretti ad accettare i rischi, si verifica una perdita di circa il 95% del traffico.

Sebbene l'ultima versione di WordPress sia sempre la versione più sicura disponibile, puoi fare di più sul tuo sito per assicurarti che sia impenetrabile per hacker e bot.

Ecco alcuni suggerimenti sulle best practice per aiutarti a proteggere il tuo sito.

  1. Usa un buon host web
  2. Usa solo temi e plugin di qualità
  3. Mantieni aggiornati WordPress Core, Temi e Plugin
  4. Non utilizzare "Admin" come nome utente
  5. Usa una password complessa
  6. Usa l'autenticazione a due fattori
  7. Limita i tentativi di accesso
  8. Installa un certificato SSL
  9. Cambia il prefisso del database
  10. Protezione dei file wp-config.php e .htaccess
  11. Aggiungi i token di sicurezza
  12. Disabilita la modifica dei file
  13. Impedisci l'esecuzione di file PHP
  14. Disattiva XML-RPC in modo selettivo

1. Usa un buon host web

Un buon host web è la tua prima linea di difesa contro gli attacchi al tuo sito. Quindi non optare automaticamente per l'hosting condiviso economico. Invece, fai i compiti.

Scegli un host affidabile che supporti le ultime versioni delle tecnologie Web di base, come PHP e MySQL. Assicurati di controllare che il tuo host supporti PHP 7: è la versione PHP consigliata ufficiale per WordPress.

Prendi in considerazione la scelta di un host WordPress gestito. Questi servizi sono configurati specificamente per WordPress e si occupano di tutti gli aspetti tecnici importanti dell'hosting, inclusi sicurezza, backup, tempo di attività e prestazioni.

2. Usa solo temi e plugin di qualità

Secondo WPScan, il 52% delle vulnerabilità del sito Web è causato da plug-in mentre l'11% è causato da temi. Combina, è più del 60% della sicurezza di WordPress

Il modo più semplice per garantire che i tuoi plugin e temi possano resistere agli attacchi è scaricarli solo da fonti affidabili. Ciò include WordPress.org e fornitori premium. Il download da sviluppatori inaffidabili che nascondono codice dannoso nei loro temi e plug-in potrebbe compromettere il tuo sito.

Se non sei sicuro che un sito Web da cui desideri scaricare sia sicuro, cerca testimonianze e recensioni per assicurarti che il prodotto che desideri sia di qualità audio.

Inoltre, assicurati che tutti i plugin e i temi che utilizzi siano ben supportati e aggiornati regolarmente. Se un plug-in o un tema non viene aggiornato da molto tempo, è probabile che contenga falle di sicurezza senza patch o addirittura codice errato che potrebbe renderti vulnerabile agli hack.

Infine, mantieni solo i plugin e i temi di cui hai effettivamente bisogno e che usi. Più ne hai, maggiore è il rischio di essere hackerato. Quindi rivedi regolarmente il tuo elenco di plugin e temi e disattiva ed elimina quelli che non ti servono.

3. Mantieni aggiornati WordPress Core, Temi e Plugin

WordPress è un software open source sviluppato e mantenuto da una comunità mondiale di volontari. Con ogni nuova versione, tutte le vulnerabilità di sicurezza vengono corrette.

Per impostazione predefinita, WordPress installa automaticamente aggiornamenti minori (es. WordPress 4.9.4). Ma per le versioni principali (es. WordPress 4.9), spetta a te aggiornare manualmente all'ultima versione.

Assicurati che il tuo sito esegua sempre l'ultima versione di WordPress.

Questi aggiornamenti di base sono fondamentali per la sicurezza e le prestazioni del tuo sito. Quindi assicurati di eseguire il backup del tuo sito e di applicare tutti gli aggiornamenti di base quando diventano disponibili.

Allo stesso modo, è anche importante aggiornare regolarmente eventuali plugin e temi in modo da utilizzare sempre le versioni più aggiornate e sicure del software.

4. Non utilizzare "Admin" come nome utente

Non utilizzare "admin" come nome utente per il tuo sito. Le versioni precedenti di WordPress utilizzavano "admin" come nome utente predefinito, rendendo più facile per gli hacker indovinare un pezzo in meno del puzzle durante un attacco di forza bruta.

Ma le recenti versioni di WordPress hanno cambiato questo, dando agli utenti l'opportunità di inserire il proprio nome utente durante l'installazione. Tuttavia, alcune persone scelgono ancora di utilizzare "admin" piuttosto che trovare un nome utente originale. Non farlo.

Vuoi rendere più difficile la penetrazione del tuo sito da parte di malintenzionati, in modo che gli attacchi richiedano più tempo e tu o il tuo provider di hosting potete identificare eventuali attacchi prima che abbiano successo e fermarli.

5. Usa una password complessa

Crea sempre password complesse e univoche per il tuo account amministratore WordPress, database, account di hosting, indirizzo e-mail e qualsiasi account FTP. Come i nomi utente, le password sono un altro pezzo del puzzle da indovinare per gli hacker, e più forte è la tua password, più difficile sarà per gli hacker accedere con successo al tuo sito.

Durante l'installazione, WordPress proverà a forzarti una password complessa e ti chiederà di selezionare una casella se ne inserisci una debole. Anche se potresti voler inventare la tua password, strumenti come Secure Password Generator possono creare una password complessa per te.

Il Secure Password Generator ti consente di creare password uniche e casuali.

6. Utilizzare l'autenticazione a due fattori

Anche con un nome utente e una password forti, gli attacchi di forza bruta sono ancora un problema per molti siti web. È qui che l'autenticazione a due fattori può aiutare.

L'autenticazione a due fattori aggiunge un altro passaggio nel processo di accesso, costringendo gli utenti a inserire un codice inviato al proprio telefono cellulare oltre alle consuete credenziali di accesso. Questo può contrastare gli attacchi automatici e garantire che il tuo sito non sia vittima degli hacker.

Plugin come iThemes Security possono implementare l'autenticazione a due fattori. Ci sono anche plugin gratuiti come Two Factor Authentication che possono aggiungere questo ulteriore livello di sicurezza al tuo sito.

Il plug-in gratuito di autenticazione a due fattori ti consente di aggiungere facilmente un altro livello di protezione quando accedi al tuo sito.

7. Limita i tentativi di accesso

Per impostazione predefinita, puoi tentare di accedere al tuo account WordPress tutte le volte che vuoi. Anche se questo potrebbe essere conveniente per te se sei smemorato e non ottieni sempre la tua password al primo o anche al terzo tentativo, è anche conveniente per gli hacker che eseguono attacchi di forza bruta: offre loro un numero illimitato di tentativi di decifrare la combinazione di nome utente e password.

Questo può essere facilmente risolto limitando il numero di tentativi di accesso non riusciti che un utente può effettuare sul tuo sito. Plugin gratuiti come WP Limit Login Attempts ti consentono di limitare i tentativi di accesso e bloccare temporaneamente gli indirizzi IP.

8. Installa un certificato SSL

Installare un certificato SSL sul tuo sito è d'obbligo, soprattutto se hai un negozio eCommerce. Non solo perché renderà difficile per gli hacker intercettare informazioni sensibili tra i browser degli utenti e il tuo server, ma perché Google ora insiste sul fatto che tutti i siti dovrebbero averne uno.

A partire da luglio 2018 con il rilascio di Chrome 68, le pagine Web caricate senza HTTPS verranno contrassegnate come "non sicure". Ciò significa che gli utenti che tentano di accedere a siti che non dispongono di un certificato SSL riceveranno un avviso che il sito non è affidabile.

Questo annuncio è un grosso problema perché, secondo Cloudflare, più della metà dei visitatori web vedrà questi avvisi.

Let's Encrypt è un'autorità di certificazione gratuita che fornisce certificati SSL per i proprietari di siti.

Ottenere un certificato SSL sta diventando sempre più facile da fare. Let's Encrypt offre certificati open source gratuiti mentre le società di hosting generalmente ne forniscono uno gratuitamente (e talvolta anche gratuitamente).

9. Modificare il prefisso del database

Per impostazione predefinita, WordPress utilizza wp_ come prefisso per tutte le tabelle nel database del tuo sito. Ciò significa che se stai utilizzando l'impostazione predefinita, che è una conoscenza comune di WordPress, gli hacker possono facilmente indovinare qual è il nome della tua tabella, rendendola vulnerabile alle iniezioni SQL.

Un modo semplice per risolvere questo problema è cambiare il prefisso in qualcosa di casuale, come 5jiqtu69dg_ usando un generatore di stringhe casuali. Per aggiornare il prefisso della tua tabella, apri il file wp-config.php nella radice della directory dei file del tuo sito e trova questa riga:

 $prefisso_tabella = 'wp_';

Usando il mio esempio, sostituiresti la riga in questo modo:

 $prefisso_tabella = '5jiqtu69dg_';

Successivamente, dovrai aggiornare il prefisso utilizzato nel tuo database. Mentre i plug-in di sicurezza come iThemes Security possono aiutarti a farlo in modo rapido e semplice, puoi imparare come farlo manualmente tramite phpMyAdmin qui.

10. Protezione dei file wp-config.php e .htaccess

Il file wp-config.php del tuo sito, che di solito si trova nella cartella principale del tuo sito web, contiene informazioni critiche sull'installazione di WordPress, inclusi nome, host, nome utente e password per il tuo database. Nel frattempo, .htaccess è un file nascosto che imposta la configurazione del server a livello di directory, abilita graziosi permalink e consente i reindirizzamenti.

Impedire l'accesso a questi file critici è facile. Aggiungi semplicemente quanto segue al tuo file .htaccess per proteggere wp-config.php:

 <File wp-config.php>
ordinare consentire, negare
rifiutato da tutti
</File>

In alternativa, puoi semplicemente spostare il tuo file wp-config.php nella directory più in alto poiché WordPress lo cercherà automaticamente lì.

Per fermare l'accesso indesiderato a .htaccess, tutto ciò che devi fare è cambiare il nome del file nel codice:

 <File .htaccess>
ordinare consentire, negare
rifiutato da tutti
</File>

11. Aggiungi i token di sicurezza

Le chiavi di sicurezza e i sali di WordPress crittografano le informazioni memorizzate nei cookie del browser, proteggendo password e altre informazioni sensibili. Ci sono quattro chiavi di sicurezza in totale: AUTH_KEY , SECURE_AUTH_KEY , LOGGED_IN_KEY e NONCE_KEY .

Queste chiavi di autenticazione sono fondamentalmente un insieme di variabili casuali e rendono più difficile decifrare le tue password. Una password non crittografata come "wordpress" non richiede molto sforzo per essere violata dagli aggressori. Ma una password lunga e casuale come "L2(Bpw 6#:S.}tjSKYnrR~.Dys5c>+>2l2YMMSVWno4`!%wz^GOBf};uj*>-tkye" è molto più difficile da decifrare.

L'aggiunta di chiavi di sicurezza e sali è un processo manuale e facile da eseguire. Ecco come farlo:

  1. Ottieni un nuovo set di chiavi di sicurezza e sali. Puoi generarli casualmente qui.
  2. Quindi, aggiorna il tuo file wp-config.php. Apri il tuo file e scorri verso il basso fino a trovare la sezione sottostante e sostituisci i vecchi valori con le nuove chiavi e sali:
 /**#@+
 * Autenticazione chiavi e sali univoci.
 *
 * Cambiali in diverse frasi uniche!
 * Puoi generarli utilizzando il {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
 * Puoi modificarli in qualsiasi momento per invalidare tutti i cookie esistenti. Ciò costringerà tutti gli utenti a dover effettuare nuovamente l'accesso.
 *
 * @dal 2.6.0
 */
define('AUTH_KEY', 'aggiungi variabili univoche qui');
define('SECURE_AUTH_KEY', 'aggiungi variabili univoche qui');
define('LOGGED_IN_KEY', 'aggiungi variabili univoche qui');
define('NOnce_KEY', 'aggiungi qui variabili univoche');
define('AUTH_SALT', 'aggiungi variabili univoche qui');
define('SECURE_AUTH_SALT', 'aggiungi variabili univoche qui');
define('LOGGED_IN_SALT', 'aggiungi variabili univoche qui');
define('NOnce_SALT', 'aggiungi variabili univoche qui');

/**#@-*/
  1. Salva il tuo file wp-config.php. Verrai disconnesso automaticamente dal tuo sito WordPress e dovrai accedere nuovamente.

12. Disabilita la modifica dei file

WordPress dispone di un editor di codice interno per plugin e file di temi. Sebbene ciò sia utile per gli amministratori che desiderano apportare modifiche rapide ai file, significa anche che gli hacker e gli utenti di alto livello possono apportare modifiche ai file. Puoi trovare questa funzione andando su Aspetto > Editor nel tuo pannello di amministrazione di WordPress.

Puoi disabilitare la modifica dei file nel tuo file wp-config.php. Basta aprire il file e aggiungere questa riga di codice:

 define('DISALLOW_FILE_EDIT', true);

Sarai comunque in grado di modificare i tuoi plugin e temi tramite FTP o cPanel, ma non nell'amministratore di WordPress.

13. Impedisci l'esecuzione di file PHP

Una cartella comune per gli hacker per caricare malware in WordPress è wp-content/uploads, ma anche wp-includes/ . Per evitare che i file vengano eseguiti in queste cartelle, crea un nuovo file di testo in un editor di testo e incolla questo codice:

 <File *.php>
rifiutato da tutti
</File>

Quindi, salva questo file come .htaccess e caricalo nelle tue cartelle /wp-content/uploads e wp-includes/ tramite FTP o cPanel.

14. Disattiva XML-RPC in modo selettivo

XML-RPC, o XML Remote Procedure Call, è un'API che aiuta a connettere app Web e mobili con il tuo sito WordPress. Era abilitato per impostazione predefinita in WordPress 3.5, ma da allora è stato scoperto che amplifica notevolmente gli attacchi di forza bruta.

Ad esempio, se un hacker volesse provare 500 password diverse sul tuo sito, di solito dovrebbe effettuare 500 tentativi di accesso separati. Ma con XML-RPC, l'hacker potrebbe utilizzare la funzione system.multicall per provare un gran numero di combinazioni di nome utente e password in una singola richiesta HTTP.

Anche se sarebbe facile disabilitare completamente questa funzione per il tuo sito, significherebbe perdere funzionalità per plug-in come Jetpack. Invece, è meglio selezionare in modo selettivo il modo in cui implementi e disabiliti XML-RPC utilizzando plug-in appositamente progettati.

Bonus: come verificare le vulnerabilità

Esistono un paio di modi diversi per controllare le vulnerabilità del tuo sito: con uno scanner di siti online o con un plug-in.

Con questi strumenti online gratuiti, tutto ciò che devi fare è inserire l'URL del tuo sito e inizieranno a scansionare il tuo sito alla ricerca di vulnerabilità note:

Scansione di sicurezza di WordPress : questo strumento verifica passivamente i problemi di sicurezza di base. Dovrai passare a un piano premium per i test avanzati.

Sucuri SiteCheck : controlla il tuo sito Web per malware noto, stato di blacklist, errori del sito Web e software non aggiornato. Con un aggiornamento premium, questo strumento eseguirà la pulizia del malware, la protezione da DDoS/forza bruta, la rimozione della lista nera e il monitoraggio della sicurezza.

WPScan : questo scanner di vulnerabilità di WordPress a scatola nera ospitato su GitHub ti consente di scansionare il tuo sito alla ricerca di vulnerabilità note con core, plug-in e temi. Dovrai utilizzare il Terminale per eseguire questa applicazione. È gratuito per uso personale e sponsorizzato da Sucuri.

Bonus: i migliori plugin di sicurezza per WordPress

L'installazione di un plug-in di sicurezza sul tuo sito WordPress aggiunge un'altra linea di difesa contro possibili attacchi. Offrono un'ampia gamma di funzionalità per proteggere il tuo sito, comprese le scansioni del sito, e possono avvisarti quando il tuo sito è stato compromesso.

Ecco i primi 3 plugin:

Recinzione di parole

Plugin di sicurezza di Wordfence.

WordFence è un plug-in di sicurezza gratuito estremamente popolare con oltre 2 milioni di installazioni attive e un'opzione premium disponibile. È dotato di un "feed di difesa dalle minacce" che estrae le più recenti regole del firewall, firme di malware e indirizzi IP dannosi, mantenendo il sito Web del tuo sito web.

Un firewall per applicazioni Web identifica e blocca il traffico dannoso, mentre una blacklist IP in tempo reale blocca tutte le richieste provenienti da IP dannosi, proteggendo il tuo sito e riducendo il carico.

Questo plugin protegge dagli attacchi di forza bruta limitando i tentativi di accesso, applicando password complesse e altre misure di sicurezza dell'accesso. Se rileva qualsiasi tipo di infezione nel tuo sito, ti avviserà tramite e-mail. Puoi anche monitorare il traffico verso il tuo sito in tempo reale per verificare se è sotto attacco.

Sucuri

Plugin di sicurezza Sucuri.

Per un plug-in di sicurezza gratuito, il plug-in di sicurezza di Sucuri fornisce una serie completa di funzionalità, tra cui il controllo dell'attività di sicurezza in modo da poter tenere d'occhio eventuali modifiche apportate al tuo sito, monitoraggio dell'integrità dei file, scansione remota del malware, monitoraggio della lista nera e misure di rafforzamento della sicurezza.

Una sezione del plug-in "azioni di sicurezza post-hacking" ti guida attraverso le tre cose chiave che dovresti fare dopo un compromesso. Puoi anche abilitare le notifiche di sicurezza in modo che quando viene rilevata un'infezione sul tuo sito o viene compromessa, verrai immediatamente avvisato.

Quando esegui l'aggiornamento alla versione premium, ottieni l'accesso a un firewall del sito Web per una maggiore protezione.

iThemes Sicurezza

Plugin di sicurezza iThemes.

Mentre la versione gratuita di iThemes Security aiuta a bloccare WordPress, correggere i buchi comuni e rafforzare le credenziali degli utenti, la versione pro offre quasi tutte le misure di sicurezza di cui potresti aver bisogno.

C'è l'autenticazione a due fattori, la pianificazione della scansione del malware e la registrazione delle azioni dell'utente in modo da poter tenere traccia di quando gli utenti modificano il contenuto, effettuano l'accesso o si disconnettono. Puoi aggiornare chiavi di sicurezza e sali, impostare la scadenza della password e aggiungere Google reCAPTCHA al tuo sito.

Altre funzionalità includono il confronto di file online, l'integrazione WP-CLI e l'escalation temporanea dei privilegi in modo da poter concedere l'accesso temporaneo come amministratore o editor al tuo sito.

Conclusione

Non esiste un modo giusto per proteggere il tuo sito WordPress dalle minacce alla sicurezza. Il meglio che puoi fare è mantenere aggiornati il ​​core, i temi e i plug-in di WordPress e implementare una serie di soluzioni diverse che correggono le vulnerabilità, proteggono i file critici e obbligano gli utenti a rafforzare le proprie credenziali.

Anche la pianificazione di backup regolari è un must. Non sai mai quando il tuo sito potrebbe soccombere a un attacco, quindi è importante che tu sia pronto e che disponga di un piano per ripristinare rapidamente il tuo sito in caso di emergenza.

Investire in un solido plug-in di sicurezza che ti consente di scansionare il tuo sito alla ricerca di vulnerabilità, monitorare le azioni e avvisarti quando qualcosa non va, aiuterà anche a rafforzare il tuo sito e garantire che sia ben protetto dalle minacce.