Sicurezza WordPress: come mantenere sicuro il proprio sito

Introduzione

WordPress ha storicamente avuto una cattiva reputazione per la sicurezza. Tuttavia, è necessario un po’ di contesto per aiutare a inquadrare l’immagine in modo accurato. WordPress attualmente si trova comodamente al vertice del panorama CMS con una quota di mercato del 64,7% ad aprile 2021. Il secondo posto va attualmente a Shopify con il 5,4%. In effetti, WordPress ha quasi il doppio della quota di mercato delle 90 prossime piattaforme popolari messe insieme. Ci sono molti siti WordPress là fuori e questo in definitiva significa che ci sono molti siti Web WordPress a cui i “cattivi attori” (il tipo di sicurezza informatica , non il tipo di Hollywood ) sono interessati.

C’è anche un grande volume di siti WordPress in circolazione che si basano su temi o plug-in standard per alimentare parti chiave o tutto il sito web. Spesso, è qui che può sorgere una situazione problematica. Compromettendo un tema o un plug-in ampiamente utilizzati, un utente malintenzionato può potenzialmente ottenere le chiavi di un numero di siti, motivo per cui questi temi e plug-in possono essere un obiettivo attraente.

L’altro lato di questa storia è che c’è un numero enorme di sviluppatori nella comunità di WordPress e poiché WordPress è un software open source, le patch di sicurezza vengono implementate molto rapidamente alla scoperta di eventuali vulnerabilità. L’ ultima versione di WordPress al momento in cui scriviamo ha avuto l’incredibile cifra di 481 singoli contributori solo a questa versione.

Il principale punto di partenza da questo, se stai costruendo un sito Web basato su WordPress utilizzando un front-end su misura e mantenendo WordPress stesso e tutti i plug-in aggiornati, sei in buone mani. Tuttavia, ci sono alcune altre cose da tenere d’occhio e quindi ecco un elenco di suggerimenti per mantenere sicuro un sito Web WordPress.

1. Utilizzare un firewall per applicazioni Web (WAF).

Proprio come potresti avere un software antivirus sul tuo computer, è una buona idea avere un qualche tipo di firewall sul tuo server. La maggior parte degli host gestiti, come WP Engine o Kinsta, ha un qualche tipo di offerta WAF. Se stai gestendo i tuoi server, puoi utilizzare qualcosa come Cloudflare o Sucuri per gestire il tuo firewall prima che le richieste colpiscano il tuo server (entrambi hanno un’offerta specifica per WordPress) o se modifichi le impostazioni DNS per eseguire uno dei due questi servizi sono un problema, un’alternativa lato server come WordFence può ancora essere efficace.

2. Modifica dei percorsi predefiniti.

Sebbene il concetto generale di sicurezza attraverso l’oscurità non renderà il tuo software in sé più sicuro, può aiutare a proteggerlo dagli attacchi automatici. Sebbene pensiamo all’hacking di siti Web come a qualcuno al computer che seleziona un determinato sito Web e poi si mette al lavoro per comprometterlo, la verità è che la stragrande maggioranza degli attacchi è automatizzata. Strumenti e bot scansionano Internet alla ricerca di siti Web che eseguono software con vulnerabilità note e quindi, una volta identificati questi siti, è possibile eseguire strumenti automatizzati per comprometterli. 

Semplici modifiche come la modifica dell’URL di accesso predefinito, l’installazione di WordPress in una sottodirectory in modo che i percorsi di backend siano un livello più profondi di un’installazione standard o lo spostamento del file di configurazione principale di WordPress spesso possono significare che gli strumenti automatizzati semplicemente non identificano il sito come in esecuzione WordPress o non riesce a eseguire gli strumenti di scansione poiché si aspettano percorsi diversi.

3. Esecuzione di versioni aggiornate di PHP.

PHP storicamente ha avuto un programma di rilascio lento. Le cose sono cambiate negli ultimi anni e ora i rilasci di PHP stanno arrivando spesso e velocemente, portando velocità, stabilità e, soprattutto, miglioramenti della sicurezza lungo il percorso. Di solito è un compito piuttosto semplice assicurarsi di eseguire una versione recente di PHP e vale la pena investire del tempo per la tranquillità.

