Secondo W3techs, WordPress è usato dal 28,1% dei siti Internet esistenti, in particolare dal 59% di tutti quelli basati su CMS, e il tasso d’adozione non tende affatto a diminuire
Questi numeri bastano a far capire la grande diffusione di WordPress: la sua facilità d’installazione e personalizzazione lo rendono adatto a un grande numeri di casi d’uso, eCommerce compresi.
Ma d’altro canto questa popolarità ha un lato negativo: lo rende una delle piattaforme più appetibili per gli hacker. Fortunatamente si possono prevenire e limitare i danni da un attacco, con accorgimenti e tecniche che andremo ad analizzare in questo articolo.

Le motivazioni per cui tutelare il proprio sito WordPress sono evidenti: un hacker che si introduce nel vostro sistema potrebbe rubarvi traffico, spedire messaggi spam via email, reindirizzare il vostro sito su siti di terze parti, cambiare i vostri link di affiliazione, aggiungere pagine nascoste di phishing, distribuire malware e infettare i visitatori con virus. Tutte azioni che comportano danni economici e d’immagine, oltre all’inserimento nelle blacklist che minano ranking e reputazione e da cui non è facile uscire.

wordpresshacking


Credenziali robuste
L’argomento delle credenziali, che sono costituite da una coppia di username e password, è più semplice di quanto possa essere e si basa puramente sul buon senso.
Uno dei modi più usati dagli hacker, e più redditizi, per accedere ad un sito WordPress è tramite tentativi di login brute-force: degli script automatizzati scelgono da degli elenchi di parole comuni e password più usate (questo articolo di The Guardian indica ‘123456’, ‘password’ e ‘12345678’ come password più utilizzate) e tentano di accedere tramite combinazioni di queste.
Quindi è buona norma non usare nomi utente comuni come ‘admin’, ‘administrator’, ‘webmaster’, etc. per evitare di dare all’hacker metà risposta alla domanda, e usare password complesse costituite da almeno 16 caratteri alfanumerici e simboli.
Si consiglia l’uso di un gestore di password come KeePass o LastPass per creare e conservare le credenziali (per un approfondimento sull’argomento abbiamo trattato i password manager QUI).
La stessa politica sulle credenziali amministrative, va applicata per tutti gli utenti con accesso al sito.
Un ulteriore strato di sicurezza di ottiene limitando i tentativi di accesso, bloccando la possibilità di fare login per un certo periodo dopo aver sbagliato credenziali per un certo numero di volte: così facendo si possono contenere i tentativi di accesso brute-force. Il modo più semplice per ottenere il risultato è usare uno dei tanti plugin dedicati.
BONUS: se possibile, utilizzare un sistema di autenticazione a due fattori (2FA, 2 Factors Authentication) che abbina l’uso di credenziali e di un codice monouso generato sul momento, magari dal proprio smartphone grazie a Google Autenticator.


Gestione plugin e temi
Oltre ai tentativi brute-force, gli hacker sfruttano falle e vulnerabilità di temi e plugin per guadagnare l’accesso ai siti WordPress: per ridurre la superficie d’attacco è necessario utilizzare solo ed esclusivamente componenti di terze parti che siano aggiornati, abbiano un supporto attivo e provengano da sorgente di natura comprovata.
Quindi evitare temi e plugin scaricati da siti di dubbia provenienza e crackati: spesso sono un invito per gli hacker a bucare il vostro sito. Oltretutto in diversi casi si commette un illecito.
Anche i componenti non più sviluppati e il cui supporto è cessato vanno evitati.
Occorre rivolgersi a sviluppatori che offrono prodotti garantiti ed un supporto pronto in caso di problemi.
WordPress mette a disposizione una directory interna di plugin e temi dove sono presenti prodotti completi di feedback degli utenti, informazioni sullo sviluppatore e stato di aggiornamento.
Se un plugin o un tema non è più utilizzato, disinstallatelo; non basta disabilitarlo: i file rimangono su server e possono costituire un punto d’accesso non autorizzato.

