Come rendere sicuro WordPress?

Come-rendere-sicuro-Wordpress

La risposta più semplice a questa domanda è aggiornamento. 

  • aggiornamento della versione di WordPress
  • aggiornamento dei plugin
  • rimozione dei plugin non utilizzati
  • plugin per gestire ed ottimizzare la sicurezza
  • conoscenza e formazione personale

Vediamo come semplificare tutto il lavoro e come rendere sicuro wordpress al meglio.

Iniziamo installando uno dei plugin migliori per la gestione della sicurezza su WordPress iThemes Security

Plugin -> Aggiungi nuovo plugin -> iThemes Security -> Attivare il plugin

Appena attivato il plugin riceverete un allert che vi avvisa su quello che di importante ce da fare, cliccate chiudendo il messaggio sulla X

Dashboard ‹ Levelzerohost   In tempo reale — WordPress1

 

E’ necessario richiedere un API key -> cliccate su Get free API key -> in automatico si viene reinirizzati qui:

inserire la propria email per attivare la protezione contro gli attacchi Brute Force

Settings ‹ Levelzerohost   In tempo reale — WordPress3

Procediamo ora per aree a configurare il plugin

Global Setting

  • flaggare -> Allow iThemes Security to write to wp-config.php and .htaccess. (diamo al plugin il permesso di scrivere nei due file)
  • inseriamo la nostra email in-> notification email  (per ricevere informazioni di sicurezza inerenti all’attività svolta dal plugin ed eventuali attacchi )
  • il resto lo lasciamo con le impostazioni di default

Salviamo il primo blocco Global Setting

 

404 Detection

Questo modulo prevede di rilevare eventuali aumenti di errori 404 generati da un utente. Rilevare che un utente in un breve periodo di tempo accede a pagine con errore 404, Potebbe essere sintomo di una scansione a cui il sito è sottoposto. Il plugin quindi tende a bloccare tale operazione.

  • flaggare -> Enable 404 detection (il pannello si aprirà, lasciamo tutto come impostato di default)

Salvare

Settings ‹ Levelzerohost   In tempo reale — WordPress4

 

Away Mode

Attivando questa modalità, si consente di aggiornare WordPress solo in alcune fasce orarie e nei giorni prestabiliti, limitando l’accesso alla DashBoard
Personalmente non ho attivato tale opzione in quanto l’accesso a wordpress per quanto mi riguarda non avviene in ore o giorni prestabiliti.
Ma sappiate che avendone necessità è un opzione attivabile

Settings ‹ Levelzerohost   In tempo reale — WordPress5

 

Banned User

Consente di attivare una lista di user agent, ip o host da bloccare.
Lascio a vostra discrezione il settaggio di questo modulo.

Settings ‹ Levelzerohost   In tempo reale — WordPress6

 

Brute force Protection

Questa opzione è stata attivata nel momento in cui abbiamo generato API key. Abbiamo anche la possibilità di aggiungere un ulteriore modalità di protezione

  • flaggare -> Enable local brute force protection (si apriranno ulteriori opzioni)
  • lasciamo di default le impostazioni fornite.

Come è facile intuire dalla descrizione delle opzioni, il plugin bloccherà tutti gli accessi anomali che operano con tentativi di login errato o login errati ripetuti o addirittura con username “admin”

Salviamo

Settings ‹ Levelzerohost   In tempo reale — WordPress7

 

Database backup

  • flaggare -> Backup Full Database (per effettuare il backup di tutte le tabelle di MySql non solo quelle di wordpress)
  • selezionare -> Save Locally Only (per salvare il database nel path suggerito, direttamente sul vostro host )
  • flaggare -> Enable Scheduled Database Backups (scedulare ed inserire i numero di giorni da salvare come backup del MySql)

Salviamo

Settings ‹ Levelzerohost   In tempo reale — WordPress8

Settings ‹ Levelzerohost   In tempo reale — WordPress9

File Change Detection

Abilitando questo modulo il plugin rileva cambiamenti nella struttura dei file di wordpress. Io personalmente non l’ho attivato, perchè spesso mi capita di caricare nell’host e nella struttura di wordpress altri file non propriamente del CMS. La scelta di abilitare o meno questo modulo ricade sul tipo di utilizzo che fate di wordpress e dei file al suo interno

Settings ‹ Levelzerohost   In tempo reale — WordPress10

 

Hide login area – hide backend

Questo modulo permette di cambiare il path classico per l’accesso al back-end di wordpres per prevenire attacchi mirati.

  • flaggare -> Enable the hide backend feature. (si apriranno altre opzioni)
  • scegliere il nuovo nome per l’accesso Login Slug di default propone wplogin ma è possibile inserire altro
  • lasciare le altre opzioni di default così come impostate

