Luigi Sabbetti

Il mondo del web a 360 gradi

Come proteggere un sito Wordpress

Come proteggere un sito WordPress


di // Pubblicato il: 4 maggio 2018

Gli attacchi hacker sono ormai all’ordine del giorno. Non voglio allarmarti, ma se hai un sito web dovresti metterlo in sicurezza al più presto. La sicurezza è purtroppo un aspetto che, spesso, passa in secondo piano durante la realizzazione di un sito web. Purtroppo, però, quando ci accorgiamo di essere stati presi di mira da qualche malintenzionato è troppo tardi.

Ecco perché è davvero importante proteggere un sito e, soprattutto, tenere sempre a portata di mano delle copie di backup per effettuare un ripristino veloce in caso di danni irreparabili.

Le statistiche, purtroppo, parlano di un trend sempre crescente di attacchi. I siti WordPress, in particolar modo, sono tra i più venerabili.
Sia chiaro, WordPress ha un core estremamente sicuro ed affidabile, tuttavia la possibilità di installare diversi plugin e la mancanza di aggiornamenti del core da parte dello sviluppatore del sito, possono creare falle nel sistema di sicurezza della piattaforma.

Di seguito, quindi, ti mosterò come proteggere un sito WordPress attraverso 15 task semplici da eseguire, anche per i neofiti.

Seguendo tutti i consigli, probabilmente, perderai una mezza giornata di lavoro. Ma, fidati, è un ottimo investimento di tempo!
Perderai, infatti, almeno il triplo del tempo per ripristinare tutto in caso di attacco. Investi questa mezza giornata e potrai, almeno per il momento, fare sogni tranquilli.

Indice

1. Aggiornamento temi, plugin e core

Come ti dicevo nell’incipit, la prima cosa da fare per evitare falle nel tuo sito è quella di mantenere plugin, temi e core sempre aggiornati all’ultima versione disponibile.
Molti pensano che, per eseguire questa operazione, è necessario soltanto recarsi nell’admin ed eseguire gli aggiornamenti cliccando sul tasto “aggiorna”. In realtà non è un operazione da fare a cuor leggero!

Per prima cosa effettua sempre un backup prima di aggiornare anche solo uno dei componenti del tuo sito. Se non sai come effettuare un backup del tuo sito, non preoccuparti: ne parleremo più avanti.

L’aggiornamento del core, nella maggior parte dei casi, non dovrebbe portare problemi. Spero, infatti, che tu non abbia modificato il codice sorgente di WordPress. Questa è una cosa che non devi mai fare!
Per quanto riguarda l’aggiornamento dei plugin devi fare attenzione al fatto che lo sviluppatore rilasci ancora degli aggiornamenti.

Può capitare, infatti, che lo sviluppatore di un plugin ne abbandoni lo sviluppo. In questo caso, il mio consiglio, è quello di non lasciare un plugin obsoleto sul sito ma, piuttosto, sostituirlo con uno dalle funzioni simili.
Un plugin obsoleto, infatti, è una mina vagante nel nostro WordPress e lo espone a seri rischi.

L’aggiornamento del tema può rilevarsi, infine, la parte più delicata da eseguire. Molti, infatti, installano un template e ne modificano direttamente i files sorgente. Questa è una pratica sbagliata poiché, quando effettueremo l’aggiornamento, le nostre modifiche andranno perse! Potresti quindi ritrovarti il sito con una grafica totalmente diversa dalla tua e, in quei casi, se non hai un backup a disposizione non potrai fare altro che rifare tutte le modifiche a mano.

Per evitare questo spiacevole evento, ti basta utilizzare un child theme. un child theme, infatti, ti permette di effettuare un override sicuro dei files del tema. In questo modo, l’eventuale aggiornamento dello stesso non causerà alcuna rottura. Trovi un’ottima documentazione sui child theme direttamente sul codex di WordPress.
Se non sei pratico di codice, invece, puoi utilizzare un plugin per la creazione di un child theme. . Se, infine, non hai intenzione di apportare nessuna modifica a livello di codice al tuo tema, potresti anche fare a meno di utilizzare un child theme.

2. Numero di tentativi per effettuare il login

