Proteggere WordPress: limitiamo la probabilità di attacchi
Con le susseguirsi versioni di WordPress, volontariamente o no vengono a crearsi nuovi bug all’interno del codice che rendono insicuro il nostro sito web basato su wordpress.
Il bersaglio comune dei cracker/hacker che studiano questi sorgenti è nel 90% dei casi il database.
Nel database sono presenti tutti i dati che il sito genera, le informazioni sugli utenti e tutte le informazioni configurazione del sistema e dei suoi plugin.
Questi malfattori lanciano degli script che corrono alla ricerca di sistemi wordpress e li attaccano. Per attacare il maggior numero di siti e blog contemporaneamente attaccano principalmente chi sta utilizzando una configurazione comune.
Vediamo adesso cosa possiamo fare noi comuni mortali per rendere wordpress “diverso” dalla massa che utilizza la configurazione base e quindi renderlo più sicuro.
Assegnare un nuovo nome alle tabelle del database
Una delle operazioni che bisognerebbe fare in fase d’installazione del nostro nuovo wordpress, ma che è possibile fare anche successivamente, è quella di cambiare il nome delle tabelle del database sul quale gira WordPress.E’ decisamente più improbabile attaccare un wordpress che ha le sue tabelle rinominate piuttosto che un wordpress che utilizza il prefisso “wp_” standard non credi?
Vediamo le operazioni da effettuare se hai già un WordPress funzionante:
Modifica il file wp-config.php
Apri il file wp-config.php e al valore $table_prefix = ‘wp_’;
anzichè ‘wp_’ metti un’altro prefisso. Per esempio: ‘mywp_”
$table_prefix = 'mywp_';
Ricarica questo file online.
Rinomina tutte le tabelle del database comprese quelle dei plugin
Entra nel pannello phpAdmin che ti mette a disposizione il tuo hosting.
Entra in ogni singola tabella e solo quando sei dentro la singola tabella, per esempio dalla visione struttura, clicca su Operazioni. Nella schermata successiva potrai rinominare la tabella.
Rinomina tutte le voci della tabella wp_option e wp_usermeta
Nella tabella che prima si chiama wp_options cambia le voci option_name, NON i valori (option_value), che iniziano con ‘wp_’.
C’è un valore di nome: wp_user_roles che bisognerà cambiare.
Il principio è questo: tutto ciò che inizia con wp_ viene utilizzato e richiamato via codice dal core di wordpress.
Stesso identico procedimento bisogna effettuarlo sulla tabella wp_usermeta.
Controlla il tuo sito web con Sucuri
Sucuri è uno scan gratuito di siti web controlla il tuo sito web per verificare che non sia affetto e se lo è intervieni subito!
emanuele ha detto:
Grazie Andrea per questo articolo.
L’ho condiviso immediatamente perche merita, spero di risolvere i miei problemi pure io con i tuoi consigli che mi son trovato….”azzzzzzzzzzzzzzzzzz”
Sebastian Scaramuzza ha detto:
Ciao Andrea,
oramai faccio questa operazione nella gran parte dei siti che installo. Dopotutto non richiede molto tempo e rende molto più sicura l’installazione.
Ti segnalo questo plugin per la sicurezza, lo conosci?
http://wordpress.org/extend/plugins/better-wp-security/
È una vera bomba, rende praticamente blindato il sito. 🙂 Inoltre esegue l’operazione che hai descritto nell’articolo in automatico con 2 click.
Buon Anno!!!! 🙂
Andrea Leti ha detto:
Ottima risorsa Sebastian. Questo plugin non lo conoscevo. Ce ne so no cosi tanti…è impossibile conoscerli tutti.
Fate tesoro del commento di Sebastian!
Andrea Leti ha detto:
Ho installato il plugin. Sembra molto potente. Ha però delle cose che non sono affatto per normali utenti.
E’ inoltre consigliato installarlo appena dopo l’installazione di un wordpress.
Grazie per aver condiviso la tua esperienza.
X TUTTI: Questo plugin rinomina le tabelle senza mettere mani al database.
IWD ha detto:
Better WP Security a mio avviso è il migliore, davvero completo.
Puoi anche:
modificare user admin
aggiungere a .htaccess i controlli che bloccano gli accessi indesiderati.
controllare i login errati e bloccare l’utente (eviti i brute force)
blocco preventivo di ip che richiedono troppe volte pagine inesistenti (attacchi tipo quello del timthum.php)
blocco url “strane”
Poi cosa che consiglio a tutti, permette di CAMBIARE l’url di accesso.
Così andando su tuo blog.it/wp-admin trovano una 404
Ne abbiamo parlato qui: http://www.italianwebdesign.it/sicurezza-wordpress-come-rendere-sicuro-un-sito-wp/
Ciao!
Giovanni ha detto:
Salve e complimenti per il sito che scopro soltanto oggi. Better Security e’ spettacolare e funziona perfettamente, l’ho utilizzo da mesi sul sito del mio umile studio di consulenza. L’uso e’ particolare e richiede alcune conoscenze, ha ancora delle falle ma con future release penso si sistemi ancora di più.
Un ulteriore consiglio che mi permetto di dare e’ quello di cambiare la user dell’utente amministratore e non lasciare la standard ADMIN, inoltre consiglio tutti non l’avessero fatto di mettere in sicurezza la cartella uploads essendo preda di script php per eventuali attacchi di tipo phishing. Le vecchie versioni di WordPress ne erano affette, rapida soluzione inserire un file .htaccess con la seguente regola:
deny from all
Un po’ drastica ma efficace.
Mi sto un po’ dilungando ma concludo con l’esistenza su wordpress 3.5 di una falla di sicurezza riguardante XML-RPC abilitato di default che potrebbe essere utilizzato anche per attacchi di tipo DOS. Soluzione? Inserire su wp-config la seguente riga: add_filter(‘xmlrpc_enabled’, ‘__return_false’);
Oppure scaricatevi questo plugin e’ fara’ tutto lui. http://wordpress.org/extend/plugins/disable-xml-rpc/
Un caso saluto a tutti, spero di avervi fatto cosa gradita.
Antonio ha detto:
Salve ragazzi, inanzi tutto grazie per il consiglio di come proteggere WP, veramente molto utile. Avrei una domanda in quanto riguarda WP, nel mio pannello di amministrazione di WP mi appare questa scritta ” Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 491520 bytes) in /web/htdocs/www.miosito.com/home/wp-includes/SimplePie/Item.php on line 1490″
Secondo voi cosa è? devo preoccuparmi o sentire il mio gestore.
Ancora grazie e complimenti Andrea per i tuoi saggi consigli.
Saluti
Antonio
Sebastian ha detto:
Nella maggioranza dei casi è un problema di memoria.
In wp-config.php prova ad inserire questa stringa:
define(’WP_MEMORY_LIMIT’, ’128M’);
Se ancora non funziona, prova ad alzare a 256M. Se ancora questa soluzione non funziona prova a contattare la hosting company; chiedi qual’è il modo migliore per settare la memoria PHP (in genere modificando php.ini nella root ftp). 😉
Antonio ha detto:
Grazie Sebastian per il tuo contributo, ho fatto come hai detto e nulla, a questo punto contattare il mio hosting. Grazie ancora e saluti a tutti
Antonio
remy ha detto:
Il mio sito è stato attaccato. Ma sono entrati direttamente creando una falla nell’hosting. Ora stanno trasferendo tutto e mi daranno a breve i nuovi server name. Temo che anche con questi accorgimenti non sarebbe cambiato nulla. Praticamente al posto del sito usciva una pagina di terroristi turchi. Ho dovuto ripristinare un backup vecchio di 4 giorni e mi hanno detto di cambiare password più complessa. Non credo sia stato quello il problema era una password di 11 caratteri maiuscoli minuscoli numeri e speciali. La mia sensazione è che se ti capita ciccia. Non capisco però l’UTILITÀ di una azione simile. Comunque farò anche queste modifiche infondo non sono troppo complesse.
max ha detto:
Ciao Andrea questa cosa non mi e’ chiara
“Rinomina tutte le voci della tabella wp_option e wp_usermeta.Nella tabella che prima si chiama wp_options cambia le voci option_name, NON i valori (option_value), che iniziano con ‘wp_’.”
Quindi dal Php myadmin si entra la tabella wp_option e ppoi si cambia ogni singola voce ok,ma che cosa bisogna scriverci myoption_name ad esempio ?
ciao grazie max
Luciano Caruso ha detto:
Ciao Andrea, ti consiglio oltre a IThemes Security che ha segnalato già Sebastian anche Wordfance che ti permette di fare uno scan del sito alla ricerca di eventuali malware. Comunque, dalla mia esperienza, posso dire che utilizzando IThemes Security il sito diventa quasi inviolabile. 😉