Come rendere sicuro WordPress in 15 passaggi

In un altro articolo abbiamo parlato di come velocizzare WordPress. Oggi invece parliamo di sicurezza. E’ normale che WordPress, visto l’ampio utiizzo, sia tra i più attaccati del panorama CMS. Per questo motivo ho deciso di scrivere questa breve guida per spiegare Come rendere sicuro WordPress in 15 semplici passaggi, che vi daranno qualche protezione in più. Il vostro sito forse non sarà sicuro al 100% (nessuno lo è non lo sarà mai), ma sarà sicuramente più difficile da attaccare.

Indice dei contenuti

Tempo richiesto: 2 ore

Rendere sicuro WordPress in 15 semplici passaggi. Un paio d’ore di lavoro per stare un po più al sicuro e con qualche pensiero in meno.

  1. Mantieni il software WordPress e i plugin sempre aggiornati.

    Mantenere il tuo WordPress costantemente aggiornato è fondamentale per assicurare la sicurezza e la stabilità del tuo sito.

  2. Utilizza una password sicura e l’autenticazione a due fattori.

    Evita password banali e integra l’autenticazione con Sistemi di autenticazione a 2 fattori come Google Authenticator. Vediamo Come si fa.

  3. Evita di utilizzare plugin non supportati o non mantenuti

    Cancella i plugin non aggiornati da oltre 6 mesi e sostituiscili con alternative valide.

  4. Effettua regolarmente backup del tuo sito

    Cera un backup del database e dei dati almeno ogni volta che pubblichi un a articolo.

  5. Utilizzare un certificato SSL per crittografare le comunicazioni tra il sito e gli utenti

    I siti in HTTP non sono sicuri, questo è chiaro. E non sono ben visti neanche da Google che li penalizza in termini di SEO. Usa un certificato SSL per erogare contenuti in HTTPS.

  6. Configura correttamente la configurazione del firewall e delle regole di sicurezza del tuo hosting

    Blocca gli accessi a servizi non utilizzati come Telnet o FTP. Permetti soltanto l’accesso ai servizi indispensabili come HTTP, HTTPS e SSH.

  7. Configura le direttive Content Security Policy

    Scegli tu quali contenuti esterni possono essere caricati sul tuo sito tramite le direttive Content Security Policy. Vediamo nei dettagli come fare.

  8. Utilizzare plugin anti-spam per prevenire l’invio di commenti spam sul tuo sito

    Blocca lo spam dei commenti grazie a un plugin dedicato. Approfondiamo.

  9. Monitora regolarmente l’attività del tuo sito e analizza i log di sicurezza

    Controlla i logs di sistema e i logs del webserver per capire se sono in corso attività anomale.

  10. Utilizza il captcha nella form di login

    Il brute force attack sulla pagina di login è uno degli attacchi più comuni subiti da WordPress. L’implementazione di un captcha può aiutare a bloccare i bot.

  11. Cambia nome all’utente admin

    Cambia nome ad admin. Utilizza un nome casuale del tipo admin87y976f75r564e

  12. Proteggi l’accesso alla pagina wp-login-php con la Basic Authentication

    wp-admin e wp-login sono i path più attacchi, Proteggili con un’apposita direttiva di Basic authentication.

  13. Nega l’accesso ai file sensibili

    Alcuni files richiedono più protezione di altri. Con alcune direttive inserite nel file .htaccess, puoi proteggere questi files. Vediamo come fare con un esempio.

  14. Utilizza un WAF (Web Application Firewall)

    Il WAF è uno dei modi migliori per proteggere un sito web. Approfondiamo.

  15. Utilizza un plugin di sicurezza come iThemes Security o Wordfence.

    Alcuni plugin, anche gratuiti, possono proteggerti da molti tipi di attacchi.

Let’ go !

Come rendere sicuro WordPress – 15 consigli utili

Vediamo passo passo, cosa fare per provare a rendere la vita difficile

Mantieni il software WordPress e i plugin sempre aggiornati.

Mantenere il tuo WordPress costantemente aggiornato è fondamentale per assicurare la sicurezza e la stabilità del tuo sito.

Come è noto, ogni volta che viene segnalata una vulnerabilità di sicurezza di WordPress, il core team inizia a lavorare per rilasciare un aggiornamento che risolva il problema. Se non stai aggiornando il tuo sito Web WordPress, è probabile che tu stia utilizzando una versione di WordPress con vulnerabilità note; che, come è immaginabile, gli attaccanti cercheranno di sfruttare quanto prima.

Utilizza una password sicura e l’autenticazione a due fattori.