Tutti conoscono i path per entrare in un sito wordpress ovvero /wp-login e /wp-admin . Per fortuna, wordpress, ci permette di cambiare questi url standard rendendo così la vita più difficile ai malintenzionati. Vedremo questo aspetto successivamente. In questo capitolo, invece, andremo a settare un numero massimo di tentativi per effettuare il login.

Durante un attacco brute force, infatti, la tua pagina di login può essere presa letteralmente d’assalto. Un hacker, o semplicemente qualche dilettante allo sbaraglio, potrebbe cercare di accedere al tuo sito nel modo più facile al mondo: cercare di indovinare la tua password.

Per farlo comunque gli serviranno molti tentativi prima di beccare, ammesso che ci riesca, i dati di login. Ecco perché è bene limitare i tentativi di accesso ed, eventualmente, bannare l’indirizzo IP di chi prova ad effettare troppe volte il login in modo sospetto.

Per munirci di questa interessante feature, ci basta installare il plugin Login Lockdown.
Questo interessante plugin, sviluppato da Michael VanDeMar, è in grado di registrare l’indirizzo IP e la data di ogni tentativo fallito di login. Il plugin è in grado di bloccare un determinato range di indirizzi IP nel caso si verifichino tentativi a poca distanza l’uno dall’altro. Di default, questo plugin, blocca l’indirizzo IP del malintenzionato per un’ora dopo tre tentativi di login falliti in 5 minuti. Ovviamente è possibile configurarlo secondo le nostre esigenze.

3. Autenticazione a due fattori

Uno dei metodi più utilizzati per proteggere un sito è quello di utilizzare l’autenticazione a due fattori.
La 2 factor authentication (2FA) viene utilizzata da siti autorevoli ed è un ottimo metodo per innalzare notevolmente le misure di sicurezza. Ma come funziona nel dettaglio? Sfruttando la 2FA l’utente sarà costretto a fornire i sui dettagli per effettuare il login a due differenti componenti. Il proprietario del sito potrebbe decidere di sfruttare la 2FA, ad esempio, inserendo prima una normale password e poi costringendo l’utente a rispondere ad una domanda segreta.

Esistono vari plugin che permettono di integrare l’autenticazione a due fattori su WordPress. Io solitamente utilizzo Google Authenticator mediante il plugin messo a disposizione da miniOrange. Il plugin è ben strutturato e semplice da utilizzare. In pochissimo tempo potrete avere una 2FA bella e pronta sul vostro sito senza dover scrivere una riga di codice.

4. Modificare gli url del login

Come ti dicevo in precedenza, è buona norma modificare gli url per l’autenticazione su WordPress. Fortunatamente, cambiare url è davvero molto semplice.
Solo attraverso questa semplice operazione, ridurrai drasticamente le possibilità che un eventuale hacker possa raggiungere la tua schermata di login. Per effettuare questa operazione, puoi utilizzare svariate metodi. Il più rapido e sicuro è quello di utilizzare il plugin Custom login url. Questo plugin, molto leggero tra le altre cose, ti permette di effettuare diversi task:

  • Modificare il path /wp-login.php
  • Modificare il path /wp-login.php?action=register
  • Modificare il path /wp-login.php?action=lostpassword
  • Modificare il path /wp-login.php?action=logout
  • Definire un path a scelta per ognuno dei path sopra citati
  • Settare i path per la pagina di success dopo aver effettuato le operazioni di login e logout

5. Rendere sicura la tua password

Puoi sembrarti banale come consiglio, ma rendere sicura la tua password è davvero un passaggio fondamentale. Non ci crederai, ma sono tantissimi gli utenti che usano password semplicissime come la propria data di nascita o il nome del proprio cane.

Non commettere un simile errore. Un hacker, o semplicemente una persona che ti conosce bene, può facilmente avere accesso a queste informazioni sulla tua persona. Il mio consiglio è dunque quello di utilizzare una sequenza alfanumerica randomica, utilizzando lettere maiuscole, numeri e caratteri speciali. Preferisci, infine, una password abbastanza lunga: Solo così renderai realmente la tua password sicura!

Se non hai molta fantasia, puoi sempre affidarti ad un software di generazione password. Ne esistono davvero tantissimi online e sono tutti molto intuitivi e facili da utilizzare.

6. Migrare il tuo sito sotto HTTPS

