In un articolo di qualche tempo fa avevo presentato la tecnica SQL Injection, ovvero una delle tecniche più sfruttate da hacker o malintenzionati per compromettere pesantemente la sicurezza di un blog, in generale.
In tal caso, il problema è indipendente dalla piattaforma, anche se per questo o per altri tipi di attacchi esterni, è sempre bene premunirsi o prevenirli prima che sia troppo tardi. Nel caso di Wordpress, ad esempio, un consiglio che si fornisce ai vari webmaster é quello relativo al cambiare il prefisso di default delle tabelle del database.
L’immagine qui sotto, infatti, vi mostra da PhpMyAdmin, una tipica installazione di default di un DB per Wordpress (dove sono memorizzati tutti i dati del blog, in sostanza).
Come notate, le 11 tabelle di base hanno tutte un nome caratterizzato dal prefisso wp_ e, quindi, il loro nome completo sarà del tipo wp_nometabella. Il meno scaltro degli hacker conosce bene questa informazione ed ha un’arma in più per condurre il proprio attacco. Perché non provvedere? Infatti, non è così difficile e complicato cambiare quel valor wp_ e aggiungere un grado di sicurezza in più al vostro blog. Come fare?
Se dovete ancora installare Wordpress, logicamente, tutto è più facile e banale semplicemente perché nel vostro file wp-config.php potrete, in fase di installazione, modificare la seguente riga di codice :
$table_prefix = ‘wp_’;
e inserire al posto del valore di default quello che volete. Nessun altro tipo di intervento é richiesto.
Se, altresì, come nella maggior parte dei casi, avete già installato e lanciato il vostro blog, la cosa si complica leggermente, ma non di molto. Basta seguire questi passi :
- In primis, effettuate un backup di tutto il sito (contenuti più database) e subito dopo prevedete una pagina temporanea dove indicate che il sito sarà inaccessibile per solo una decina di minuti.
- Editate il wp-config.php cambiando il valore wp_ in un randomico wp_VzQCxSJv7uL
- Usando phpMyAdmin o altro, lanciate i seguenti comandi SQL per rinominare le tabelle : RENAME table `wp_commentmeta` TO `wp_VzQCxSJv7uL_commentmeta`;
RENAME table `wp_comments` TO `wp_VzQCxSJv7uL_comments`;
RENAME table `wp_links` TO `wp_VzQCxSJv7uL_links`;
RENAME table `wp_options` TO `wp_VzQCxSJv7uL_options`;
RENAME table `wp_postmeta` TO `wp_VzQCxSJv7uL_postmeta`;
RENAME table `wp_posts` TO `wp_VzQCxSJv7uL_posts`;
RENAME table `wp_terms` TO `wp_VzQCxSJv7uL_terms`;
RENAME table `wp_term_relationships` TO `wp_VzQCxSJv7uL_term_relationships`;
RENAME table `wp_term_taxonomy` TO `wp_VzQCxSJv7uL_term_taxonomy`;
RENAME table `wp_usermeta` TO `wp_VzQCxSJv7uL_usermeta`;
RENAME table `wp_users` TO `wp_VzQCxSJv7uL_users`;
Precisiamo che questo vale per le 11 tabelle presenti nell’installazione di default, ma tutto va applicato anche ad altre tabelle (magari relative ai plugins installati) qualora presenti.
- Non é finito perché occorre anche modificare tutte le altre istanze presenti in tabelle col vecchio prefisso ed in particolare parlo di options ed usermeta. Quindi lanciate : SELECT * FROM `wp_VzQCxSJv7uL_options` WHERE `option_name` LIKE ‘%wp_%’ e SELECT * FROM `wp_VzQCxSJv7uL_usermeta` WHERE `meta_key` LIKE ‘%wp_%’ e provvedete a cambiare manualmente i prefissi dai risultati delle suddette queries.
In teoria, ma anche in pratica, il gioco é fatto. Qualche piccolo e veloce test sulle pagine del blog (front end e back end) e potete riaprire il blog!