BONUS: controllate periodicamente il WPScan Vulnerability Database, il database online delle vulnerabilità WordPress.


Aggiornamenti frequenti
Gli aggiornamenti non introducono solo nuove funzioni o migliorano quelle già esistenti, introducono anche patch di sicurezza.
WordPress ha un ciclo di rilascio che prevede delle security releases poste tra un rilascio ufficiale e l’altro che sistemano eventuali problemi di sicurezza presenti nelle versioni del CMS.
Quindi è imperativo aggiornare il sito non appena gli aggiornamenti sono disponibili: la regola vale per il sistema WP stesso ma anche per temi, plugin ed estensioni di terze parti, con l’accortezza di eseguire prima un backup del sito, dal momento che potrebbe accadere che un aggiornamento provochi malfunzionamenti ai plugin. In quel caso si esegue il roll-back del backup eseguito.
Gli aggiornamenti sono segnalati nella dashboard di amministrazione di WordPress e la loro esecuzione richiede -letteralmente- pochi click.


BONUS: WordPress offre un’utilissima funzione di aggiornamento automatico del sistema che si consiglia di attivare. Si consiglia di abilitare gli aggiornamenti automatici delle versioni minor (quelle del tipo 4.8.x), mentre gli aggiornamenti delle versioni major (del tipo 4.x) vanno testati onde evitare incompatibilità che potrebbero verificarsi (e di solito non compaiono tra una minor e l’altra).


I giusti permessi dei file
I file, le cartelle e gli script, hanno bisogno dei giusti permessi di sistema (lettura, scrittura, esecuzione) in modo da funzionare correttamente: permessi insufficienti portano in genere ad un errore 50x che indica un problema lato server, mentre permessi troppo poco stringenti consentono agli hacker di utilizzare i file di WordPress in modo da ricavarne un punto di penetrazione nel sistema.

wordpress permissionsBisogna assegnare i giusti permessi a file e cartelle secondo il principio dei “minimi permessi”, cioè assegnare tanti permessi quanto basta a far lavorare correttamente il sistema, non di più.
Le cartelle hanno permessi impostati a 755 (scrivibili da User, eseguibili e leggibili da User, Group e Other), i file a 644 (scrivibili da User, leggibili da User, Group e Other) e il file wp-config.php, come misura preventiva, a 400. I permessi si assegnano via FTP, tramite funzione web hosting (se disponibile) o tramite eventuale plugin.
In nessun caso il valore di file e cartelle deve essere impostato su 777 (rwx: leggibili, scrivibili ed eseguibili da User, Group e Other) eccetto che in situazioni di troubleshooting o altre situazioni particolari.

BONUS: eliminate il file readme.html posto nella root del sito che contiene informazioni sul sistema che potrebbero tornare utili agli hacker. Dal momento che ogni aggiornamento di WordPress rigenera il file, dovrete cancellarlo manualmente ad ogni update del sistema.


Monitoring e avvisi
Purtroppo a volte gli sforzi per mettere in sicurezza il proprio sito si possono rivelare inefficaci o parzialmente efficaci, e capita che un soggetto malintenzionato prenda il controllo del sito.
In alcuni casi il danno è evidente, e ad esempio l’homepage viene sostituita con una scritta “You’ve been hacked!!” o viene eseguito un reindirizzamento verso URL esterni e malevoli. In altri casi il danno può essere più subdolo, come ad esempio l’aggiunta di poche righe di codice che devastano il ranking o il caricamento di un file in una directory nascosta che è un malware distribuito ai visitatori. In questi casi è più difficile venire a conoscenza del danno, e anzi spesso è troppo tardi quando succede: il sito è finito in una blacklist da cui è difficile uscire.
Per evitare questi scenari occorrono due strategie separate ma comunicanti, basate su plugin e servizi esterni per gestire il monitoring del sito in cerca di cambiamenti sospetti dei file, accessi non autorizzati e traffico sospetto proveniente da aree geografiche di non attinenza al vostro pubblico. Con relative notifiche di ogni evento sospetto.