Un altro aspetto molto importante relativo la sicurezza del tuo sito è il protocollo di trasmissione dati che utilizzi. Utilizzare un protocollo basato su SSL (Secure Socket Layer), infatti, ti garantisce migliori prospettive in ottica SEO e permette aumentare drasticamente la sicurezza del tuo sito. Esistono diversi tipi di certificati, molti dei quali a pagamento come quelli offerti dal noto Symantec, tuttavia, da qualche anno a qusta parte, sono molti gli hosting che offrono gratuitamente questo servizio.

Netsons e Siteground, ad esempio, mettono a disposizione dei loro utenti il servizio di Let’s Encrypt, mentre Aruba utilizza un certificato chiamato DV.

Installare questi certificati è davvero diventato molto semplice. Ti basta davvero un click all’interno dell’area riservata del tuo hosting. Non basta però, solamente attivare il certificato, dovrai infatti preparare il tuo sito alla migrazione. Per farlo dovrai fare in modo che ogni richiesta https venga reindirizzata sotto protocollo sicuro https. Per farlo ci sono diversi metodi. Quello tramite codice consiste nell’inserire le seguenti righe all’interno del file .htaccess


RewriteCond %{HTTPS} =off [OR]
RewriteCond %{HTTP_HOST} !^www\. [OR]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(html|php)
RewriteCond %{HTTP_HOST} ^(www\.)?(.+)$
RewriteRule ^(index\.(html|php))|(.*)$ https://www.%2/$3 [R=301,L]

Se sei un amante dei plugin, invece, puoi utilizzare Really Simple SSL.

7. Proteggere la cartella wp-admin

La cartella wp-admin è sicuramente tra le più importanti presenti sul tuo server. E’ importante, dunque, potreggerla con cura.
Potresti, dunque, potreggerla con password.

Potresti dunque settare due tipi di autenticazione per la tua sezione di admin. La prima con il login normale di WordPress e la seconda mediante il password protect di apache.
Si tratta di un operazione non banalissima, adatta più a sistemisti. Ti lascio comunque un link ad un guida dettagliata con la quale dovresti essere in grado di effettuare questo passaggio in autonomia.

8. Cambiare l’username dell’utente Admin

Non ci crederai, ma sono tantissimi gli utenti che utilizzano la username “admin” per accedere all’area di amministrazione del proprio sito. Questo accade poiché nella fase di installazione è WordPress stesso a suggerirti come placeholder admin. Ricorda di cambiare username. Un hacker tenterà subito di accedere al tuo sito utilizzando admin come username: meglio evitare!

Per cambiare username ti basta recarti nell’admin di wordpress, da qui andare nella gestione utenti del sito e modificare la tua utenza scegliendo una user diversa e più difficile da indovinare.

9. Modificare il prefisso delle tabelle del DB

In fase di configurazione iniziale, WordPress ti chiede quale prefisso utilizzare per le tabelle del tuo database. Di default il prefisso che viene utilizzato è wp_
Per mettere al sicuro il tuo database, è buona norma scegliere un prefisso diverso da quello di default. Se sei in fase di configurazione, ti basterà semplicemente digitare il prefisso scelto al posto di wp_. Puoi scegliere qualcosa come mywp_ o wpnomesito_ qualsiasi cosa andrà bene.

Se invece il tuo sito web è già online e vuoi cambiare il prefisso delle tabelle, potresti farlo direttamente da phpmyadmin oppure, cosa decisamente più semplice e meno pericolosa, utilizzare il plugin Wp dbmanager. Il plugin è molto semplice da utilizzare e ti permette, attraverso la sezione dedicata alle impostazioni del db, di cambiare velocemente il prefisso delle tabelle senza far danni. Questo plugin, inoltre, è utilissimo anche per altre funzioni che vedremo tra poco.

10. Effettuare backup di DB e files

Una delle cose migliori che tu possa fare è senza dubbio avere a portata di mano un backup recente del DB e dei files del tuo sito. Praticamente tutti gli hosting permettono, pagando qualcosa in più, di effettuare dei backup schedulati del tuo sito. Questo è un ottimo investimento che mi sento caldamente di consigliarti. Capita spesso, infatti, che i gestori di un sito decidano di rinunciare al servizio di backup per risparmiare qualcosina sul conto dell’hosting.
Fidati, meglio spendere qualcosa in più, ma essere tranquilli.

