WordPress – Aumentare la Sicurezza 1

Esistono già molti articoli riguardante questo tema, ovvero in che modo mettere al sicuro la propria installazione di WordPress da eventuali attacchi.
Con un pò dell’esperienza che ho con questo CMS e con alcune ricerche sul Web, vi riporto qui delle buone pratiche e plugin che possono esservi d’aiuto, restringendo il campo a ciò che è più utile.

Alcuni consigli sono applicabili praticamente tramite i plugin che saranno scritti a fine articolo.

Buone Pratiche

Al momento dell’installazione, evitiamo di usare come prefisso per le tabelle il classico wp_ ma di usarne un altro. In questo modo sarà più difficile portare a termine un eventuale attacco di tipo SQL Injection.
È anche possibile modificarlo dopo l’installazione.

Quella che ormai tutti conosciamo ma che spesso ignoriamo e quella di usare password complesse per il login da admin.
Per complesse intendo alfanumeriche e con caratteri maiuscoli, ed almeno di 10 caratteri.
Evitiamo anche di usare parole semplici o date pubbliche come quella di nascita.
Meglio se è una cosa no-sense, del tipo “abbRacuLA109″.

Il massimo sarebbe generare una password casualmente, usando servizi come http://strongpasswordgenerator.com/

Eliminiamo l’account admin, o anche, nel caso in cui il nome di login di default sia “admin”, cambiamolo.

Cancellare file inutili come il readme.html, che contiene anche la versione di WordPress utilizzata (questo lo vedremo anche dopo), e il file wp-admin/install.php, ovviamente dopo averlo installato.

Usare temi e plugin ufficiali, ovvero presi dal sito ufficiale di WordPress, in modo da non usarne altri che potrebbero contenere codice malevolo.

Aggiorniamo ogni qual volta ci viene riportato un’aggiornamento, sia del core di WordPress, sia dei suoi plugin, e teniamoci informati sulle sue vulnerabilità attraverso siti come exploit-db.com.

Create il file robots.txt e inseriteci il seguente codice

User-agent: *
Disallow: /wp-

in modo da forzare i crawler a non indicizzare i contenuti nelle cartelle di WordPress.

Rimuovere il login admin dalla semplice URL wp-login.php ma scegliere un’altra URL per loggare (del tipo /loginhere). Meglio se ci mettiamo anche un’autenticazione HTTP (ovviamente leviamo il widget dove viene mostrato il link al login admin).

Non mostrare errori nel login che potrebbero mostrare informazioni utili, e limitare il numero di login errati possibili così da evitare attacci brute force.

Rimuovere la versione di WordPress da qualsiasi cosa la mostri.
Può sembrare una contraddizione, visto che se dobbiamo tenerlo sempre aggiornato è ovvio che abbiamo l’ultima versione, ma è sempre meglio lasciare meno informazioni possibili.

Cambiare la directory wp-content usata da alcuni scanner per prendere informazioni ad esempio sui plugin installati.

Disabilitare XMLRPC se non lo si usa, in quanto soggetto a diverse vulnerabilità.
Questo è possibile farlo inserendo un codice del genere nel file .htaccess

# protect xmlrpc
<Files xmlrpc.php>
	Order Deny,Allow
	Deny from all
</Files>

Impostiamo l’.htaccess per proteggere file come wp-config.php e altre directory importanti.

Plugin

Di seguito i plugin che vi aiuteranno a configurare le impostazioni di sicurezza.
Negli spoiler troverete le caratteristiche di ognuno di essi.

Il primo è Better WP Security, con il quale possiamo fare un check-up del blog e usare alcune funzioni come il BAN per IP, configurare l’htaccess, nascondere la versione installata, e tante altre.

Better WP Security Caratteristiche SelectShow>

Il secondo è Wordfence Security, che funziona come una specie di firewall in versione live o tramite uno scanner, con qualche funzione in più del primo, come quella che controlla i files del core alla ricerca di incongruenze con il codice originale.

Wordefence Caratteristiche SelectShow>

L’ultimo è Lockdown WP Admin che in realtà svolge caratteristiche che in parte fanno anche i primi, ovvero cambiare l’URL di login wp-login.php con una a nostra scelta, e aggiunge la possibilità di usare anche un’autenticazione http.

Lockdown WP Admin Caratteristiche SelectShow>

Ed in fine uno scanner molto utile scritto in Ruby, WPScan, che scannerizza il nostro blog e ci da in output informazioni ed eventuali vulnerabilità sui plugin o su altro.

Per qualsiasi domanda o suggerimenti commentate :D

Studente e programmatore, interessato alla sicurezza informatica.
Uso sistemi GNU/Linux, nello specifico Debian.