• DOMINIOWEB.ORG
         

Attacco brute force, come proteggere WordPress

sicurezza wordpress

Assistiamo in continuazione ad installazioni Wordpress eseguite con la massima noncuranza e leggerezza: user con mome del dominio, moltissime con la classica “admin” e password veramente demenziali e facilissime da “bucare”.

Stessa cosa nella creazione dei DataBase, nelle mail e negli accessi Ftp. Poi ci si lamenta se il sito viene “bucato” e si addossa la responsabilità al Registrar che lato server, non ne può proprio nulla se non della negligenza dei propri clienti.

Per sapere se su un server esistono CMS, non c'è bisogno di macchinosi artefizi, in rete sono molti i siti che scandagliano con appositi programmi un server e sanno rilevare quasi tutti i CMS presenti.

Altri programmi scaricabili dal web sono in grado di eseguire decine di migliaia di interrogazioni per risalire a password e user “demenziali”, così noi le definiamo.

Quando si installa WordPress su un sito web è necessario usare una particolare attenzione alla sicurezza del CMS, in particolar modo alla pagina di login di WordPress, che rappresenta la porta di accesso al pannello di amministrazione non solo per chi gestisce il sito, ma soprattutto per gli attacchi hacker cosiddetti “brute force” che significa eseguiti con “forza bruta”.

Cosa significa eseguire un attacco “brute force” ad un CMS Wordpress?
Un attacco “brute force” è una tecnica usata dagli hacker finalizzata all’accesso a contenuti protetti da user e password. L’attacco consiste nell’individuare la user e la passw di accesso come amministratore del CMS tramite dei semplici programmi scaricabili dal web, che eseguono centinaia di migliaia di interrogazioni a dei cosiddetti “dizionari” contenenti milioni di combinazioni password e user e questo in breve tempo.

Per fare questa operazione non è necessario essere un guru dell’informatica, qualsiasi neofita può risultare dannoso. La maggior parte degli utenti che installano CMS tipo Wordpress, sottovalutano molto questo problema, lasciando come default la user “admin”, in questo modo è molto facile individuare solo più la passw.

Pertanto prima raccomandazione: modificare immediatamente la user “admin” con una user robusta del tipo 87vS@632bmA, ecc, stesso esempio per la passw.

Seconda raccomandazione: a sito ultimato e pubblicato eseguire un backup sul proprio pc sia del DB che del sito.

Proteggere l’accesso al pannello di amministratore wordpress.
Esistono alcuni plugin di Wordpress (come il “Limit Login Attempts”) che possono limitare gli attacchi “brute-force” permettendo di bloccare i tentativi dopo un certo numero di accessi, di bloccare gli indirizzi IP e di bloccare i Paesi da cui questi attacchi provengono.

Il problema è che questi plugin poi impegnano moltissimo il curatore del sito, in alcuni casi a tal punto da essere considerati essi stessi dannosi.

Noi pensiamo che usando poche accortezze, creando user e passw di amministrazione Wordpress robuste, es: user del tipo “D635n#7E” abbinate a passw di 14 caratteri del tipo “78902b3DA@ye#5”, si raggiunge già un buon livello di sicurezza.

Ma se vogliamo aggiungere una “porta blindata” all'accesso del nostro wp-admin, consigliamo di anteporre una “porta” supplementare con user e password criptata. Per far questo è necessario che il wordpress sia su un server Linux con possibilità (come i nostri) di aggiornare il file .htaccess.
Per eseguire queste difese e' necessario:
Server Linux
Possibilita' di aggiornare il file .htaccess (possibilita' vietata da molti Registrar, se non siete nostri clienti, prima di eseguire questa procedura informatevi dal vostro provider se avete accesso al file .htaccess)

Procedura.
Step 1: creare il file password
.
a) Creare un file chiamato .wpadmin e inserirlo nella home_directory, dove i visitatori non possono accedervi. Aprire il vostro cPanel e cliccare su "File Manager", sotto come si visualizzerà la home_directory:

manager
b) Cliccare in alto a destra su "Setting" e mettere lo spunto vicino a "Show Hidden Files", poi salvare. Se il vostro cPanel ha temi diversi, il "Show Hidden Files" può essere prima di accedere al File Manager.

brute-force

c) Dopo questa operazione, il File Manager visualizzera' tutti i file nascosti, quindi cliccare in alto su "+File" e creare il file ".wpadmin", come nell'immagine che segue:

brute-force

d) creare il contenuto da inserire nel file .wpadmin con user e password criptata utilizzando il sito Web: http://www.htaccesstools.com/htpasswd-generator/

brute force
c) Inserire una nuova user e una nuova password, quest'ultima almeno di 14 caratteri alfanumerici compresi caratteri speciali tipo : # @[, ecc.

brute force
d) Incollare il codice criptato ottenuto, all'interno del file .wpadmin ora presente in home_directory, caricarlo sul tuo sito tramite File Manager cliccando in alto "download" oppure con FTP (consigliato FileZilla). Inserire il codice aprendo il file con un blocco note e ricaricarlo con File Manager cliccando "upload" oppure con Ftp.

Step 2: aggiornare il file .htaccess
Tutti i domini sotto la directory home condivideranno il file .wpadmin comune.

Attenzione, il file .htaccess si trova all'interno della cartella "public_html", pertanto per modificarlo cliccate su questa cartella che oltre al file in questione troverete anche tutto il vostro Wordpress. Lo scaricate e lo aggiornate come descritto nei passaggi successivi e poi lo ricaricate.

All'interno del file .htaccess troverete gia' il codice del wordpress che inizia con
# BEGIN WordPress e termina con # END WordPress, il codice aggiuntivo dovra' essere inserito subito dopo come nell'esempio sotto brute force htaccess
ErrorDocument 401 "Unauthorized Access"
ErrorDocument 403 "Forbidden"
<FilesMatch "wp-login.php">
AuthName "Authorized Only"

AuthType Basic
AuthUserFile /home/username/.wpadmin
require valid-user
</FilesMatch>

Nota: sostituire nel codice "username" con il proprio nome utente cPanel.

Terminata la procedura, quando entrerete nella vostra pagina di amministratore nomesito/wp-admin  prima si aprira' questa maschera dove inserirete la user e la password criptata.

brute-force