4. Implementare l'autenticazione a due fattori (2FA).

2FA è il processo di conferma di un tentativo di accesso inviando un codice (in genere a un indirizzo e-mail o a un dispositivo mobile) o generando un codice tramite un’app di autenticazione come Google Authenticator quando viene effettuato un tentativo di accesso. Questo è un ulteriore livello di sicurezza per un nome utente e una password e garantisce che anche se un nome utente e una password vengono rubati o compromessi da qualche altra parte, un utente malintenzionato avrà inoltre bisogno dell’accesso al tuo indirizzo e-mail o al tuo dispositivo mobile.

Sono disponibili numerose soluzioni 2FA per WordPress a seconda dei requisiti specifici.

5. Limitare i tentativi di accesso.

Limitando il numero di volte in cui un utente può tentare di accedere, puoi rallentare notevolmente gli sforzi di un utente malintenzionato. Limitare il numero di tentativi di accesso a circa 3-5 all’ora è in genere un buon equilibrio tra sicurezza e considerazione dell’errore umano.

6. Usa HTTPS e imponi il suo utilizzo ovunque.

Avendo un certificato SSL valido installato sul server del tuo sito, puoi servire il tuo sito in modo sicuro tramite una connessione HTTPS. Ciò garantisce che tutti i dati inviati tra il sito Web e l’utente siano crittografati, proteggendo dagli attacchi man-in-the-middle che possono portare a password o dati del modulo rubati.

Un ulteriore vantaggio di una connessione HTTPS è che puoi anche servire il sito web e le sue risorse su una connessione HTTP/2 , fornendo risorse in modo più rapido ed efficiente al browser dell’utente e, a sua volta, migliorando la velocità del sito web.

HTTPS è anche un fattore di ranking confermato nell’algoritmo del punteggio della pagina di Google.

È importante assicurarsi che una connessione HTTPS venga forzata attraverso il sito Web una volta che si dispone di un certificato SSL. Questo è tipicamente configurato tramite il tuo server web (normalmente NGINX o Apache).

7. Disabilita l'editor di file integrato disponibile per gli amministratori che hanno effettuato l'accesso.

WordPress è dotato di un editor integrato che consente agli amministratori di modificare i file dei temi. Consentendo l’uso di questo editor, se qualcuno ottiene l’accesso a un account amministratore, può aggiungere il proprio codice al sito all’interno della dashboard di amministrazione di WordPress senza dover mai accedere al server stesso. Questo dovrebbe essere sempre disabilitato. 

Inoltre, la maggior parte dei siti Web dovrebbe utilizzare un qualche tipo di controllo della versione, come Git. Consentire la modifica dei file direttamente sul server Web sarebbe in conflitto con il sito controllato dalla versione, causando problemi durante la distribuzione di nuove versioni del sito.

8. Mantieni aggiornato WordPress e tutti i plugin.

Non si può sottovalutare quanto sia importante mantenere aggiornato il software in esecuzione sul tuo sito web. Una volta che una vulnerabilità è in libertà, è importante assicurarsi di essere protetti. Fortunatamente, WordPress e i plug-in più affidabili sono ben mantenuti e aggiornati e finché hai un buon programma di aggiornamento in atto, ad esempio ogni due settimane, puoi ridurre notevolmente il rischio di essere compromesso.

Conclusione.

Prendendo una manciata di misure, WordPress può essere un sistema di gestione dei contenuti molto sicuro e affidabile. Abbiamo un sacco di siti WordPress sotto la nostra cintura e ci sentiamo estremamente sicuri della nostra piattaforma e di WordPress in generale.

Se stai gestendo un sito web e ritieni che la sicurezza possa essere un problema, ti consigliamo di lavorare con un’agenzia che può svolgere questo lavoro per tuo conto. In qualità di esperti nello sviluppo di WordPress, siamo ben posizionati per fornire consigli sull’ambiente più adatto per il tuo progetto.