Ergonet.it Corporate Blog

WordPress: Installazione e sicurezza

Questo primo post è dedicato all’ installazione avanzata, con un occhio particolare alla sicurezza, della famosissima piattaforma open source WordPress. Essendo questo un progetto open source, spesso l’installazione guidata non basta per rendere  sicuro il nostro sito.  Dovremmo essere coscienti che i famosi 5 minutidedicati all’installazione non bastano per essere sicuri di aver fatto il necessario perché il ns. sito sia “unico” anche nel codice.

Chi utilizza filezilla dovrebbe sapere che è un ottimo ftp ma salva le password in chiaro. Un potenziale malware installato nel nostro computer sarebbe in grado quindi di prelevarle ed inviarle al malintenzionato.

 

Passi per aumentare la sicurezza:

  1. Cancellare l’utente admin di base
  2. Usare password lunghe alfanumeriche di almeno 8 caratteri alfanumerici
  3. Cambiare il prefisso delle tabelle durante l’installazione
  4. Esistono delle secret key da personalizzzare nel file wp-config.php
  5. Creare un file robots.txt apposito e personalizzato
  6. Limitare l’accesso ad alcune dir tramite il file .htaccess
  7. Cancellare tutti i file inutili presenti nell’installazione 
  8. Impedire la visualizzazione della versione di WordPress utilizzata
  9. Particolare attenzione ai temi utilizzati
  10. Tenere sempre aggiornata la vostra versione di WordPress

 

Cancellare l’utente admin di base

E’ buona pratica non tenere mai attivo l’utente admin di base proposto durante la procedura di installazione.
Per gli utenti meno esperti possiamo formulare questa breve guida:
Procedere con l’installazione guidata e attivare l’utente admin fino al completamento.
Accedere al back-end con i dati inseriti in fase di installazione e creare un nuovo utente con le autorizzazioni da amministratore (User e password non ovvie sono obbligatorie).
Scollegarsi dall’utente admin di base, effettuare un nuovo accesso con user e password appena create, tornare nel pannello utenti, cercare l’utente admin di base e cancellare l’account.
Gli utenti più avanzati potranno procedere con la cancellazione dell’utente admin di base e la creazione di un nuovo utente amministratore direttamente da db, tenendo presente che la password deve essere impostata con criptazione MD5.

 

Usare password lunghe alfanumeriche di almeno 8 caratteri alfanumerici

Un esempio di password potrebbe essere drWiPKHooZ65, Questo tipo di password è sicuramente complessa da ricordare e da inserire ad ogni accesso ma rende più sicuro il nostro account di amministratore.

Esistono in rete molti generatori di password complesse casuali nell’eventualità incontraste difficoltà nella scelta.

 

Cambiare il prefisso delle tabelle durante l’installazione

Durante la fase di installazione guidata, WordPress aggiunge un prefisso standard alle tabelle che sta creando. Il prefisso wp_ è conosciuto da tutti ed è buona regola cambiarlo e personalizzarlo (il prefissso dovrebbe essere conosciuto solo da chi sviluppa e gestisce il sito).
Possiamo cambiarlo a nostro piacimento sia in questa fase preliminare che in quella successiva da db.
Dobbiamo però considerare che dovremmo procedere alla sostituzione anche nel file wp-config.php

 

Secret key personalizzate

