Come rendere sicuro WordPress?
Contenuti
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
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
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
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
Banned User
Consente di attivare una lista di user agent, ip o host da bloccare.
Lascio a vostra discrezione il settaggio di questo modulo.
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
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
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
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
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
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