Nel articolo precedente abbiamo visto come proteggere un sito WordPress, se non l’hai ancora letto – segui il link. In questo articolo ti mostrerò i metodi “advanced” per proteggere il tuo sito e migliorare il tuo sonno notturno 😉 Iniziamo.

1. Modifica route wp-admin
Dunque per aumetare la sicureazza del tuo sito WordPress devi accedere al pannello di controllo di WordPress – di base lo fai in questo modo “www.iltuosito/wp-admin”. Eh si, cambiando la root di accesso al pannelo di controllo, per gli hacker sarà più difficile trovare dei backdoor, ciò significa che hanno meno possibiltà di attaccarti. Modificando la route automaticamente corpi il tuo sito da attacchi di tipo “Bootforce”.
Ok in questo caso ti mostrerò 2 vie una più facile e un’altra sempre facile ma dovrai mettere mano sul codice. La prima soluzione è di scaricare un plugin che si chiama WPS Hide Login. E’ molto facile ed intuitivo – ti basterà inserire un nuovo link attraverso il quale vorrai accedere e al resto ci pensa il plugin. Se sei come me che non piace trovare plugin per ogni problema che incontri ti includerò qui sotto le righe di codice da iniettare nei file di WordPress via FTP. Prima di tutto ti consiglio di eseguire un Backup del sito per stare più tranquillo, successivamente il primo passo per proteggere il tuo sito WordPress
- Aggiungi all’inizio del file .htaccess le seguenti righe
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
- Di seguito aggiungi il RewriteCond
# BEGIN Hide login page
RewriteRule ^myloginpage$ https://%{SERVER_NAME}/wp-login.php?key=123456qwerty&redirect_to=https://%{SERVER_NAME}/wp-admin/index.php [L]
RewriteCond %{HTTP_REFERER} !^https://%{SERVER_NAME}/wp-admin
RewriteCond %{HTTP_REFERER} !^https://%{SERVER_NAME}/wp-login.php
RewriteCond %{HTTP_REFERER} !^https://%{SERVER_NAME}/login
RewriteCond %{QUERY_STRING} !^key=123456qwerty
RewriteCond %{QUERY_STRING} !^action=logout
RewriteCond %{QUERY_STRING} !^action=lostpassword
RewriteCond %{REQUEST_METHOD} !POST
# END Hide login page
- Modifica la scritta
"myloginpage$"
, questa scritta sostituirà “/wp-admin”. Salva il file e verifica il funzionamento del sito. Se avrai continuamente l’errore 500, controlla bene il file è molto probabile che tu abbia commesso un errore.
In alternativa a questo metodo esiste anche un altro:
- Aggiungi all’inizio del file .htaccess le seguenti righe
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
- Di seguito aggiungi il RewriteCond
RewriteBase /
RewriteRule ^myloginpage$ wp-login.php
- Modifica “Modifica la scritta “myloginpage$”. Modifica la scritta “myloginpage$”, questa scritta sostituirà “/wp-admin”. Salva il file e verifica il funzionamento del sito. Se avrai continuamente l’errore 500, controlla bene il file è molto probabile che tu abbia commesso un errore. Però in questo caso dovrai aggiungere un piccolo snippet nel file functions.php.
<?php
add_filter('site_url', 'wplogin_filter', 10, 3);
function wplogin_filter( $url, $path, $orig_scheme )
{
$old = array( "/(wp-login\.php)/");
$new = array( "myloginpage22");
return preg_replace( $old, $new, $url, 1);
}
2. Limita i tentativi di accesso al tuo sito

Limita l’accesso infinito di richieste di login. In questo ti aiuterà un plugin molto funzionale che si chiama Cerber Limit Login Attempts. Inoltre ti aiuterà di gestire le blacklist degli indirizzi IP.
3. Metti in sicuro il file wp-config
Wp-config è il cuore del tuo sito, portalo fuori dalla cartella del sito. Crea un nuovo file .php, copia il contenuto di wp-config e inseriscilo nel file che hai appena creato. In fine dovrai includere la route del file che hai creato in wp-config. In questo modo(giustamente modificando il nome delle cartelle)
<?php
include('/home/somefolder/onemorefolder/wp-config.php');
4. Oscura la tua versione di WordPress
Aggiungi al file functions.php il seguente snippet.
function wp_version_remove_version() {
return '';
}
add_filter('the_generator', 'wp_version_remove_version');
In questo modo, nessuno potrà vedere la tua versione WordPress, non si scordare di tenerlo sempre aggiornato, ricordi?
5.Scansiona spesso il tuo sito.
Come fai a sapere se hai avuto un attacco o una iniezione di codice? Per scansionare il mio sito personalmente ti consiglio Wordfence. Molto intuitivo e funzionale, inoltre ti permette di controllare gli indirizzi IP e dove hanno provato di accedere.

6. Disabilita XML-RPC
XML-RPC – XML Remote Procedure Call. si utilizza per connteterti al sito attraverso l’applicazione mobile WordPress. (Android e Ios). Il problema che attraverso i robot forzano i tentativi di connessione attraverso questo file. Anche se hai limitato l’accesso della pagina login, il file XML-RPC rimane scoperto e difonobile per infinite richieste. Noi giustamente dobbiamo fare nel modo che ciò non accada.
Ci sono 3 modi per disabilitare XML-RPC.
Aggiungi questo snippet nel file config.php dopo require_once(ABSPATH . ‘wp-settings.php’);
add_filter('xmlrpc_enabled', '__return_false');
Scarica Plugin Disable XML-RPC

Potresti disabilitare XML-RPC scaricando Disable XML-RPC. Segui le istruzioni.
Disabilita da .htaccess
Anche questi due metodi lavorano alla perfezione, il hackbot nel momento dell’analisi sfrutta le risorse del tuo server. Consiglio di disabilitare il file da .htaccess questo è il modo più sicuro e definitivo. Aggingi questo snippet al file .htaccess
# Block XML-RPC requests
<Files xmlrpc.php>
Order Allow,Deny
Deny from all
</Files>
Consigli da seguire alla lettera per proteggere il proprio sito, ottimo articolo!