WordPress e attacchi Brute Force

come difendersi dagli attacchi brute force contro wordpressdifendersi dagli attacchi brute force su wordpress

WordPress è delizia per chi vuole gestire il proprio sito con facilità e croce per chi invece deve difenderlo quando ci si accorge che è stato preso di mira da qualche hacker buontempone. Uno dei casi più comuni è l’attacco Brute Force su WordPress, ovvero il tentativo, attraverso un software (un bot per dirla come quelli bravi), ripetuto per migliaia e migliaia di volte per cercare di accedere al pannello di amministrazione inserendo delle combinazioni “nome utente e password”. Questi attacchi durano giorni fino a quando l’attacco non riesce a trovare la combinazione giusta e viola il nostro sito.

L’attacco Brute Force su un sito WordPress di per se non è la cosa più brutta che possa capitarci se abbiamo preso tutte le precauzioni del caso ma, nella fattispecie meno grave, comporta una continua richiesta al server che ospita il nostro sito con la conseguente possibilità che il nostro provider (l’azienda che abbiamo pagato per avere lo spazio web) decida di sospendere il servizio. Invece, nella malaugurata ipotesi che il sito venga violato, iniziano i problemi seri.

Potremmo iniziare ad ospitare migliaia di link a risorse sconosciute, avere il servizio di posta elettronica sospeso, ospitare un malware che induce Google a metterci in una bella blacklist con tanto di avviso ai visitatori che “Questo sito potrebbe essere compromesso” o ” Questo sito potrebbe danneggiare il tuo computer” e addio visitatore.

Ma allora come difendersi da un attacco Brute Force su WordPress? Scopriamolo insieme…

TI SEI MAI ACCORTO DI UN ATTACCO BRUTE FORCE SUL TUO SITO?

Se hai trovato questo articolo su un motore di ricerca probabilmente si. Se ci sei capitato per caso invece, probabilmente no. Se ti hanno violato il sito in questo modo siedi e impara a difenderti meglio. E allora, come accorgersi se è in corso un attacco Brute Force su un sito WordPress?

schermata google sito compromesso

schermata google sito compromesso

risultato ricerca google per un sito contenente malware

risultato ricerca google per un sito contenente malware

Se non si sono prese le dovute precauzioni in materia di sicurezza direi che te ne sei accorto quando il tuo sito WordPress è stato violato e ti è apparso uno dei risultati sopra. Se invece sei uno di quelli che alla sicurezza ci tiene hai installato un plugin che ti protegge il quale ti ha avvisato che sta succedendo qualcosa di strano.

DIFENDERE UN SITO WORDPRESS DA UN ATTACCO BRUTEFORCE

Nell’articolo dedicato all’ottimo plugin per la sicurezza I-Themes Security , abbiamo spiegato come settarlo per garantirsi una efficace protezione contro questo genere di attacchi. Per chi l’avesse perso consiglio di rileggerlo.

Questo Plugin consente di cambiare la url del pannello di amministrazione da www.nomesito.it/wp-admin a www.nomesito.it/vattela-a-piglià-in-saccoccia-hacker-di-cacca rendendo di fatto più difficile l’individuazione della porta di accesso al pannello di amministrazione. E ancora ci rende facile sostituire (ed eliminare) il nome utente di default admin con un nome di nostro gusto, cambiare il prefisso delle tabelle del database sostituendo quello di default wp_, rendere i files .htaccess e function.php non scrivibili e tanto altro ancora.

Ma per chi ama vincere facile senza impazzire tra decine di parametri da settare, qui indicheremo un modo semplice per difendere un sito WordPress da attacchi Brute Force.

LIMITARE IL NUMERO DI TENTATIVI DI LOGIN

Possiamo limitare il numero di tentativi di login con il Plugin “WP Limit Login Attempts” (attenzione non limit login attempts che non è compatibile con le versioni più recenti di WordPress). Una volta installato tramite la repository di WordPress, possiamo decidere quanti tentativi possono essere fatti per autenticarci al termine dei quali si viene bannati per un tot. di tempo a nostra discrezione.

Non dovete fare nemmeno nulla per configurarlo. Il plugin vi inserisce un captcha sulla schermata di login e dopo 5 tentativi andati a vuoto l’ip viene bannato. Giudico questo plugin insufficiente per la sicurezza di WordPress ma può essere un’ottima soluzione per tamponare l’attacco Brute Force in attesa di avere il tempo di installare altri strumenti più efficaci.

wp limit login attempts

wp limit login attempts

SOSTITUIRE WP-ADMIN SULLA URL DI ACCESSO

Un altro buon modo per difendersi da attacchi Brute Force su WordPress è sostituire dalla Url di accesso al pannello di amministrazione il wp-admin.

Lo sanno anche i sassi che per accedere al pannello si scrive www.nomesito.xx/wp-admin e, naturalmente, lo sanno anche gli hacker. Perché lasciargli questo vantaggio? Rendiamogli la vita un poco più difficile.

Già detto e ripetuto che con I-Themes Security si ottiene un’eccellente protezione grazie ai numerosi accorgimenti che si possono prendere con questo plugin (non si vede che lo adoro vero?). Ma, sempre per chi vuole una soluzione veloce direi che per sostituire wp-admin sulla Url si può utilizzare il plugin Protect Your Admin.