BONUS: aggiungete il vostro sito a Google Search Console, lo strumento di Google che, tra le altre cose, vi avverte non appena viene rilevata un’infezione o altri problemi critici.
Sucuri offre un servizio SiteCheck che controlla lo stato di sicurezza del vostro sito individuando le eventuali anomalie presenti.


L’importanza del backup
Nel mondo dell’informatica non è presente una singola situazione in cui non sia consigliabile di fare un backup: anche per WordPress vale la regola aurea di eseguire backup periodici (e magari con relativo test di ripristino).

WordpressBackup

Il backup preferibilmente viene eseguito con uno strumento automatizzato come un plugin dedicato (da scegliere con i criteri sopra esposti tra quelli disponibili nella directory dei plugin di WordPress) o con lo strumento apposito messo a disposizione dall’hosting provider creando una programmazione di backup automatici. È essenziale che il backup non venga lasciato risiedere sull’hosting stesso (in quanto esposto a compromissioni), ma venga esportato verso piattaforme terze (Amazon S3, OneDrive etc.) oppure scaricato localmente.
Se eseguite un backup manuale dovete copiare il contenuto della cartella root del sito (i file css, js, immagini, pdf, file audio e video, etc..) ed eseguire un dump del database MySQL con phpMyAdmin, comando mysqldump da linea di comando o strumento dedicato web hosting.

wordpress backup


La frequenza dei backup va concordata in base alla frequenza di aggiornamento del vostro sito, per trovare il giusto compromesso tra sicurezza e impiego di risorse sul lungo periodo.
I backup devono essere testati: verificare che i file non siano corrotti, non ne manchi nessuno, eseguire un ripristino in locale.

Il ripristino del backup segue gli step previsti dalla soluzione adottata e varia dall’installazione pulita di WordPress seguita da importazione di file e dump del database a procedure specifiche del plugin adottato.

BONUS: abbiamo trattato l’argomento backup con un interessante articolo sulle 7 regole d’oro per i backup


Sicurezza della struttura sottostante

Infine, un cenno alla sicurezza che deve essere garantita alla piattaforma su cui è installato WordPress.
Se si affidate ad un Web Hosting Provider, assicuratevi che abbia un’infrastruttura sicura e aggiornata e che offra un supporto reattivo; se ospitate il sito su una VPS o in proprio, assicuratevi che tutto sia in sicurezza. Non dimenticate di proteggere anche i dispositivi – principalmente computer, ma anche device mobili – da cui accedete per amministrare il vostro sito WordPress, con soluzioni antivirus: un malware di tipo key-logger potrebbe registrare le credenziali di accesso e comunicarle ad un hacker, rendendo inutili tutti gli sforzi finora fatti per garantire sicurezza lato server.

wordpress plugin


Valutate l’adozione di Web Application Firewall (WAF), cioè un’applicazione (da installare come plugin all’interno di WordPress o come servizio per la struttura sottostante - VPS o web hosting) che controlla il traffico in ingresso (ma anche in uscita) e, in base a determinate regole, lo blocca.


Conclusioni
Diversi studi mostrano come circa un sito su 4 sia basato su WordPress, e la larga disponibilità di plugin ed estensioni lo rende adatto e modellabile secondo qualsiasi esigenza: basti pensare che WordPress nasce come piattaforma blog ed oggi può essere attrezzata come eCommerce.
Come conseguenza di questa grande diffusioni, è anche il sistema più bersagliato dagli hacker.
Seguendo le best practice discusse in questo articolo potrete ridurre sensibilmente le chance di incorrere in una situazione spiacevole, ma tenete conto che non è possibile eliminarla del tutto: in quest’ottica adottate sempre un piano di backup che vi consenta di eseguire un ripristino tempestivo del sito e ridurre il tempo di downtime.

