Login di WordPress: attacco brute-force, misure di sicurezza rinforzate

Di recente è stato registrato un attacco brute-force massivo a WordPress: abbiamo attivato le opportune contromisure per combatterlo e proteggere gli account dei nostri utenti, ma è necessaria la collaborazione da parte di tutti i webmaster ed i blogger.
Misure di sicurezza rinforzate
I seguenti passi possono essere eseguire per consolidare il livello di sicurezza sul file wp-login.php
per tutti gli account WordPress che eventualmente avete caricato sul vostro piano di hosting.
Come proteggere il file wp-login.php
Ci sono due passi da compiere per realizzare questo obiettivo, ed è bene che tutti i webmaster che amministrano siti in WordPress si possano adeguare ad esso. Anzitutto è necessario definire una password nel file .wpadmin
, e successivamente attivare la sicurezza sul file .htaccess
.
Primo passo, creare una password aggiuntiva
Come prima cosa create via FTP un file dal nome .wpadmin
e posizionatelo nella home del vostro server, dove i visitatori non possono accedervi e facendo attenzione al “.” che precede il nome del file (ed indica al sistema Linux che il file stesso è nascosto). L’esempio che illustreremo è relativo ad un account cPanel, mentre Plesk (ad esempio) richiede che il file sia posizionato all’interno di /var/www/vhosts
oppure /var/www/vhosts/domain
.
Esempio di path: /home/tuousername/.wpadmin
(dove “tuousername” è la username assegnata per l’account cPanel)
Inserire username e password criptata nel file .wpadmin
, facendo uso del formato username:encryptedpassword
Esempio: mario123:n5MfEoHOIQkKg
(“mario123” è la username scelta da voi, mentre la password è stata criptata utilizzando uno dei seguenti tool online: htaccess password generator, online password generator, htpasswd generator)
Opzione 1: Generare il file con la password e caricarlo sul server via FTP
Dopo aver creato la password con uno degli strumenti indicati, dovrete caricarlo via FTP client (FileZilla ad esempio) oppure il WEB File Manager di cPanel.
- Visitare il sito: htaccesstools.com/htpasswd-generator (si aprirà in una nuova pagina)
- Utilizza il form proposto per creare username e password.
- Fare login su cPanel in un’altra finestra del browser.
- Fare click su File Manager.
- Scegliere ora Home Directory.
- Selezionare la spunta su “Show Hidden Files (dotfiles)“ se non fosse già selezionata.
- Cliccare su Go per confermare.
- Cercare il file
.wpadmin
e:- se esiste, selezionarlo con il tasto destro e cliccare su “Code Edit” per modificarlo.
- se invece non fosse presente, selezionare dall’interfaccia “New File” e specificare il nome
.wpadmin
(attenzione ad inserire sempre il “.” iniziale) e scegliere successivamente “Create New File“.
- Incollare il codice ottenuto in precedenza con i tool indicati.
- Cliccare su “Save Changes“ per confermare le scelte effettuate.
- Cliccare su “Close the file” per concludere la procedura.
Opzione 2: Creare il file di password mediante linea di comando/SSH
Potete creare la password criptata direttamente da linea di comando, se ne avete la disponibilità, direttamente con l’utility htpasswd. Potete trovare maggiori informazioni tecniche a riguardo all’indirizzo ufficiale di Apache.
Un esempio di uso potrebbe essere il seguente:
htpasswd -c /home/tuousername/.wpadmin mario123
A questo punto il sistema richiederà la password che avete scelto, che sarà criptata ed inserita automaticamente all’interno del file. L’accesso alla pagina wp-login.php sarà quindi limitata da una ulteriore username e password, e solo dopo aver superato questa fase sarà possibile accedere con le solite credenziali.
Passo 2: aggiornare il file .htaccess
In questa procedura tutti i domini sotto la home directory in esame condivideranno lo stesso file .wpadmin
.
L’ultimo passo da compiere consiste quindi nell’aggiornare il file /home/tuousername/.htaccess
:
ErrorDocument 401 "Unauthorized Access" ErrorDocument 403 "Forbidden" <FilesMatch "wp-login.php"> AuthName "Authorized Only" AuthType Basic AuthUserFile /home/miousername/.wpadmin require valid-user </FilesMatch>
Ricordarsi sempre di sostituire, nella pratica, “miousername” con la username del tuo cPanel.
Un commento