| Massimo Fuser - Genius@Work | 04-12-2020
La sicurezza di un sito web è importante e viaggia di pari passo al suo livello di aggiornamento.
Un sito web privo di qualsiasi protezione o accorgimento per la salvaguardia della sua salute è potenzialmente a rischio di attacchi hacker al fine di carpire credenziali per arrivare a prenderne possesso. Il rischio non si limita ai contenuti, ma si estende anche ai dati sensibili e l’attacco è più efficiente e profondo tanto quanto il sito è vulnerabile.
Sommario:
1- I fatti
2- WordPress, CMS diffuso per la realizzazione di siti web
3- Cosa fare per migliorare la sicurezza del sito web
4- La forza bruta
5- Una cosa da tenere sotto controllo: XML-RPC
Noi di Genius@Work insistiamo costantemente sull’importanza degli aggiornamenti di un sito web. Lo spieghiamo ad ogni cliente sia in fase di proposta sia in fase successiva alla realizzazione del sito web, perché è importante!
Abbiamo constatato che la sicurezza si sa che esiste, che è importante, che va implementata, ma alla fine viene minimizzata e accantonata dal proprietario del sito web. Eppure, i rischi esistono, e possono essere gravi. In informatica esistono i virus, non credo serva una spiegazione di cosa sono, ma come occorre intervenire per evitare l’infezione e le conseguenze, occorre altresì proteggere un sito web per essere pronti ad un eventuale attacco dall’esterno. Ci si potrebbe dilungare a lungo anche sui virus, ma tuttavia, basta un antivirus gratuito… no?! O ciò che è gratuito qualche insidia la nasconde?!
Il primo CMS che ci viene in mente e largamente usato nella creazione dei siti web, sia con l’uso di temi semplici o multi-purpose sia con sviluppo di codice in sede custom.
Statisticamente più una cosa è diffusa più rappresenta un bersaglio, WordPress è tanto diffuso quanto sottoposto a “scansioni”.
Semplifichiamo il concetto.
Un sito web non aggiornato o peggio ancora privo di protezione, ha molte più probabilità di essere hackerato, nel momento in cui viene trovata una breccia è molto facile riproporla in altre realtà simili e si diffonde a macchia d’olio.
Bisogna quindi innanzitutto mantenere aggiornato il CMS, ma anche i plugin installati perché anche loro sono possibili porte d’ingresso.
Installare un tool di sicurezza all’interno del CMS innazittuto.
Un plugin molto valido è sicuramente iThemes Security:
Solid Security – Password, Two Factor Authentication, and Brute Force Protection
Installato e attivo in molti siti web, testato costantemente fino all’ultima versione di WordPress e cosa molto importante, aggiornato frequentemente proprio per rimanere al passo con problematiche e perfezionamenti. Esiste la possibilità di acquistare una versione Pro del Plugin, ma posso tranquillamente affermare che le funzioni della versione standard sono ampiamente sufficienti.
Il metodo più conosciuto e utilizzato per tentare di ‘bucare’ un form di login. Il metodo è abbastanza semplice come idea di funzionamento, ripetuti tentativi di accesso provando username e password create secondo un preciso algoritmo.
Se l’username e la password sono corte e semplici, oppure standard, verranno individuate in brevissimo tempo! Complice anche la notevole potenza di calcolo dell’hardware moderno.
Il plugin che ho citato prima, già nella sua versione standard presenta la possibilità di attivare questo tipo di protezione, ma innanzitutto effettuerò un check del sito web:
Cliccando sul pulsante ‘Secure Site’ noteremo che la protezione relativa alla forza bruta non è attiva:
Individuando i due box relativi alla protezione dagli attacchi ‘Brute Force’ andremo ad abilitarla:
Le modalità sono due, la prima, ‘Local’, si occupa di proteggere il tuo sito da accessi casuali di malintenzionati. La seconda, ‘Network’, permette di unirsi e collaborare in una rete di siti per aumentare la capacità di segnalazione e protezione dagli attacchi.
Inoltre è molto utile attivare anche:
Questa funzionalità permette di tenere sotto controllo gli eventuali attacchi notificando tramite email i file sottoposti a modifiche. Notificherà anche file che sono stati modificati dai plugin di ottimizzazione, Autoptimize o WP Super Cache per citarne un paio, quindi non rientranti nella categoria di attacco di forza bruta. Il file log all’interno del plugin raggiungibile dalla voce ‘Logs’ del menu agevolerà l’utente nell’analisi.
Gli accorgimenti precedenti sono essenziali e sufficienti, tuttavia Designer e Sviluppatori che hanno avuto modo di usare iThemes security si saranno scontrati con una ulteriore problematica.
Mi refererisco a XML-RPC, un protocollo che permette di effettuare chiamate a procedure remote tramite internet.
WordPress ha da sempre implementato XML-RPC, ma mentre inizialmente era disattivato di default, poi dalla versione 3.5 è stato attivato di default. Il file in oggetto è:
contiene varie funzioni di WordPress, di Blogger, MetaWebBlog, MovableType e di tracksback/pingback.
Disabilitando questa funzione si eliminano i rischi di attacco bloccando l’accesso alla chiamata, anche se il core di WordPress è sicuro potrebbe essere un’ulteriore sicurezza privare della possibilità di usare una “seconda porta” per accedere al backend. La disabilitazione di contro comporta l’impossibilità di aggiungere contenuti tramite accesso remoto dai dispositivi mobile, con ad esempio Windows Live Writer, costringendo la pubblicazione dei contenuti esclusivamente accedendo a WordPress tramite autenticazione utente.
I metodi per disabilitare questa funzionalità prevedono l’utilizzo di plugin come Disable XML-RPC (https://wordpress.org/plugins/disable-xml-rpc/) o con l’inserimento di alcune instruzioni nel file htaccess:
# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
allow from 123.123.123.123
</Files>
In entrambi i casi la configurazione è semplice e l’effetto comporta la negazione di qualsiasi chiamata remota che utilizza XML-RPC.
Quindi a meno che non si utilizzino funzioni di trackbacks e pingbacks o si pubblichino articoli attraverso lo smartphone, è consigliabile disabilitare XML-RPC.
L’introduzione della REST API, una feature entrata a far parte del core di WordPress dal 2017, ha fornito degli endpoint API per consentire agli sviluppatori di interagire con i siti in remoto ricevendo oggetti JSON. A causa di possibili incompatibilità con versioni precedenti l’uso di XML-RPC tra gli sviluppatori dovrebbe ancora essere conosciuto, ma con le possibilità offerte dalla REST API di WordPress diventerà sempre meno popolare.
Ti invitiamo a visitare la nostra pagina relativa ai siti web, sono sicuro troverai interessanti informazioni.
Massimo Fuser
Genius@Work