Se non hai scelto la prima soluzione, allora non ti rimane che effettuare, programmaticamente, dei backup manuali. Il backup dei files potresti farlo direttamente da ftp. La cartella che ti interessa, in realtà, è soltanto la wp-content.
Per quanto riguarda il backup del database, invece, potresti effettuare l’esportazione del db direttamente da phpmyadmin, oppure, utilizzare il plugin wp dbmanager, già citato in precedenza.

11. Disabilitare il file editing

WordPress permette, di default, di modificare i files del tema anche attraverso l’admin. Basta infatti recarsi nella sezione editor per avere accesso a preziosi files. E’ buona norma, dunque, disabilitare l’editor di questi file tramite admin. Per farlo, ci basta aggiungere una semplice riga all’interno del file wp-config.php che si trova nella root principale di wordpress.


define('DISALLOW_FILE_EDIT', true);

12. Settare correttamente i permessi dei files

Dei permessi di scrittura sbagliati possono danneggiare irreparabilmente il tuo sito.
Devi fare, infatti, molta attenzione nel settare i permessi tramite FTP. Molti utenti settano erroneamente tutto a 777 per evitare di incorrere in messaggi di errore e problemi nel caricamento dei files. Questa pratica è altamente sbagliata. I permessi vanno settati con criterio.

WordPress raccomanda permessi 755 per le cartelle e permessi 644 per tutti i files. Solo così i tuoi files saranno realmente al sicuro.
Per settare i permessi ti basta aprire filezilla, selezionare files e cartelle a cui vuoi impostare dei permessi, cliccare con il tasto destro e selezionare proprietà.

13. Nascondere la versione di WordPress

Non tutte le versioni di WordPress sono stabili e sicure. Ti conviene, dunque, fare in modo che un hacker non sia in grado di capire quale versione di WordPress stai utilizzando. Le versioni obsolete, infatti, sono tali perché si conoscono i bug e le possibili falle di sistema. Se un hacker riesce a capire che versione utilizzi, potrà sfruttare questa informazione a suo vantaggio.

Per nascondere la versione di WordPress puoi utilizzare il plugin Securi

14. Raggiungi il tuo server in sicurezza

Esistono vari modi per collegarsi al tuo server, il più sicuro è mediante SFTP sfruttando la porta 22. Se il tuo hosting te lo permette, dunque, collegati sempre sfruttando il protocollo di sicurezza SFTP.
Da filezilla, nelle impostazioni del server, dovrai andare in criptazione e selezionare SFTP. In alternativa puoi collegarti al server in sicurezza sfruttando SSH con programmi come Kitty o Putty.

15. Scansionare il tuo sito

L’ultimo consiglio che mi sento di darti, è quello di scansionare regolarmente il tuo sito per essere sicuro che tutto vada per il verso giusto e che non ci sia nessun file dannoso. Sono davvero tanti i plugin che ti permettono di effettuare una scansione rapida del sito. Io, personalmente, utilizzo Wordfence.

Questo plugin è molto intuitivo e svolge egregiamente il suo lavoro anche nella versione free.
Ti permette di eseguire una rapida scansione e di conoscere l’indirizzo IP di ogni singolo utente. Effettua scansioni programmatiche e, periodicamente, ti invierà una mail con la top 10 degli indirizzi IP che hanno cercato di connettersi al tuo sito.

Conclusioni

Abbiamo visto molti metodi per proteggere il tuo sito WordPress. Se ne metterai in pratica anche soltanto la metà, potrai fare sogni tranquilli. Ovviamente il sito invunerabile non esiste: un bravo hacker riuscirà comunque ad accedere al tuo sito! Tuttavia, queste misure, ci aiuteranno quanto meno a scoraggiarli. Se conosci altri metodi per proteggere un sito WordPress, scrivili pure nei commenti.

Ti è piaciuto questo articolo? Votalo!
[voti: 1 - Media voto: 5]

About Author

Mi chiamo Luigi Sabbetti e da circa dieci anni svolgo la professione di Web Designer. Profondamente amante della scrittura, mi piace condividere le mie conoscenze informatiche attraverso il mio sito web. Amo correre, guardare il mare e il buon cibo. Scopri di più nella mia