L'autore

Riccardo Gallazzi

Sistemista JR, tra i suoi campi di interesse maggiori si annoverano virtualizzazione con vSphere e Proxmox e gestione ambienti Linux. È certificato VMware VCA for Data Center Virtualization.

banner5

fb icon evo twitter icon evo

Parola del giorno

L'acronimo SoC  (System on a Chip) nasce per descrivere quei circuiti integrati che, all'interno di un singolo chip fisico, contengono un...

>

YAML è un formato utilizzato per serializzare (ovvero salvare oggetti su supporti di memoria ad accesso seriale) dati, in modo...

>

Il termine Edge Computing descrive, all'interno di infrastrutture cloud-based, l'insieme di dispositivi e di tecnologie che permettono l'elaborazione dei dati ai...

>

L'acronimo FPGA  (Field Programmable Gate Array), descrive quei dispositivi hardware formati da un circuito integrato e con funzionalità programmabili tramite...

>

Il termine Agentless (computing) descrive operazioni dove non è necessaria la presenza e l'esecuzione di un servizio software (demone o...

>
Leggi anche le altre...

Download del giorno

Fiddler

Fiddler è un server proxy che può girare in locale per consentire il debug delle applicazioni e il...

>

Adapter Watch

Adapter Watch è uno strumento che permette di visualizzare un riepilogo completo e dettagliato delle informazioni riguardanti una determinata...

>

DNS DataView

DNS Lookup  è un tool a interfaccia grafica per effettuare il lookup DNS dal proprio PC, sfruttando i...

>

SolarWinds Traceroute NG

SolarWinds Traceroute NG è un tool a linea di comando per effettuare traceroute avanzati in ambiente Windows...

>

Network Inventory Advisor

Network Inventory Advisor  è uno strumento che permette di scansionare la rete e acquisire informazioni riguardanti tutti i...

>
Tutti i Download del giorno...

Archivio numeri

  • GURU advisor: numero 21 - maggio 2019

    GURU advisor: numero 21 - maggio 2019

  • GURU advisor: numero 20 - dicembre 2018

    GURU advisor: numero 20 - dicembre 2018

  • GURU advisor: numero 19 - luglio 2018

    GURU advisor: numero 19 - luglio 2018

  • GURU advisor: numero 18 - aprile 2018

    GURU advisor: numero 18 - aprile 2018

  • GURU advisor: numero 17 - gennaio 2018

    GURU advisor: numero 17 - gennaio 2018

  • GURU advisor: numero 16 - ottobre 2017

    GURU advisor: numero 16 - ottobre 2017

  • GURU advisor: numero 15 - luglio 2017

    GURU advisor: numero 15 - luglio 2017

  • GURU advisor: numero 14 - maggio 2017

    GURU advisor: numero 14 - maggio 2017

  • 1
  • 2
  • 3
  • Teslacrypt: rilasciata la chiave

    Gli sviluppatori del temuto ransomware TeslaCrypt hanno deciso di terminare il progetto di diffusione e sviluppo e consegnare al pubblico la chiave universale per decifrare i file. Read More
  • Proxmox 4.1 sfida vSphere

    Proxmox VE (da qui in avanti semplicemente Proxmox) è basato sul sistema operativo Debian e porta con sé vantaggi e svantaggi di questa nota distribuzione Linux: un sistema operativo stabile, sicuro, diffuso e ben collaudato. Read More
  • Malware: risvolti legali

    tutti i virus e in particolare i più recenti Ransomware, che rubano i vostri dati e vi chiedono un riscatto, violano la legge. Vediamo insieme come comportarsi, per capire anche se e quando bisogna sporgere denuncia. Read More
  • 1