Formazione e diversity al centro della Summer STEM Academy: le nostre docenzelink
Security First

Come difendersi da un attacco brute force

2 minuti lettura

Diversi sono gli attacchi che possono minacciare il vostro sito, tra questi vi è il così detto brute force, ovvero il tentativo di accesso forzato.

bruteforceIl solo termine può far intuire quanto sia caparbio e ostile questo tipo di attacco, visto che una delle conseguenze è il pesante carico che causa sul server, fino a renderlo inutilizzabile.
Come agisce? Il suo scopo è  trovare password o chiavi di registrazione tentando, in sequenza, tutte le possibili combinazioni di caratteri utilizzabili.

Solitamente l’attacco brute force avviene verso il file xmlrpc.php (un file presente di default in tutte le versioni di WordPress) o la pagina di login lato amministratore.

L’ xmlrpc.php è responsabile delle chiamate RPC e permette di accedere al sito tramite le applicazioni sviluppate per i dispositivi mobile.

In questo caso l’attacco è molto più difficile da individuare e nella quasi totalità dei casi da’ l’effetto sperato, ovvero l’accesso al sito e, come conseguenza del metodo utilizzato, un sovraccarico del server.

Ogni tentativo di accesso è infatti una chiamata che invoca lo stack apache-php-mysql e ogni risposta è molto onerosa (da tener conto che di tentativi ne vengono effettuati diversi milioni).

Scampare ad un brute force non è cosa facile, di solito si spera che la vittima designata abbia scelto una chiave sufficientemente lunga per cui il brute-forcing debba impiegare un lasso di tempo così esteso da scovarlo e agire di conseguenza.

Come  verificare se si è stati attaccati?

Basta controllare i file di log del vostro sito.
Per server Linux il comando che  fa visualizzare le chiamate è:

egrep -e ‘POST.*xml’ access_log

Se risultano una serie molto veloce di chiamate verso il file xmlrpc.php, allora il vostro sito web è stato, o è, sotto attacco.

123.xxx.xxx.xxx – –

[16/Sep/2015:10:30:13 +0200] “POST /xmlrpc.php HTTP/1.1” 200 688 “-” “-”

123.xxx.xxx.xxx – – [16/Sep/2015:10:30:13 +0200] “POST /xmlrpc.php HTTP/1.1” 200 688 “-” “-”

123.xxx.xxx.xxx – – [16/Sep/2015:10:30:14 +0200] “POST /xmlrpc.php HTTP/1.1” 200 688 “-” “-”

123.xxx.xxx.xxx – – [16/Sep/2015:10:30:14 +0200] “POST /xmlrpc.php HTTP/1.1” 200 688 “-” “-”

Come difendersi?

Il metodo più veloce è inibire l’accesso ai file, inserendo in .htaccess le direttive:

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

Oppure si può specificare che il file può essere richiamato solo da un preciso IP, inserendo la direttiva “allow from ”:

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

IP address sta per l’indirizzo IP del server.

In questo caso continueranno ad arrivare richieste al server ma restituiranno errore 403 (forbidden) senza richiamare lo stack apache-php-mysql e quindi senza sovraccaricare il server.

Elena Ioverno

Note sull'autore
Sales Account Editor
Articoli
Articoli correlati
Security First

Let’s Encrypt o Certificato SSL a pagamento? Vantaggi e svantaggi

2 minuti lettura
Meglio un Certificato SSL a pagamento o Let’s Encrypt? È la domanda che si pongono moltissimi proprietari di siti web, indecisi sulla…
Security First

Direttiva PSD2: cos’è e cosa cambia

3 minuti lettura
Arriva la nuova direttiva europea PSD2 (Payment Services Directive II) che rivoluziona i servizi bancari di pagamento online, spingendo verso un sistema…
Security First

WordPress: come prevenire gli attacchi SQL Injection

5 minuti lettura
WordPress è il CMS più utilizzato sul mercato, con una quota che sfiora il 70% comparato agli altri maggiori CMS, secondo le…