Aumentare la sicurezza di WordPress – I° parte

Quasi tutti i proprietari di siti web su piattaforma WordPress hanno ad un certo punto dovuto fronteggiare la situazione in cui la sicurezza del loro sito è stata compromessa. Situazioni come queste possono sicuramente essere spiacevoli. Se il tuo sito web è stato compromesso quasi certamente si è trattato di un cracker (la versione malevola dell’hacker) o comunque di un utente malintenzionato.

Per evitare questo tipo di scenario, ti raccomando vivamente di mettere in campo tutti i provvedimenti per proteggere il tuo sito. Con questo articolo ho intenzione di condividere con te i passaggi chiave per aumentare la sicurezza del tuo sito Worpress.

Nel seguito dell’articolo imparerai come aumentare il livello di sicurezza del tuo sito aggiungendo alcuni plugin, con alcune modifiche alla configurazione ed eliminando alcune operazioni di falsa sicurezza.

Per iniziare direi di effettuare una scansione del tuo sito con i più diffusi tools di security checking, come:

Quest’ultimo tool è fornito direttamente da Google, in alternativa è possibile effettuare la stessa verifica dal motore di ricerca digitando il nome del sito preceduto dall’operatore “site:” come nel seguente esempio:

site:www.nomesito.com

se in uno dei risultati riportati compare la dicitura “questo sito potrebbe essere compromesso” con molta probabilità hai ricevuto visite…

Oscurare l’accesso a file e cartelle che nessuno dovrebbe poter vedere sul tuo server

Mediante il file .htaccess che si trova nella directory principale del sito è possibile nascondere le cartelle ed i files che possono essere sfruttati dai malintenzionati per prendereil controllo del sito, i più importanti dei quali sono le directory plugins e themes, che si trovano ai percorsi:

/wp-content/plugins/

/wp-content/themes/

Comunque noi non vogliamo bloccare completamente queste cartelle perchè contengono file CSS e JS che servono a visualizzare il layout grafico.

Per bloccare le succitate cartelle, è sufficiente aggiungere al file .htaccess le seguenti direttive:

<FilesMatch ".*\.(css|js)$">;
   Order Allow,Deny
   Allow from all

Poi vai sulla homepage del tuo sito e verifica che il sito si veda normalmente. Se non si vede bene, prova a contattare l’amministratore del server.

Utilizzare tools di scansione delle vulnerabilità di WordPress

Non c’è miglior modo di difendere che mettersi dalla parte dell’attaccante! Ecco perché è sempre opportuno scansionare il proprio sito WordPress per evidenziare problemi di sicurezza. Di seguito una lista di alcuni strumenti per testare le vulnerabilità di WordPress:

  1. WPScan: è uno strumento open source per la scansione di WordPress che viene utilizzato per rilevare vulnerabilità di sicurezza nella piattaforma. WPScan può essere utilizzato per eseguire una scansione completa del sito web WordPress, compresi i temi e i plugin installati, per rilevare eventuali vulnerabilità di sicurezza. Lo strumento esegue una serie di test, inclusi attacchi brute-force ai nomi utente e alle password, la scansione di elenchi comuni di nomi utente e la ricerca di vulnerabilità note nel software WordPress. WPScan può anche essere utilizzato per eseguire una scansione delle versioni di WordPress e dei plugin installati, al fine di identificare eventuali vulnerabilità conosciute nelle versioni più vecchie. Inoltre, WPScan può anche essere utilizzato per identificare le vulnerabilità nel tema utilizzato dal sito web.
  2. Nessus: è uno strumento di sicurezza per la scansione delle vulnerabilità che consente di identificare le vulnerabilità di WordPress. Il software può essere eseguito su diverse piattaforme, tra cui Windows, Linux e macOS. È possibile specificare un elenco di plugin e temi installati nel sito web, in modo che Nessus possa eseguire una scansione più dettagliata. Durante la scansione, Nessus utilizza una serie di tecniche di scansione, tra cui l’analisi delle porte, la scansione delle vulnerabilità e la ricerca di exploit noti. Una volta completata la scansione, Nessus fornirà un report dettagliato delle vulnerabilità individuate, incluso il loro livello di rischio e le raccomandazioni per la correzione.
  3. WP Security Audit Log: è uno strumento di registrazione delle attività per WordPress che consente di tenere traccia di tutte le modifiche apportate al sito web, aiutando a individuare eventuali attacchi informatici. Inoltre, l’utilizzo di WP Security Audit Log consente di identificare i responsabili delle attività sospette e di prendere le opportune misure per prevenire ulteriori attacchi, di monitorare le modifiche apportate al sito web, come l’aggiornamento di plugin o l’aggiunta di nuovi utenti, e di identificare eventuali modifiche non autorizzate.
  4. Acunetix: è uno strumento di scansione delle vulnerabilità che può essere utilizzato per identificare le vulnerabilità di WordPress e per testare la sicurezza del sito web. Questo software utilizza un approccio automatizzato per individuare le vulnerabilità, rilevando eventuali problemi che potrebbero essere utilizzati da hacker per attaccare il sito web. Acunetix esegue una scansione completa del sito web, esaminando tutte le pagine e le risorse, inclusi i plugin, i temi e i file di configurazione. In questo modo, l’utente può identificare le vulnerabilità di WordPress, come le vulnerabilità del core di WordPress, le vulnerabilità dei plugin e dei temi, le vulnerabilità della configurazione del server, le vulnerabilità XSS, le vulnerabilità CSRF e molte altre.
  5. OpenVAS: è un tool di scansione open source che consente di identificare le vulnerabilità di sicurezza presenti nel software utilizzato, inclusi WordPress e i relativi plugin e temi. È una soluzione completa che offre una vasta gamma di funzionalità per testare la sicurezza di un sito web WordPress.
  6. WP-CLI: è uno strumento di linea di comando per WordPress che consente di effettuare operazioni di sicurezza come la rimozione di plugin non necessari o la verifica delle autorizzazioni dei file. Per approfondire questo tool segui la guida: Il tool tuttofare per WordPress: WP-CLI
  7. Sucuri SiteCheck: è uno strumento online gratuito che consente di verificare la sicurezza di un sito web, incluso un sito WordPress. SiteCheck esegue una scansione completa del sito web e fornisce un rapporto dettagliato delle vulnerabilità, dei problemi di sicurezza e delle attività sospette.
  8. Theme Authenticity Checker (TAC): è un plugin per WordPress che permette di verificare la sicurezza di un tema installato. Il plugin TAC analizza il tema alla ricerca di eventuali codici malevoli o script nascosti che potrebbero compromettere la sicurezza del sito web. TAC individua eventuali codici sospetti e li segnala con un messaggio di avviso. Se TAC segnala un problema, è consigliabile rimuovere il tema o cercare una versione aggiornata e sicura.