Salviamo

Dopo aver attivato il nuovo path per l’accesso è necessario prestare attenzione al fuzionamento del backend in quanto potrebbero essereci problemi di errori su temi proprietari. Nel caso sarà necessario ripristinare wp-admin

Dopo aver salvato il link per loggarvi diventerà http://www.vostrosito.com/quello-che-avete-messo

Settings ‹ Levelzerohost   In tempo reale — WordPress11

 

Malware scanning – Enable Malware Scanning

  • flaggare -> Enable malware scanning.  (si apriranno altre impostazioni)
  • è richiesto API Key di Virustotal (Seguite questa guida di Virustotal per ottenere l’API key è molto semplice)
  • dopo aver ottenuto l’API key inserirlo

Salvare

Settings ‹ Levelzerohost   In tempo reale — WordPress12

 

Secure socket layers (SSL)

Da utilizzare e settare se avete sul vostro server la crittografia SSL attiva

Strong password

Attivando questa opzione si forzano gli utenti ad utilizzare una password complessa. Questa opzioni è attivabile in base alle vostre esigenze. Al tipo di sito web, al tipo di utenti registrati ecc.

 

System Tweaks

Si tratta di impostazioni avanzate che possono essere utilizzate per rafforzare ulteriormente la sicurezza del vostro sito WordPress.

  • flaggare -> System Files (Impedire l’accesso del pubblico ai README.html, readme.txt, wp-config.php, install.php, wp-includes e .htaccess. Questi file possono dare informazioni importanti sul tuo sito e non sono di alcuna utilità al pubblico una volta che WordPress è stato installato correttamente.)
  • flaggare -> Directory Browsing  (Impedisce agli utenti di vedere un elenco di file in una directory in cui nessun file index è presente.)
  • flaggare -> Suspicious Query Strings (Questi sono molto spesso segni del fatto che  qualcuno cerca di ottenere l’accesso al sito, ma alcuni plugin e temi possono essere bloccati.)
  • flaggare -> File Writing Permissions (Impedisce script e agli utenti di essere in grado di scrivere il file wp-config.php e file .htaccess. )
  • flaggare -> Uploads (Disattiva esecuzione PHP nella directory upload. Questo consentirà di evitare il caricamento di script dannosi per upload.)

Lascio le altre opzioni a vostra discrezione

Salvare

 

WordPress Tweaks

  • flaggare -> Generator Meta Tag (Rimuove il <meta name = “generator” content = “WordPress [versione]” /> meta tag dall’ intestazione. Questo processo nasconde informazioni sulla versione di un potenziale aggressore che rende più difficile determinare le vulnerabilità..)
  • flaggare -> Comment Spam  (Questa opzione riduce lo spam nei commenti negando commenti dal bots senza referrer o senza un user-agent identificato.)
  • flaggare -> Display Random Version (Verrà visualizzata una versione WordPress casuale e rimuoverà completamente la versione di WordPress, se possibile)
  • flaggare -> File Editor (Impedisce script e agli utenti di essere in grado di scrivere il file wp-config.php e file .htaccess. )
  • flaggare -> Login Error Messages (Impedisce che vengano visualizzati i messaggi di errore su un tentativo di accesso non riuscito.)

 

Lascio le altre opzioni a vostra discrezione

Salvare

 

Dopo aver finito di settare le diverse impostazioni del plugin accediamo alla Dasboard

Security -> Dasboard

Il plugin ci mostrerà lo stato delle opzioni che abbiamo settato secondo delle priorità High – Medium – Low

ovviamente sono tutte quelle opzioni che non abbiamo settato e che per necessità deciderete se farlo o meno.

 

Attenzione!!! ricordate quando farete nuovamente il login che l’indirizzo per accedere al back-end è stato cambiato da /wp-admin a /quello-che-avete-messo

 

Vi invito inoltre  a testare Wordfence Security e Sucuri Security entrambe gestioscono in maniera mirata la protezione di WordPress.

Wordfence Security è anche in grado di esaminare e bloccare eventuali file di immagini contenenti script malevoli così come accaduto in questa settimana con “CryptoPHP backdoor.”  Che è stato diffuso rapidamente attraverso plugin o temi nulled. Utilizzato probabilmente per fare Black Hat Seo si è diffuso attraverso un file imagine social.png (contenuto all’interno dei plugin o temi nulled) contenente uno script malevolo.
Per approfondire:

  • http://thehackernews.com/2014/11/cryptophp-backdoored-cms-plugins-themes.html
  • https://foxitsecurity.files.wordpress.com/2014/11/cryptophp-whitepaper-foxsrt-v4.pdf