Una volta installato andate sulle impostazioni e fate la modifica come in figura, avendo cura di scrivere sull’apposto spazio la parola che sostiutirà Wp-admin sulla url di accesso al pannello di amministrazione e di abilitare il tutto spuntando il check “enable”. Ah!!! Fate attenzione anche a salvare di nuovo le impostazioni dei permalink prima di attivare il plugin.

plugin protect your admin

Facile no?

Questo plugin, semplice ed intuitivo, da anche la possibilità di personalizzare la grafica dell’interfaccia di login a WordPress, sostituendo il logo WordPress con un’immagine a piacere ed il colore dello sfondo e altre funzionalità di sicurezza carine ma non indispensabili.

MODIFICA DEL FILE WP-CONFIG

Gli ultimi attacchi Brute Force su siti WordPress che si stanno verificando dall’ottobre 2015, non sono arginabili dai metodi sopra descritti. Ovvero… i plugin ci mettono abbastanza al sicuro da questi attacchi che però continuano imperterriti attraverso una falla sull’XML-RPC di WordPress ormai cronica e mai risolta definitivamente.  Sucuri, nota azienda esperta in protezione di siti internet, ha ultimamente lanciato l’allarme riguardo un’impennata di questo tipo di attacchi brute force su WordPress, come si vede dal grafico sotto.

Sucuri-BruteForce-Amplification-Attacks-WordPress-XMLRPC-2015

L’amplificazione degli attacchi brute force da Ottobre 2015

Una soluzione drastica suggerita sul sito trovalost.it è quella di inserire questa istruzione sul file wp-config.php

add_filter('xmlrpc_enabled', '__return_false');

subito dopo l’istruzione

require_once(ABSPATH . ‘wp-settings.php’);

Questa istruzione impedirà di utilizzare le funzioni che coinvolgono XML-RPC. Nello specifico, per portare l’attacco brute force, viene sfruttato il metodo system.multicall che permette sia di non essere rilevato dai normali metodi di prevenzione, sia di testare numerosissime combinazioni di username e password mediante un numero limitato di chiamate XML-RPC. L’inconveniente (che io personalmente non ho rilevato) è che in questo modo vengono disabilitate alcune funzoinalità di Jetpack, il popolare plugin tuttofare di WordPress.

Per maggiori informazioni su questo genere di attacchi vi consiglio di leggere la pagina dedicata al problema da Sucuri.

I-THEMES SECURITY PROTEGGE CONTRO GLI ATTACCHI XML-RPC

Si, ancora lui. Il mitico I-Themes Security. Al suo interno c’è una impostazione che permette di bloccare con efficacia (testata da me personalmente) gli attacchi brute force su siti WordPress con chiamate XML-RPC. Basta settare l’apposito campo come si vede in figura sotto.

blocco attacco xml rpc

Settaggio I-Themes Security per difendersi dagli attacchi su xml-rpc. Clicca per ingrandire

Facile ed intuitivo no?

CONCLUSIONI

I due plugin sopra descritti ed il resto sono una buona difesa contro gli attacchi Brute Force che potete implementare sui vostri siti WordPress facilmente e con rapidità. Ovvio che poi per ottenere una protezione maggiore serve qualcos’altro. Oltre ad I-Themes non è male nemmeno Sucuri Security, a cui però manca qualche funzionalità rispetto al primo (tra cui il blocco agli attacchi xml-rpc che è fornito solo a pagamento tramite il firewall proprietario WAF).

Per il resto i consigli sono sempre gli stessi: aggiornate i vostri siti WordPress quando escono upgarde per i plugin e per WordPress stesso. Impostate password decenti invece di mettere il vostro nome o la data di nascita.

Tempo fa impazzii letteralmente con il sito di una mia amica che mi aveva chiesto aiuto perchè gli avevano chiuso la posta elettronica a causa di un malware che si era insediato. Ripulii il sito e gli installai I-Themes Security. Dopo un mese però eravamo da capo. Per 3 mesi ho provato più soluzioni di sicurezza io del numero di spaghetti che stanno in una confezione da un chilo. Fino a scoprire l’arcano. Nome utente “francesca” e password “francesca”… Lo bucavano come un palloncino ogni volta. Devo dire di più? Fammi andare a casa va…

Alla prossima!!! 🙂

 

AD

About the author

Flavio

Mi trovo nel campo del web dal 2006. Nel tempo mi sono specializzato soprattutto nell'indicizzazione,  nel posizionamento di siti internet e nell'utilizzo dei social media principali a fini di marketing.

Readers Comments (2)

  1. Buongiorno Flavio e complimenti per l’ottimo articolo!
    In effetti gli attacchi a forza bruta sono la bestia nera degli amministratori: gestisco personalmente (fra miei e di clienti) una trentina di siti basati su WP, quindi puoi immaginare che ricevo quotidianamente decine di notifiche di IP bloccati per tentativi di attacco brute force! :O
    Io utilizzo All in One WP Security come plugin di sicurezza e mi trovo molto bene (anche se forse potrebbe fare qualcosina di più, ma per un plugin gratuito va bene così!)
    Ancora non conoscevo il metodo della disabilitazione dell’XML-RPC per limitare il numero di tentativi, ma lo proverò al più presto. Ogni giorno si impara qualcosa…

    Grazie per l’ottimo consiglio e buon lavoro!
    Riccardo

Leave a comment

Your email address will not be published.


*


*