Quanto più è complessa e completa un applicazione, tanto è improbabile che sia priva di problemi, inclusi quelli relativi alla sicurezza.
In aggiunta a questo, un programma, quanto più è usato e popolare, tanto più è esposto ad attacchi informatici.
Importante è, quindi, affidarsi a software che possono contare su un gruppo di sviluppatori attento, ed aggiornamenti frequenti.
WordPress, con oltre il 30% di market share a livello globale (dati del 2018), è uno dei CMS (Content Management System) open source più utilizzati al mondo. Ciò vuol dire che un sito su 3 è costruito sfruttando questa piattaforma, e esistono migliaia di temi e plugin, gratuiti ed a pagamento, per essa realizzati.
L’inevitabile conseguenza di questa grande popolarità è che WordPress si pone come un appetitoso bersaglio per hacker e malintenzionati di qualsiasi genere. Questi sono alla continua ricerca di vulnerabilità da sfruttare per poter prendere il controllo del sito, accedere a dati sensibili, o compromettere il server su cui il sito è ospitato.
Quindi, quanto è sicuro WordPress?
Non è facile dare una risposta definitiva a questa domanda, possiamo però mettere in opera una serie di accorgimenti che, oltre a renderlo a prova di molti generi di attacco, possono garantire performance ottimali al tuo sito.
1. Affidare i propri contenuti ad un hosting sicuro
La prima linea di difesa è affidarsi a servizi di hosting sicuri per i propri siti internet: tutti i nostri server sono ospitati su infrastruttura Cloud di OVH, il più grande hosting provider europeo, nei datacenter di Gravelines e Roubaix. Inoltre, usiamo sistemi operativi e software ingegnerizzati con un occhio di riguardo alla sicurezza.
2. Utilizzare la versione di PHP più recente
Ogni major release di PHP è, in genere, supportata per due anni dal momento del suo rilascio. Durante questo periodo, bug e vulnerabilità di sicurezza sono corretti da regolari aggiornamenti.
Sebbene la versione 5.6 di PHP non è più supportato dal 31 dicembre 2018, secondo i dati di Automattic circa il 50% dei siti costruiti su WordPress utilizza ancora questa versione di PHP.
Il mancato aggiornamento dei server a versioni più recenti, espone tutti i siti alle vulnerabilità di PHP rimaste senza patch.
C2 Creative Lab sta migrando tutti i suoi siti (previo analisi di compatibilità ed opportuni interventi) a PHP 7.3. PHP 7.4 è la release di default per tutti i nuovi account, e stiamo preparando alcuni server per introdurre in modo sicuro, i primi test con PHP 8, la nuova major release in uscita a fine 2020.
3. Rendere sicuro il login al pannello di amministrazione
Tutti i nostri servizi sono già configurati con certificati SSL: una connessione sicura impedirà che un malintenzionato intercetti i dati trasmessi tra voi ed il sito.
Ma è importante anche, da parte vostra:
Evitare di impostare “admin” come username dell’amministratore;
Utilizzare password complesse fatte di lettere maiuscole, lettere minuscole, numeri e caratteri speciali.
4. Installare temi e plugin soltanto da fonti sicure
In genere, sui nostri progetti, limitiamo al minimo indispensabile il numero di plugin utilizzati.
Quando necessario abbiamo una “lista bianca” di plugin da noi testati o, altrimenti, ci affidiamo sempre a fonti sicure, accertandoci che i plugin scelti vengano aggiornati regolarmente.
5. Non trascurare gli aggiornamenti
Aggiornate sempre sia il core di WordPress che i singoli plugin o temi di terze parti. Trascurare l’aggiornamento di parti del vostro sito lo espone alla possibilità di venir compromesso.
6. Proteggere il database
Il database di un sito WordPress è una porta d’accesso importantissima a tutti i contenuti del sito. Per questo motivo è importante prendere alcuni importanti accorgimenti: utilizzare database ed utenti distinti per ciascun sito web; cambiare il prefisso delle tabelle (di default impostato a “wp_”);
7. Impostare dei backup automatici
Con cadenza giornaliera, o almeno settimanale, è fondamentale impostare la creazione di copie di backup di tutto il sito, database incluso.
Sui nostri server sono attivi, di default, backup giornalieri di tutti i contenuti.
8. Implementare gli header di sicurezza http
Questi sono solitamente configurati a livello di server, ed indicano al browser come comportarsi quando gestisce i contenuti del vostro sito.
Esistono molte intestazioni HTTP, ma quelle di seguito possono essere considerate le più importanti da gestire per aumentare la sicurezza del vostro sito WordPress.
- Content-Security Policy
Definisce l’origine di tutti i contenuti del sito in modo vincolante, rappresentando così un layer di sicurezza che aiuta ad impedire certi tipi di attacchi, tra cui Cross Site Scripting e data injection - X-XSS-Protection
Header non necessario nei browser moderni, può fornire protezione agli utenti di browser datati che non supportano le Content-Security Policy. - Strict-Transport-Security
Questo Header permette al server web di dichiarare che i browser e ogni altro tipo di client debbano comunicare con esso esclusivamente attraverso connessioni sicure su protocollo HTTPS - X-Frame-Options
Impedisce al browser di visualizzare il sito all’interno di un frame. - X-Content-Type e X-Content-Type-Options
Questa intestazione è un marker utilizzato dal server per indicare che i tipi MIME pubblicizzati nelle intestazioni Content-Type non devono essere modificati e seguiti. Ciò consente di disattivare lo sniffing di tipo MIME