Inutile dire che password123 non è una password sicura. Io personalmente non conosco la password per accedere alla console. Uso un password manager e la mia password è lunghissima, piana di caratteri speciali, maiuscole, minuscole e numeri. Di conseguenza, non potrei dirla neanche sotto tortura 🙂 .

Un ulteriore step di sicurezza è l’integrazione nella pagina di login di un sistema di autenticazione a 2 fattori per WordPress. Ce ne sono diversi, scegliete voi quello che vi da più fiducia.

Per rendere sicuro WordPress evita di utilizzare plugin non supportati o non mantenuti.

I vecchi plugins, quelli non più manutenuti, o addirittura eliminati tra quelli disponibili sono i più soggetti alle vulnerabilità. Controlla periodicamente se i plugin che stai utilizzando sono soggetti ad aggiornamento. Qualora non lo fossero, eliminali e sostituiscili con altri più recenti e aggiornati.

Effettua regolarmente backup del tuo sito

Sappiamo bene che il backup non è certamente una misura preventiva di sicurezza, ma può aiutarci a recuperare quanto perso dopo un attacco. Io uso una modalità automatica di backup, ma ne eseguo anche uno manuale dopo la pubblicazione di ogni articolo.

Se non vuoi/puoi configurare degli script di backup per tuo conto, magai percgù non hai accesso al tuo server, puoi usare gli appositi plugin di backup messi a disposizione nel repository di WordPress.

Utilizzare un certificato SSL per crittografare le comunicazioni tra il sito e gli utenti.

Quando navigando trovo ancora siti che NON usano connessioni sicure, criptate, protette in HTTPS, resto basito. Avere un servizio https ormai è la base. Google oggi non prende neanche in considerazione siti che non offrono un servizio in HTTPS.

Il modo più semplice per integrare l’HTTPS è senza dubbio Lets Encrypt, ovvero un sistema che offre certificati digitali in modo completamente gratuito. L’unica pecca è che i loro certificati scadono ogni 3 mesi. Pertanto dovrete porre attenzione alle scadenze, per evitare di trovarvi con un certificato non valido e brutte schermate di allarme vostro i vostri visitatori.

Ecco una breve presentazione, direttamente dalle loro parole:

Let’s Encrypt è un’autorità di certificazione (CA) libera, automatizzata e gratuita, gestita per il bene pubblico. Si tratta di un servizio fornito dal Gruppo di Ricerca della Sicurezza di Internet (ISRG).

Forniamo alle persone i certificati digitali necessari per abilitare HTTPS (SSL/TLS) per i siti web, gratis, nel modo più semplice possibile per l’utente. Lo facciamo perché vogliamo creare un Web più sicuro e rispettoso della privacy.

Nelle prossime settimane scriverò un articolo dei dicato a Lets Encrypt.

Configura correttamente la configurazione del firewall e delle regole di sicurezza del tuo hosting

Tutto dipende dall’hosting che state utilizzando. Se avete un servizio managed, con WordPress pre.installato, probabilmente non dovrete preoccuparvi di smanettare con Firewall, servizi e processi da proteggere.

Ma se invece avete un server, fisico o virtuale che sia, del quale avete la completa gestione, allora dovrete stare attenti a un po di cose. Prima di tutto, limitatevi a tenere accessi i soli servizi indispensabili. Spegnete Telnet e FTP e limitatevi a SSH. Se possibile, bloccate l’accesso con username e password, e permettete la solo login tramite lo scambio di chiavi.

Invece, per quanto riguarda i servizi HTTP/S, accettate l’ingresso del traffico HTTP, ridirigendolo però verso l’equivalente contenuto ma erogato in HTTPS. C’è un apposito articolo su questo blog che può aiutarti a ridirigere il traffico HTTP verso l’HTTPS.

Configura le direttive Content Security Policy per rendere sicuro WordPress

Grazie alle Content Security Policy, puoi decidere liberamente quali contenuti esterni, come fonts, javascript o immagini, possono essere caricati nella tua pagina. A riguardo, ti consiglio di leggere una guida dettagliata sulle Content Security Policy, scritta proprio pochi giorni fa.

Utilizzare plugin anti-spam per prevenire l’invio di commenti spam sul tuo sito.

Se utilizzate i commenti nei vostri post, e se iniziate a diventare bersaglio di spammer, allora quello che vi consiglio, è di utilizzare un plugin che analizza i contenuti dei commenti e li blocca nel caso in cui venissero categorizzati come spam. Il plugin più famoso si chiama Akismet. Devo darmi un’informazione a riguardo. Il plugin è gratuito solo per scopi personali. Se quindi avete pubblicità, o latri sistemi di monetizzazione, dovrete acquistare una licenza. Fatemi sapere nei commenti se ne trovate altri adeguati.

Chiaramente, se non vi interessano i commenti, allora è meglio disabilitarli.