Questi sono solo alcuni degli strumenti disponibili per testare le vulnerabilità di WordPress. È importante notare che la sicurezza di un sito web dipende non solo dagli strumenti utilizzati, ma anche da come vengono utilizzati e da una buona pratica di sicurezza.

Nascondi la pagina di login dell’amministratore

La pagina di login è la più attraente in assoluto per i malintenzionalti. Molti crackers infatti tendono ad ottenere una via facile al sito con un attacco a forza bruta (brute force attack), ovvero tentando ripetutamente coppie di username/password nella speranza di indovinare quelle giuste.

Uno dei plugin più utili allo scopo di prevenire questo tipo di attacco spostando la posizione della form di login è Lockdown WP Admin. E’ possibile installarlo dalla repository di WordPress al seguente link:

Dopo averlo attivato è sufficiente spuntare la casella

Yes, please hide WP Admin from the user when they aren’t logged in.

poi riportare il nuovo indirizzo al quale spostare la form di login amministrativo e salvare.

wordpress-wp-lockdown-admin

 

Plugin All-in-One Device Security & Firewall

Il plugin All-in-One Device Security & Firewall permette le seguenti opzioni:

  1. Settaggio privilegi di sistema agli utenti
  2. Blocco di range di IP che non dovrebbero accedere all’amministrazione del sito
  3. Protezione della registrazione dei nuovi utenti
  4. Sicurezza del database
  5. Protezione del file system
  6. Backup e ricostruzione dell’accesso al file wp-config.php
  7. Gestione di blacklist e blocco degli utenti
  8. Firewall per bloccare robots, attacchi DOS o scansioni sospette
  9. Blocco dello spam
  10. Security scanner interno

Il plugin si trova a questo indirizzo:

wordpress.org/plugins/all-in-one-wp-security-and-firewall/

Se invece vuoi un plugin meno impegnativo ma comunque efficace e soprattutto sviluppato da un esperto di sicurezza informatica italiano, Gianni Amato, ti consiglio WP WAF, per provarlo collegati a questo link:

wordpress.org/plugins/wp-waf/

 Backup completo del sito

Eseguire regolarmente un backup del sito non è una pratica strettamente correlata alla sicurezza informatica, ma in caso di compromissione del sito disporre di una copia di backup con cui eseguire un ripristino si rivela di valore inestimabile. Inoltre confrontando i file di WordPress con la copia di backup si può risalire ai file che sono stati eventualmente modificati oppure alle modifiche sul database, così da ricostruire il comportamento dell’attaccante o del malware.

A questo scopo esistono numerosi plugin, ma io ti consiglio questo:

wordpress.org/plugins/backupwordpress/

Update automatico del sistema

Ogni giorno vengono scoperte nuove vulnerabilità che affliggono i plugin di WordPress e talvolta anche il core, perciò è molto importante mantenere il proprio sito costantemente aggiornato.

A partire dalla versione 3.7 di WordPress gli aggiornamenti automatici sono abilitati di default, perciò se possiedi una versione precedente ti consiglio di passare a una più recente.

Cambiare il prefisso delle tabelle del database

Prima di effettuare questa operazione assicurati di avere una copia aggiornata del sito oppure effettua un backup.

Cambiare il prefisso delle tabelle del database di WordPress rende la vita dei crackers più difficile (ma non impossibile) perchè dovranno individuare il giusto prefisso utilizzato.

La modifica si può effettuare da PHpMyAdmin selezionando tutte le tabelle del database e scegliendo l’opzione “Replace Table Prefix” dal menu a tendina, come nell’immagine che segue:

cambiare il prefisso delle tabelle di WordPress

e aggiungendo un nuovo prefisso.

Dopo dovrai modificare una riga del file wp_config.php nella directory principale del sito per cambiare il valore della variabile table_prefix, sostituendo quella nuova alla precedente wp_:

cambiare prefisso tabelle WordPress

Assicurati che il sito funzioni correttamente dopo la modifica.

Ci sono numerose altre strategie per aumentare la sicurezza di un sito in WordPress, ma queste sono le più efficaci perchè ti aiuteranno a mitigare i principali problemi di sicurezza di WordPress e ad assicurare lunga vita al tuo sito web.

Leggi la seconda parte della guida: 20 consigli per aumentare la sicurezza di WordPress – II° parte