Cookie Consent Malware
Script cookie utilizzato per distribuire malware
30 agosto 2018
Show all

wp-config.php: 7 consigli per proteggere meglio WordPress

Code tips

Ogni sito WordPress contiene un file chiamato ‘wp-config.php’: uno speciale file di configurazione che è anche uno degli elementi più importanti di WordPress. Il file ‘wp-config.php’ contiene infatti molti parametri di configurazione che possono essere modificati per aumentare la sicurezza di una installazione WordPress.

Analizziamo ora 7 piccoli interventi sul file wp-config.php utili per proteggere meglio un sito WordPress.

1. Modifica il prefisso delle tabelle del database WP

Per impostazione predefinita il database WordPress è composto da undici tabelle. Ogni tabella ha una funzione specifica. Ad esempio, wp_posts memorizza informazioni da post, pagine e dal menu di navigazione. Poiché le funzioni di ogni tabella sono predeterminate, l’hacker sa sempre dove trovare i dettagli relativi alla sicurezza del sito. Ad esempio, se volessero manipolare gli utenti del tuo sito, punterebbero alla tabella “wp_users”.

WordPress utilizza il prefisso ‘wp_’ per tutte le tabelle, per impostazione predefinita. La modifica di questo prefisso in uno univoco può essere utile per nascondere i nomi delle tabelle, e aiuterà a proteggere il sito WordPress.

Per fare ciò, occorre editare il file ‘wp-config’, e cercare la seguente linea:

$table_prefix = ‘wp_’;

Modifica il prefisso sostituendo wp_ con 2 o 3 caratteri random:

$table_prefix = ‘xyz_’;

2. Disabilita la modifica dei file di tema e plugin

Nella dashboard di WordPress, c’è un’opzione che permette di modificare i file del tema o plugin. Ciò significa che con l’accesso alla dashboard e sufficienti autorizzazioni chiunque può modificare file importanti.

Sebbene sia un utile strumento per configurare qualsiasi plugin, diventa pericoloso nelle mani di un hacker. Ad esempio, supponiamo che un hacker riesca a penetrare nel sito con l’aiuto di un exploit: diventa facile aggiungere un malware a un plug-in o un tema esistente. Potrebbero nascondere quindi una backdoor che sfrutteranno in seguito per accedere al sito ogni volta che lo desiderano.

Puoi impedire che ciò accada disabilitando l’opzione per modificare questi file. Basta inserire il seguente codice nel file di configurazione wp-config.php:

define(‘DISALLOW_FILE_EDIT’,true);

3. Impedire agli utenti di installare o aggiornare plug-in e temi

Questa funzione offre solo un maggiore livello di sicurezza perché non impedisce agli hacker di installare un plugin dannoso e utilizzarlo per sfruttare il sito. Una volta che un hacker ha accesso al pannello di amministrazione, insieme alla corretta autorizzazione utente, può infatti installare a piacimento un tema o un plugin malevolo.

Se non si ha la necessità di installare spesso plugin, è consigliabile disabilitare l’opzione aggiungendo il seguente codice nel file di configurazione di WordPress:

define(‘DISALLOW_FILE_MODS’,true);

4. Imponi l’uso di “FTP”

Impedire agli utenti di installare e aggiornare plug-in e temi può essere restrittivo e persino poco pratico per i siti che installano e disinstallano frequentemente plugin. Inoltre, l’aggiornamento di temi e plug-in è molto importante per la sicurezza di un sito WordPress.

Un metodo alternativo per garantire che i plug-in vengano installati solo da utenti autorizzati consiste nel forzare gli utenti a fornire le credenziali “FTP”. In questo modo, anche quando il pannello di amministrazione è compromesso, gli hacker non possono installare un plugin malevolo a meno che non dispongano delle credenziali FTP.

Basta aggiungere la seguente riga al file ‘wp-config.php’:

define(‘FS_METHOD’, ‘ftpext’);

Se l’host supporta”FTPS”, aggiungere la seguente riga nel file di configurazione:

define(‘FTP_SSL’, true);

Infine, se l’host  supporta “SFTP”, aggiungere la seguente riga:

define(‘FS_METHOD’, ‘ssh2’);

5. Cambia le chiavi di sicurezza

È importante sapere che non è necessario inserire le credenziali di accesso per accedere ad un sito WordPress: il browser è in grado di memorizzare le credenziali. Dopo aver effettuato il login, le informazioni di accesso vengono infatti memorizzate in modo crittografato in un cookie. Le chiavi di sicurezza sono variabili casuali che servono a migliorare questa crittografia. Se il tuo sito è stato hackerato, la modifica delle chiavi segrete invalida tutti i cookie generati in precedenza, e costringe tutti gli utenti attivi a disconnettersi automaticamente. Una volta espulso, l’hacker perde l’accesso come amministratore di WordPress.

È possibile generare un nuovo set di chiavi di sicurezza e copiarle nel file ‘wp-config’. Leggi questo articolo per capire meglio come funzionano le chiavi di sicurezza e per scoprire come generarne di nuove.

6. Nascondi il file ‘wp-config.php’

In qualsiasi installazione base di WordPress, il file ‘wp-config.php’ si trova sempre in una posizione predefinita (root del sito). La modifica della posizione del file può aiutare a impedire che questo cada nelle mani degli hacker. WordPress consente di far risiedere la cartella “/wp-config” al di fuori della directory di installazione. Ad esempio, se WordPress è installato nella cartella public_html, il file di configurazione sarà presente nella cartella public_html per impostazione predefinita: è possibile spostare /wp-config fuori dalla cartella /public_html, e tutto continuerà a funzionare correttamente.

7. Proteggi il file ‘wp-config.php’

La configurazione generale di WordPress è facilmente vulnerabile agli attacchi, quindi diventa imperativo proteggerla. Un modo per farlo è cambiarne la posizione in modo che gli hacker non possano trovarla nella sua posizione predefinita. Sebbene alcuni sviluppatori possano storcere il naso, ce ne sono molti altri che pensano che sia una buona abitudine. Se vuoi farti un’idea della questione, e valutarne benefici e controindicazioni, prova a dare un’occhiata a questa discussione.

Un’ulteriore misura di sicurezza che è possibile adottare è limitare i permessi del file ‘wp-config.php’, ovvero impostare le autorizzazioni su ‘600’, in modo che solo i veri proprietari possano modificarlo.
Per cambiare i permessi del file di wp-config.php puoi utilizzare il file manager del tuo host, oppure un qualsiasi client FTP: seleziona il file e poi scegli l’opzione ‘Permessi’.

wp-config.php secure

Successivamente bisogna includere le seguenti righe nel file .htaccess, per impedire agli hacker di caricare il file ‘wp-config.php’ direttamente dal browser:

# protezione del file wp-config.php
<files wp-config.php>
order allow,deny
deny from all
</files>

Conclusioni

Abbiamo visto come aumentare la sicurezza di un sito WordPress intervenendo sul file ‘wp-config.php’, questo è però solo uno dei tanti modi per proteggere l’installazione. Ulteriori misure di sicurezza che è possibile adottare includono l’utilizzo di plug-in specifici, l’impiego di un certificato SSL, utilizzare un nome utente e una password univoci e sicuri, implementare l’autenticazione HTTP e l’autenticazione a due fattori, ecc… ma prima di adottare uno qualsiasi di questi metodi è molto importante eseguire il backup del sito e del database. Così, se qualcosa va storto, puoi ripristinare il backup e riavere il sito attivo e funzionante in breve tempo.

Supporto tecnico