Monitora regolarmente l’attività del tuo sito e analizza i log di sicurezza.

Controllare giornalmente i logs di sistema e i logs del webserver è un’attività indispensabile. Solitamente puoi trovare tentativi di accesso in SSH alla macchina, magari con meccanismi di brute force attack. Mentre nei logs del webserver, saltano subito agli occhi insistenti tentativi di accesso alla pagina di login.

Questo motiroarrio p un sistema passivo di protezione, ma può aiutarti a capire se necessiti di migliorare le forme attive di protezione. Leggi il nostro articolo dedicato all’implementazione di un Web Appahahhalication Firewall.

Utilizza il captcha nella form di login

La pagina di login (wp-login.php) di WordPress è senza dubbio una delle più soggette ai tentativi di attacco, sopratutto tramite brute force attack. Il sistema più semplice per bloccare i tot è senza dubbio il captcha, che tutti conosciamo. Esistono diversi plugin che si occupano di captcha. Utilizza questo che ti ispira più fiducia.

Cambia nome all’utente admin

Quando gli attaccanti tentano un brute force attack verso il vostro sito, lo faranno sicuramente testando l’utente admin, che è l’utente di default di amministrazione. Cambiare nome all’utente admin, ci aiuterà ad aggirare questi attacchi visto che che , a prescindere dal volume dell’attacco, non esistendo admin, riceveranno sempre errore :). Semplice ma efficace.

Proteggi l’accesso alla pagina wp-login-php con la Basic Authentication

Un’ulteriore livello di protezione per rendere sicuro WordPress è quello di proteggere con una password aggiuntiva la cartella wp-admin. Per farlo ti basterà seguire il nostro tutorial dedicato alla protezione di una cartella con Basic authentication. Questo metodo di protezione ti chiederà un’ulteriore username e password, diverse da quelle native di WordPress.

Nega l’accesso ai file sensibili per rendere sicuro WordPress

L’installazione di WordPress contiene diversi file altamente sensibili come:

  • Il file di configurazione (wp-config.php)
  • Il file .htaccess
  • File di registro degli errori

Con poche righe di codice aggiunte al nostro file di configurazione di apache, oppure direttamente nel file .htaccess, possiamo proteggere questi files. Ecco un esempio:

 <FilesMatch "^.*(error_log|wp-config\.php|php.ini|\.[hH][tT][aApP].*)$">
    Order deny,allow Deny from all 
</FilesMatch> 

Solitamente queste protezioni sono native in molti servizi di hosting, ma aggiungere queste due righe di configurazione non ci costa nulla e può aiutarci qualora non abbiamo la certezza che il nostro hosting o il nostro server abbiano implementata di default questa funzionalità.

Rendere sicuro WordPress con un WAF (Web Application Firewall)

Il WAF, acronimo di Web Application Firewall, è un firewall che lavora a livello applicativo, ovvero a livello 7 della pila ISO/OSI. Protegge da attacchi DDoS, XSS e molto altro. Leggi l’articolo dedicato al WAF per approfondire l’argomento.

Utilizza un plugin di sicurezza come iThemes Security o Wordfence.

Io personalmente preferisco utilizzare un WAF, che, se configurato in SaaS, provvede anche a nascondere e quindi a proteggere l’IP reale del tuo server. Se però non hai modo di integrare un WAF, per mancato accesso al DNS o impossibilità di istallare software sulla tua macchina, allora puoi fare riferimento a un paio di plugins che offrono servizi gratuiti:

Lascio a voi gli approfondimenti. Vi anticipo comunque che molte funzionalità sono gratuite, ma se si vuole l’accesso completo a tutti i servizi offerti, viene richiesto un abbonamento, di pochi euro mensili.

Come rendere sicuro WordPress? Contributo Video

Come di consueto, per dare più informazioni e migliorare le informazioni offerte ai visitatori, aggiungo sempre un video ai miei post. Ecco il video di oggi:

WordPress Security – How to Secure & Protect Your WordPress Sites

Sicurezza WordPress – Conclusioni

Rendere sicuro WordPress è un lavoro complesso e gli argomenti trattati sono tanti; alcuni anche complessi per chi non ha molta dimestichezza con la websecurity. Altro scoglio da superare in molte circostanze è quello dei costi. A riguardo vi ricordo che ho scritto un articolo dedicato a come proteggere un sito web senza spendere soldi.

La maggior parte delle opzioni proposte sono comunque accessibili ai non addetti ai lavori.

Se avete dei dubbi o se volete aiuto per completare una delle configurazioni elencati, scrivete nei commenti e cercherò di aiutarvi.

Buona lettura.

Se volete restare aggiornati, vi lascio anche il link della mia newsletter di LinkedIn.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *