Come restringere l’accesso alla pagina di login di WordPress
Quando decidiamo di creare un sito potremmo essere non consapevoli del fatto che in rete esistono persone che non hanno modo migliore di impiegare il loro tempo che a fare dispetti o creare problemi agli altri. Può capitare di scoprirlo a proprie spese magari quando ci telefona un amico o un cliente informandoci che sulla home page del nostro sito campeggia una immagine indecente o una serie di irripetibili insulti. E’ bene imparare come restringere l’accesso alla pagina di login di WordPress.
Come è potuto succedere..?
Avoglia a fare spallucce e dire: “ma si.. Sono ragazzi, si divertono così..” intanto vi hanno procurato un danno materiale e di immagine se non peggio e di conseguenza per il futuro dovete cercare di proteggervi per evitare che simili imbarazzanti eventi possano ripetersi e per farlo bisogna chiudere bene la porta di casa e non permettere a nessuno escluso voi di arrivarci davanti e questo lo possiamo fare restringendo l’accesso alla pagina di login di WordPress limitandolo al nostro indirizzo IP statico o ad una serie di indirizzi IP dinamici che saranno i soli a potersi collegare all’amministrazione del nostro WordPress.
Una cosa complicata direte, niente affatto, ma questo comporta alcuni cambiamenti che vedremo dopo aver illustrato la maniera restringere l’accesso alla pagina di login di WordPress. Ci sono due possibilità: siete solo voi ad amministrare il sito e lo fate sempre dallo stesso computer oppure vi spostate spesso o, come seconda possibilità ci sono più persone che gestiscono il vostro WordPress.
Per semplificarvi la vita dovreste fare richiesta al vostro provider di assegnazione un indirizzo IP pubblico e statico che rende il vostro computer univocamente identificabile in rete e che vi servirà anche per tante altre cose come collegarvi ai vostri files dall’esterno, gestire videosorveglianza, etc., stessa cosa possono fare i vostri collaboratori, oggi tutti i providers offrono l’indirizzo IP statico come opzione gratuita o alcosti di pochi euro al mese.
Una volta conosciuto il vostro IP statico fate prima un backup del sito e collegatevi via FTP alla cartella principale del vostro WordPress e recuperate il file .htaccess che è in genere il primo della lista, se non lo trovate potrebbe essere non visibile e dovrete cercare sul vostro client FTP l’opzione “Elenca files invisibili”, scaricatelo ed apritelo in un editor di testo semplice e per abilitare un solo indirizzo IP statico inserite questo codice:
ErrorDocument 401 /index.php?error=404 ErrorDocument 403 /index.php?error=404 RewriteEngine on RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR] RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$ RewriteCond %{REMOTE_ADDR} !^xxx.xxx.xxx.xxx$ RewriteRule ^(.*)$ - [R=403,L]
e al posto di xxx.xxx.xxx.xxx inserite il vostro indirizzo IP statico, salvate il file e ricaricatelo ed ora chiunque provasse ad accedere alla pagina di login da un computer diverso riceverà una pagina di errore e solo voi potrete amministrare il sito dalla vostra postazione, potete fare una prova di funzionamento cercando di collegarvi dallo smartphone o dal tablet in modalità 3G e vedrete che riuscirete ad ottenere solo un bell’errore 404.
Nel caso in cui vi appaia un messaggio che dice: “La pagina ha generato un loop di reindirizzamento” dovrete sostituire le prime due righe con queste:
ErrorDocument 401 /path-al-tuo-sito/index.php?error=404 ErrorDocument 403 /path-al-tuo-sito/index.php?error=404
in cui /path-al-tuo-sito/ è il percorso completo sul server, in genere qualcosa come /var/www/public_html/, se non lo conoscete chiedete al vostro provider.
Se volete abilitare più postazioni con indirizzi IP statici da cui amministrare il vostro WordPress il codice da inserire nel file .htaccess è questo:
ErrorDocument 401 /path-al-tuo-sito/index.php?error=404 ErrorDocument 403 /path-al-tuo-sito/index.php?error=404 RewriteEngine on RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR] RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$ RewriteCond %{REMOTE_ADDR} !^IP Address One$ RewriteCond %{REMOTE_ADDR} !^IP Address Two$ RewriteCond %{REMOTE_ADDR} !^IP Address Three$ RewriteRule ^(.*)$ - [R=403,L]
avendo cura di aggiungere gli indirizzi IP statici nelle righe Ip Address One$, Ip Address Two$, Ip AddressThree$ ed eventualmente aggiungere delle altre righe con la stessa sintassi se fossero necessario inserire altri indirizzi IP.
Nel caso in cui utilizziate uno o più indirizzi IP dinamici e pensate di amministrare il vostro sito da dove vi trovate, il codice da utilizzare è il seguente:
ErrorDocument 401 /path-al-tuo-sito/index.php?error=404 ErrorDocument 403 /path-al-tuo-sito/index.php?error=404 RewriteEngine on RewriteCond %{REQUEST_METHOD} POST RewriteCond %{HTTP_REFERER} !^http://(.*)?tuo-sito.it [NC] RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR] RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$ RewriteRule ^(.*)$ - [F]
editando le prime due righe come nell’esempio sopra e sostituendo tuo-sito.it con l’indirizzo del proprio sito.
E se ho inserito un solo IP statico e mi trovo da un’altra parte col tablet.?
Per questa esigenza dovete disporre di un collegamento VPN (Virtual Private Network) che vi consente di apparire in rete dallo stesso indirizzo IP della vostra postazione fissa ovunque vi troviate, nel parleremo in un prossimo articolo.
Adesso avete blindato l’accesso alla pagina di login del vostro WordPress e ridotto drasticamente il rischio che qualche buontempone possa compromettere il vostro sito e per quanto riguarda la sicurezza siete un pezzo avanti, per il momento può bastare ma riprenderemo presto l’argomento sicurezza perché non è mai troppa.
Se avete seguito le istruzioni ed ha funzionato tutto andate pure a farvi un giro col cane, altrimenti chiamatemi che ci do una occhiata io..
Grazie mille. Cercavo di capire se utilizzando un sito wordpress con diversi plugin installati posso passare da un indirizzo ip condiviso ad un indirizzo ip statico senza avere problemi. Hai mai sentito di qualcuno che ha avuto problemi nel farlo?
Quello che in qualche caso può creare problemi è l’IP dinamico.. l’IP statico identifica la connessione in maniera univoca.. In ogni caso si parla di IP statico della propria connessione e non del sito, il sito ha comunque un suo IP statico che sia dedicato o condiviso..