I 3 attacchi più comuni a WordPress


 

Il tema della sicurezza è diventato fondamentale per chi lavora nel web e affrontarlo non è così facile.1
Non è sempre possibile sapere come gli hacker effettueranno i prossimi attacchi, è sicuro però che molti di questi sono simili. Questo ci permette di studiare gli approcci più comuni e quindi contrastarli più efficacemente.

Ecco che diventa più facile raggruppare gli attacchi più comuni a cui sono soggetti soprattutto i siti sviluppati con WordPress.

Attacco Brute Force
Il brute force è uno degli attacchi più diffusi che coinvolgono qualsiasi tipo di sito.

In questo attacco, l’hacker tenta di indovinare la password di accesso finché non la trova. Ovviamente non lo fa manualmente ma utilizza molteplici script che girano simultaneamente e che cercano di appropriarsi delle password di diversi siti contemporaneamente.

Una delle forme di attacco brute force è il dictionary attack.
In questo caso l’hacker utilizza qualsiasi parola che trova sul dizionario come password.
Già la modalità con cui questo attacco si svolge può far comprendere a che carico sia sottoposto il server che ospita il vostro sito quando questo viene preso di mira. Basti pensare a quante parole sono contenute nel dizionario e a tutte le combinazioni possibili!

Per questo è consigliabile scegliere una password non composta da parole comuni o nomi (e non ci stancheremo mai di ripeterlo).

Visto che la maggior parte delle password è composta da un singolo nome, il dictionary attack è quello con la maggior percentuale di riuscita.

L’attacco brute force avviene molte volte verso il file xmlrpc.php, abilitato di default in tutte le versioni WordPress, responsabile delle chiamate RPC. Praticamente permette di accedere al sito tramite le applicazioni sviluppate per dispositivi mobile.

Si mira al xmlrpc.php perché rende l’attacco più difficile da individuare. E’ possibile accorgersene analizzando i file di log. Se come risultato compare una serie molto veloce di chiamate verso il file xmlrpc.php, allora il vostro sito web è stato attaccato.
Se usufruite di un hosting condiviso, potete chiedere i log direttamente all’assistenza tecnica, mentre chi dispone di un proprio server cloud può richiedere la visione del log tramite FTP.

Come proteggere il proprio sito da un attacco brute force?
Il primo step è impostare password sicure.
Poi bisogna assicurarsi che l’hacker non trovi nessun username standard con cui provare a loggarsi. Quindi controllate che non ci siano user con nomi comuni come admin, administrator o developer.
La maggior parte dei plugin di sicurezza hanno molte caratteristiche atte ad evitare attacchi brute force, ma se non si prendono in considerazione queste due precauzioni semplici e basilari, un hacker in media riuscirà ad entrare nel vostro sito dopo soli 15.000 tentativi, che si traducono in 2 secondi di tempo.

Se limitate il numero di accessi a 3 o 5, bloccate lo script sul nascere.

Per bloccare l’attacco, se in atto, la via più rapida è inibire l’accesso al file inserendo nel file .htaccess di WordPress le direttive:

<Files xmlrpc.php>
order deny,allow
deny from all
</Files>

Oppure si può specificare che il file sia richiamabile solo da determinati IP inserendo la direttiva “allow from”:

<Files xmlrpc.php>
order deny,allow
deny from all
allow from XXX.XXX.XXX.XXX
</Files>

In questo caso  continueranno ad arrivare al server web le richieste, ma questo risponderà con il codice di errore 403 (Forbidden) senza sovraccaricare il server.

Altra alternativa è quella di richiedere al supporto tecnico l’installazione e configurazione di fail2ban.

 

SQL Injection
Mettiamo che sul vostro sito vi sia un modulo di ricerca protetta. Un normale visitatore digiterebbe ciò che sta cercando e il sito andrebbe a ricercare l’informazione desiderata nel database e mostrerebbe il risultato sullo schermo.
Ora, se è l’hacker che sta utilizzando il form, questi può digitare alcune parole e simboli che vanno a modificare i dati che il sito sta recuperando così si può facilmente impossessare di tutti i dati contenuti nel database come nomi degli utenti, indirizzi e password.

Questa è una SQL Injection.

Se il form inserito sul sito non è sicuro, per l’hacker sarà un gioco da ragazzi appropriarsi di indirizzi email, numeri di carte di credito, o altri dati. Può anche eliminare tutto ciò che trova!

Come proteggere il proprio sito da una SQL Injection?
Se chi legge è un developer può seguire la guida di WordPress.

Se invece non siete sviluppatori dovete cercare plugin di qualità che si sa essere sicuri, assolutamente no plugin provenienti da fonti o developer non affidabili.

Quando installate un plugin informatevi prima sugli appositi forum e leggete qualche recensione in merito.

 

Cross Site Scripting
Cross Site Scripting, abbreviato in XSS, avviene quando un hacker inserisce il suo script malevolo all’interno del vostro sito, ad esempio quando trova il modo di incorporarlo all’interno del tema.

Questo è un esempio comune di XSS.
Un altro esempio è quando un sito dispone di un form su cui i visitatori possono lasciare commenti o recensioni. L’hacker può utilizzare tranquillamente questo form introiettando nel sito, oltre che al suo commento, lo script malevolo e inserendolo in ogni pagina.
Pertanto ogni volta che un visitatore entrerà nel sito, verrà ridirezionato ad una pagina o ad un sito diverso che infetterà anche il pc che si sta utilizzando e per sbloccarlo verrà richiesto il pagamento di una sorta di riscatto, che normalmente si aggira attorno i $100.

Come proteggere il proprio sito da un Cross Site Scripting?

Anche in questo caso bisogna installare adeguati plugin, sicuri e affidabili.

I 3 attacchi riportati riassumono quelle che sono le basi generali di ogni attacco hacker. Ne esistono infatti di moltissime tipologie, ma una volta compresi questi ci si può difendere anche da altri.