Sono “chiavi univoche di autenticazione e salatura“ potete trovarle nel file wp-config.php.
define(‘AUTH_KEY’, ‘O_:2|/[4^xgM]DJ.@@_P,k|HPh,T&R$f8)TW&~8H_sA5hLHQmi6!&+;=TJn8|r6j’);
define(‘SECURE_AUTH_KEY’, ‘s|LP.yQ-N0N8w23LX`{,ac /R1cWZYOy>._5|M2U@%pE-3|^(5zTXVj;;)T`&Z.$’);
define(‘LOGGED_IN_KEY’, ‘b1Pf5F~c@]7V*yI^29o;^]=491(QT^Z4K+eTZ-iv(P&het .Q?s%&7]9lsM =>iH’);
define(‘NONCE_KEY’, ‘*rvyGfx&kA%UJ;}$OHi-y-3lIRgf_p`O62U.n+(~axhu0A%LVmWZY-pBQj5&KK&H’);
define(‘AUTH_SALT’, ‘@~u|w>Kh7$G/woV5fSra:c~b=25?W2aGuL]x+no+Lk5J>(`y@r>2^Q74+8tEbRd?’);
define(‘SECURE_AUTH_SALT’, ‘j?[792[c6=}b*VYgH[_MAfW|t!L#V<GD|oJ0|6@|qMFSx<R/v}cUUa4wBD#=C`di’);
define(‘LOGGED_IN_SALT’, ‘M#]q8i.Y)RLu@)dW+gs?<`.g9SH,Tae&-S$@~1!o$pS~N#q5fto!_J0-G7-!atya’);
define(‘NONCE_SALT’, ‘Hp]FR/P=lu0q*[@97AtWJ36(09_+d,`/r-~BQ@dJ<[mK-T(ojv-,0VH=37hS=m+,’);

Le chiavi si possono ottenere collegandosi al relativo servizio di WordPress che genera, ad ogni collegamento, queste speciali stringhe di codice da incollare nelle rispettive righe.

Si tratta di un’operazione semplice che permette di annullare la validità dei cookies costringendo di conseguenza tutti gli utenti a reinserire i propri dati di accesso al successivo collegamento al sito.

 

Approfondimenti:

http://codex.wordpress.org/WordPress.org_API
http://www.wordpress-it.it/tag/secret-key/

 

Creazione di un file robots.txt personalizzato:

E’ importante per garantire una buona indicizzazione di un Blog e prevenire penalizzazioni a causa di contenuti duplicati.
Basteranno poche righe di codice per ottenere un buon file robots.

User-agent: *

Disallow: /wp-
Disallow: /cgi-bin/
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/

Allow: /wp-content/uploads/

Disallow: /trackback/
Disallow: /feed/
Disallow: /comments/
Disallow: */trackback/
Disallow: */feed/
Disallow: */comments/

Disallow: /*?*
Disallow: /*?

Disallow: /tag/
Disallow: /category/

 

Accesso limitato tramite il file .htaccess

Se nella vostra installazione non esiste un file di questo tipo .htaccess
vi basterà crearlo con un semplice editor di testo.
Se avete personalizzato i permalink (se non avete familiarità con i permalink e avete bisogno di approfondimenti potete consultare le info a questo indirizzo http://codex.wordpress.org/Using_Permalinks) lo troverete sicuramente.

Questo è solo un esempio di quelle regole che potremmo impostare tramite il file .htaccess

order allow,deny
deny from all

Il codice sopra descritto impedisce l’accesso e la modifica al file wp-config.php
è solo un esempio molto valido per impedire operazioni sul file di configurazione del nostro sito.

 

Cancellazione di tutti i file inutili

Nella root di WordPress troviamo:
LEGGIMI.txt
LICENSE.txt
readme.html
wp-config-sample.php

In wp-admin
install.php
install-helper.php

Cancelliamo dalla nostra installazione tutti i file elencati.

Per chiarezza potrei aggiungere il file
wp-config-sample.php

che ci servirà solo per l’installazione di base.
Appena conclusa l’installazione verrà creato un file wp-config.php contenenente tutti i nostri dati. Possiamo quindi procedere alla cancellazione del file wp-config-sample.php essendo esso un file temporaneo.
I seguenti file install.php e install-helper.php, ci serviranno solo per far avviare l’istallazione guidata, non sono quindi necessari per il sito in produzione.

 

Disabilitare la versione di WordPress utilizzata:

E’ noto che possiamo semplicemente verificare la versione utilizzata di WordPress accedendo alla visualizzazione del codice.
E’ opportuno rimuoverla anche dai feed.

Vi basterà aprire il file function.php del vostro tema ed aggiungere la seguete stringa
//Rimuove solo la versione WP
function remove_wp_version() { return ”; }
add_filter(‘the_generator’, ‘remove_wp_version’);

//Rimuove la versione WP dai feed

function remove_feed_generator() {
return ”;
}
add_filter(‘the_generator’, ‘remove_feed_generator’);

 

Porre attenzione ai temi utilizzati

Scegliete sempre temi da siti autorevoli, questo è il miglior consiglio che posso offrirvi.
Acquistate template da siti predisposti oppure, nel caso di scelta di tema gratuito, scaricatelo sempre e solo da http://wordpress.org/extend/themes/
Per chi invece vuole, ed è in grado, può sempre studiare e imparare a modificare il tema di base fornito con la propria installazione. Particolare attenzione va dedicata all’utilizzo di temi di non sicura provenienza in quanto potrebbe essere stato incluso nel tema del codice malevolo.
L’ultimo consiglio è di tenere sempre aggiornata la vostra versione di WordPress.
Massimiliano Raggi http://blog.massimilianoraggi.com

Ultimi articoli

Ultimi twitter

Ergonet sarà Gold Sponsor del JoomlaDay 2017 il prossimo 14 ottobre a Milano. L'evento è gratuito. joomladay.it pic.twitter.com/eKWRjjTEvX

Circa 3 settimane fa dal Twitter di Ergonet via Twitter Web Client · Risposta · Retweet · Preferiti