Quando si tratta della sicurezza di WordPress, ci sono molte cose che potete fare per chiudere a chiave il vostro sito per impedire che hacker e vulnerabilità possano compromettere il vostro ecommerce o il vostro blog. L’ultima cosa che vorreste che succedesse è svegliarvi una mattina per scoprire il vostro sito in rovina. Quindi oggi condivideremo con voi molti consigli, strategie e tecniche che potete utilizzare per migliorare la sicurezza di WordPress e rimanere protetti.

Se siete clienti di Kinsta, non dovete preoccuparvi di molte delle cose che spiegheremo oggi, poiché da Kinsta offriamo diverse soluzioni gratuite! Ma anche con questa garanzia, dovreste sempre seguire le migliori prassi di sicurezza.

WordPress è Sicuro?

La prima domanda che probabilmente vi state facendo è questa: WordPress è sicuro? Nella maggior parte dei casi, sì. Tuttavia, WordPress spesso ha fama di essere vulnerabile sotto l’aspetto della sicurezza e di non essere intrinsecamente è una piattaforma sicura per l’utilizzo aziendale. Ma il più delle volte questo è dovuto al fatto che gli utenti seguono quelle che si sono dimostrate le peggiori pratiche per quello che riguarda la sicurezza.

Sono l’utilizzo di software WordPress obsoleto e di plugin annullati, un sistema di amministrazione scadente, la cattiva gestione delle credenziali e la mancanza delle necessarie conoscenze sul Web e sulla sicurezza tra gli utenti non tecnici di WordPress a dare agli hacker il controllo del loro gioco cyber-criminale. Persino i leader del settore non seguono sempre le migliori pratiche. Reuters è stato violato perché utilizzava una versione obsoleta di WordPress.

Fondamentalmente, la sicurezza non consiste nell’avere sistemi perfettamente sicuri. Una cosa del genere potrebbe essere poco pratica, o impossibile da raggiungere e/o mantenere nel tempo. La sicurezza è la riduzione del rischio, non l’eliminazione del rischio. Si tratta di utilizzare tutti i controlli appropriati a vostra disposizione, entro limiti ragionevoli, che vi consentono di migliorare la vostra esposizione generale, riducendo le probabilità di rendervi un bersaglio, e quindi di essere hackerati. – WordPress Security Codex

Questo non vuol dire che le vulnerabilità non esistano. Secondo uno studio del terzo trimestre del 2017 di Sucuri, un’azienda specializzata nella sicurezza multipiattaforma, WordPress continua a guidare la classifica dei siti web infetti su cui ha lavorato (al 83%). Si partiva dal 74% del 2016.

Vulnerabilità della sicurezza di WordPress
Vulnerabilità della sicurezza di WordPress

WordPress alimenta oltre il 43.6% di tutti i siti web su Internet e, con centinaia di migliaia di combinazioni di temi e plugin, non sorprende che le vulnerabilità esistano e ne vengano costantemente scoperte di nuove. Tuttavia, c’è anche una grande community intorno alla piattaforma di WordPress, per garantire che queste vulnerabilità vengano risolte in modo tempestivo. Nel 2024, il team di sicurezza di WordPress è composto da circa 50 esperti (dai 25 del 2017), tra cui responsabili dello sviluppo e ricercatori sulla sicurezza – circa la metà di essi lavorano da Automattic e molti di loro sono impegnati nel campo della sicurezza web.

Le Vulnerabilità di WordPress

Ecco alcuni dei vari tipi di vulnerabilità di WordPress.

Backdoor

Giustamente comosciuta come backdoor, questa vulnerabilità offre agli hacker passaggi nascosti che bypassano la crittografia di sicurezza per accedere ai siti WordPress tramite metodi anormali: wp-admin, SFTP, FTP e così via. Una volta che sono state scoperte, le backdoor consentono agli hacker di devastare i server di hosting con attacchi di contaminazione cross-site – compromettendo più siti ospitati sullo stesso server. Nel terzo trimestre del 2017, Sucuri ha riportato che le backdoor continuano ad essere una delle tante azioni post-attacco portate avanti dagli hacker, con il 71% dei siti infetti aventi una qualche forma di backdoor injection.

Distribuzione famiglie di Malware
Distribuzione famiglie di Malware

Le backdoor sono spesso criptate per apparire come legittimi file di sistema di WordPress e si fanno strada attraverso i database di WordPress, sfruttando debolezze e bug delle versioni obsolete della piattaforma. Il fiasco di TimThumb è stato un ottimo esempio di vulnerabilità backdoor che sfrutta script oscuri e software obsoleti che compromettono milioni di siti web.

Per fortuna, la prevenzione e la cura di questa vulnerabilità sono abbastanza semplici. Potete scansionare il vostro sito WordPress con strumenti come SiteCheck, che possono facilmente individuare backdoor comuni. L’autenticazione a due fattori, il blocco degli IP, la limitazione dell’accesso all’amministrazione e la prevenzione dell’esecuzione non autorizzata di file PHP risolvono facilmente le comuni minacce di backdoor. Approfondiremo questi argomenti più avanti. Anche Canton Becker ha pubblicato un ottimo post su come mettere a posto il disordine causato dalle backdoor sulle vostre installazioni WordPress.

Pharma Hack

L’exploit Pharma Hack viene utilizzato per inserire il codice malevolo in versioni obsolete di siti web e plugin di WordPress, facendo sì che i motori di ricerca restituiscano annunci di prodotti farmaceutici quando viene cercato un sito web compromesso. La vulnerabilità è più una minaccia di spam che malware tradizionale, ma fornisce ai motori di ricerca un motivo sufficiente per bloccare il sito con l’accusa di diffondere spam.

Parti di un Pharma Hack possono essere anche delle backdoor in plugin e database, che possono essere ripulite seguendo le istruzioni del blog di Sucuri. Tuttavia, gli exploit sono spesso varianti viziose di iniezioni maligne crittografate nascoste nei database e richiedono un’accurata procedura di pulizia per correggere la vulnerabilità. Ciononostante, potete facilmente prevenire i Pharma Hack utilizzando i provider di hosting WordPress consigliati, dotati di server aggiornati, ed effettuando regolarmente l’upgrade delle vostre installazioni, dei temi e dei plugin di WordPress. Host come Kinsta, inoltre, offrono gratuitamente l’eliminazione delle violazioni.

Tentativi di Accesso Brute-force

I tentativi di accesso brute-force utilizzano script automatici per sfruttare password deboli e accedere al vostro sito. L’autenticazione a due fattori, la limitazione dei tentativi di accesso, il monitoraggio degli accessi non autorizzati, il blocco degli IP e l’utilizzo di password forti sono solo alcuni dei metodi più semplici ed efficaci per prevenire attacchi brute-force. Sfortunatamente, molti proprietari di siti WordPress non si adeguano a queste prassi di sicurezza, quindi gli hacker sono facilmente in grado di compromettere fino a 30.000 siti web in un solo giorno utilizzando attacchi brute-force.

Reindirizzamenti Malevoli

I reindirizzamenti malevoli creano backdoor nelle installazioni WordPress utilizzando FTSP, SFTP, wp-admin e altri protocolli e iniettano codici di reindirizzamento nel sito web. I redirect vengono spesso inseriti nel file .htaccess e in altri file del core di WP in moduli codificati, indirizzando il traffico web verso siti maligni. Approfondiremo alcuni metodi per prevenire questi accessi nei passaggi sulla sicurezza di WordPress che proponiamo più avanti.

Cross-site Scripting (XSS)

Il Cross-Site Scripting (XSS) si ha quando uno script dannoso viene iniettato in un sito web o in un’applicazione attendibili. L’hacker lo utilizza per inviare codice dannoso, in genere script lato browser, all’utente finale senza che questi lo sappia. Lo scopo è di solito quello di prendere i dati di cookie o di sessione, o magari anche riscrivere l’HTML di una pagina.

Secondo WordFence, le vulnerabilità di Cross-Site Scripting sono le vulnerabilità che si possono trovare più frequentemente nei plugin di WordPress.

Denial of Service

Forse la più pericolosa di tutte, la vulnerabilità Denial of Service (DoS) sfrutta errori e bug nel codice per sovraccaricare la memoria dei sistemi operativi dei siti web. Gli hacker hanno compromesso milioni di siti web e raccolto milioni di dollari sfruttando versioni obsolete e bacate del software di WordPress con attacchi DoS. Sebbene i criminali informatici motivati ​​da interessi finanziari siano meno propensi ad attaccare piccole imprese, tendono a compromettere siti obsoleti e vulnerabili creando catene di botnet per attaccare grandi imprese.

Persino le ultime versioni del software di WordPress non possono ritenersi completamente al sicuro dagli attacchi DoS di alto profilo, ma almeno vi aiuteranno ad evitare di rimanere intrappolati nel fuoco incrociato tra istituzioni finanziarie e sofisticati criminali informatici. E non dimenticate il 21 ottobre 2016. Questo fu il giorno in cui Internet è andata giù a causa di un attacco DDoS DNS. Leggete perché è importante utilizzare un provider DNS premium per aumentare la sicurezza di WordPress.

Guida alla Sicurezza di WordPress 2024

Secondo Internet live stats, oltre 100.000 siti web vengono violati ogni giorno. 😮 Questo è il motivo per cui è così importante prendersi un po’ di tempo per leggere i seguenti consigli su come migliorare la sicurezza di WordPress.

Siti WordPress violati
Siti WordPress violati

Faremo in modo di mantenere questo post aggiornato con tutte le informazioni rilevanti man mano che le cose cambiano nella piattaforma di WordPress ed emergono nuove vulnerabilità.

  1. Hosting WordPress Sicuro
  2. Utilizzare la Versione più Recente di PHP
  3. Username e Password Intelligenti
  4. Ultime Versioni
  5. Bloccare l’Accesso al Pannello di Amministrazione di WordPress
  6. Autenticazione a Due Fattori
  7. HTTPS – Certificato SSL
  8. Mettere in Sicurezza il file wp-config.php
  9. Disabilitare XML-RPC
  10. Nascondere la Versione di WordPress
  11. Intestazioni di Sicurezza HTTP
  12. Plugin per la Sicurezza di WordPress
  13. Sicurezza del Database
  14. Connessioni Sicure
  15. Autorizzazioni su File e Server
  16. Disabilitare le Modifiche nella Dashboard
  17. Prevenire l’Hotlinking
  18. Effettuare sempre i backup di WordPress
  19. Protezione DDoS

1. Investire in un Servizio di Hosting WordPress Sicuro

Per quello che riguarda la sicurezza di WordPress, c’è da fare molto di più che bloccare gli accessi al vostro sito, e in questo post vi daremo i nostri migliori consigli per farlo. Esiste anche una sicurezza a livello di server della quale è responsabile il vostro host WordPress. Qui da Kinsta prendiamo molto sul serio la sicurezza e gestiamo molti di questi problemi per conto dei nostri clienti.

È molto importante scegliere un host affidabile per la vostra attività. Oppure, se state gestendo WordPress dal vostro VPS, dovrete avere le conoscenze tecniche per fare queste cose da soli. E, ad essere sinceri, cercare di fare gli amministratori di sistema per risparmiare 20 dollari al mese è una cattiva idea.

Hosting WordPress sicuro
Hosting WordPress sicuro

L’Hardening del Server è la chiave per mantenere un ambiente WordPress completamente al sicuro. Occorrono più livelli di sicurezza hardware e software per garantire che l’infrastruttura IT che ospita i siti WordPress sia in grado di difendersi da minacce sofisticate, sia fisiche che virtuali.

Per questo motivo, i server che ospitano WordPress dovrebbero essere aggiornati con il sistema operativo e il software (di sicurezza) più recenti, nonché essere accuratamente testati e scansionati alla ricerca di vulnerabilità e malware. Un esempio di questo tipo si è verificato quando siamo dovuti intervenire su NGINX per rimediare alle vulnerabilità di sicurezza OpenSSL che erano state scoperte.

Firewall a livello di server e sistemi di rilevamento delle intrusioni devono essere installati prima di installare WordPress sul server per tenerlo in sicurezza anche durante l’installazione di WordPress e durante le fasi di costruzione del sito web. Tuttavia, ogni software installato sulla macchina per proteggere il contenuto di WordPress dovrebbe essere compatibile con i più recenti sistemi di gestione dei database al fine di mantenere prestazioni ottimali. Il server deve inoltre essere configurato in modo da utilizzare protocolli di crittografia di networking e trasferimento file (come SFTP anziché FTP) per nascondere i contenuti sensibili da intrusioni pericolose.

Qui a Kinsta, usiamo i server più veloci della Google Cloud Platform, e la rete di livello premium per tutti i nostri clienti WordPress e garantire  loro un’esperienza di hosting WordPress veloce e sicura. Un grande vantaggio di questo è che si basa su un modello di sicurezza che è stato costruito nel corso di 15 anni, e attualmente protegge prodotti e servizi come Gmail, Search, etc. Google impiega attualmente più di 500 professionisti della sicurezza a tempo pieno. Tutti i siti su Kinsta sono anche protetti dalla nostra integrazione gratuita con Cloudflare, che include un firewall sicuro di livello aziendale e una protezione DDoS gratuita.

Kinsta inoltre utilizza container Linux (LXC) e LXD per orchestrarli, al top di Google Cloud Platform, cosa che ci consente di isolare completamente non solo ciascun account, ma ogni singolo sito WordPress. Questa è una soluzione molto più sicura rispetto a quella offerta da molti concorrenti.

Architettura dell’hosting Kinsta.
Architettura dell’hosting Kinsta.

2. Utilizzare la Versione Più Recente di PHP

PHP è la spina dorsale del vostro sito WordPress e quindi utilizzare l’ultima versione di PHP sul vostro server è molto importante. Ogni major release di PHP è in genere pienamente supportata per due anni dal momento del suo rilascio. Durante questo periodo, i bug e i problemi di sicurezza sono corretti e aggiornati regolarmente. A partire da ora, chiunque abbia una versione di PHP 7.0 o inferiore non ha più supporto per la sicurezza ed è esposto a vulnerabilità prive di patch.

Versioni PHP Supportate
Versioni PHP Supportate

E indovinate cosa? Secondo la pagina ufficiale di WordPress Stats, al momento in cui scriviamo, oltre il 57% degli utenti di WordPress utilizza ancora una PHP 5.6 o precedente. Se aggiungete a questo dato PHP 7.0, viene fuori che un sorprendete 77,5% degli utenti utilizzano versioni di PHP non supportate. È spaventoso!

A volte ci vuole tempo per aziende e sviluppatori per testare e garantire la compatibilità con il loro codice, ma non hanno scuse per girare su qualcosa senza supporto di sicurezza. Per non parlare dell’enorme impatto sulle prestazioni che hanno le versioni precedenti.

Statistiche sulle Versioni PHP di WordPress
Statistiche sulle Versioni PHP di WordPress

Non sapete quale versione di PHP state utilizzando? La maggior parte degli host in genere inserisce questa informazione in una richiesta dell’header del vostro sito. Un modo rapido per verificarlo è eseguire il sito tramite Pingdom. Fate clic sulla prima richiesta e cercate il parametro X-Powered-By. In genere questo vi mostrerà la versione di PHP attualmente in uso sul vostro server.

Verifica della versione di PHP in Pingdom
Verifica della versione di PHP in Pingdom

Noi di Kinsta raccomandiamo di utilizzare solo versioni stabili e supportate di PHP, tra cui la 8.0 e la 8.1. PHP 5.6, 7.0 e 7.1 sono state progressivamente eliminate. Potete anche passare da una versione di PHP all’altra col clic di un pulsante all’interno del cruscotto di MyKinsta.

Passare da una versione all'altra di PHP
Passare da una versione all’altra di PHP

Se siete su un host WordPress che utilizza cPanel, potete passare da una versione di PHP all’altra facendo clic su “PHP Select” nella categoria software.

Versioni PHP in cPanel
Versioni PHP in cPanel

3. Username e Password Intelligenti

Sorprendentemente, uno dei modi migliori per aumentare la sicurezza di WordPress è semplicemente quello di utilizzare nomi utente e password intelligenti. Sembra abbastanza facile, vero? Bene, controllate la lista annuale del 2019 di SplashData delle password più popolari che sono state rubate durante l’anno (ordinate in base alla popolarità).

  • 123456
  • password
  • 123456789
  • 12345678
  • 12345
  • 111111
  • 1234567
  • sunshine
  • qwerty
  • iloveyou

Esatto! La password più popolare è “123456”, seguita da una incredibile “password”. Questo è uno dei motivi per cui qui da Kinsta forziamo sulle nuove installazioni di WordPress l’utilizzo di una password complessa per l’accesso da wp-admin (come mostrato di seguito a proposito della nostra procedura di installazione ad un clic). Non è un optional.

Forzare una password WordPress sicura
Forzare una password WordPress sicura

La funzione core wp_hash_password di WordPress utilizza il framework di hashing delle password phpass e otto passaggi di hashing MD5.

La migliore sicurezza parte dalla base. Google offre alcuni ottimi consigli su come scegliere una password sicura. In alternativa, potete utilizzare uno strumento online come Strong Password Generator. Qui potete trovare maggiori informazioni su come cambiare la password di WordPress.

È anche importante utilizzare una password diversa per ogni sito web. Il modo migliore per archiviarle è farlo in locale in un database crittografato sul vostro computer. Un buon strumento gratuito per questo scopo è KeePass. Se non volete seguire questa strada, ci sono anche gestori di password online come 1Password o LastPass. Anche se i vostri dati sono ospitati in modo sicuro nel cloud, questi sono generalmente più sicuri se non utilizzate la stessa password su più siti. Vi consente anche di evitare bigliettini adesivi. 😉

E per quanto riguarda l’installazione di WordPress, non dovreste mai utilizzare il nome utente predefinito “admin”. Create un nome utente WordPress univoco per l’account di amministratore ed eliminate l’utente “admin”, se esiste. Potete farlo aggiungendo un nuovo utente dal menu “Utenti” del pannello di controllo e assegnandogli il profilo da “Amministratore” (come mostrato sotto).

Ruolo da Amministratore in WordPress
Ruolo da Amministratore in WordPress

Una volta assegnato il ruolo di amministratore al nuovo account, è possibile tornare indietro ed eliminare l’utente “Admin” originale. Assicuratevi, quando fate clic su Elimina, di selezionare l’opzione “Attribuisci tutto il contenuto a” e di selezionare il vostro nuovo profilo da amministratore. Questo imposterà la persona come autore di quei post.

Elimina amministratore attribuisci contenuti
Attribuire tutto il contenuto all’Admin

Potete anche rinominare manualmente il vostro attuale nome utente da amministratore in phpMyAdmin, con il comando che segue. Siate certi di aver eseguito il backup del vostro database prima di modificare le tabelle:

UPDATE wp_users SET user_login = 'newcomplexadminuser' WHERE user_login = 'admin';

4. Usare Sempre l’Ultima Versione di WordPress e dei Plugin

Un altro modo molto importante per rafforzare la sicurezza di WordPress è di tenerlo sempre aggiornato. Ciò riguada sia il core di WordPress che i vostri plugin. Questi vengono aggiornati per un motivo preciso, e molte volte questo motivo riguarda miglioramenti della sicurezza e correzioni di bug. Vi consigliamo di leggere la nostra guida approfondita su questo argomento: Un’Analisi Approfondita degli Aggiornamenti Automatici di WordPress.

Tenere WordPress aggiornato
Tenere WordPress aggiornato

Sfortunatamente, milioni di aziende utilizzano versioni obsolete di software e plugin di WordPress, e continuano a credere di operare correttamente per il successo aziendale. Danno i loro motivi per non eseguire gli aggiornamenti, come “il loro sito si bloccherà” o “le modifiche principali se ne andrebbero” o “il plugin X non funzionerà” o perché “semplicemente non hanno bisogno della nuova funzionalità”.

In realtà, i siti web si bloccano principalmente a causa di bug nelle precedenti versioni di WordPress. Le modifiche al core non sono mai consigliate dal team di WordPress e da sviluppatori esperti che comprendono i rischi che queste comportano. Gli aggiornamenti di WordPress riguardano principalmente patch di sicurezza indispensabili, insieme con le funzionalità aggiuntive necessarie per eseguire gli ultimi plugin.

Lo sapevate che è stato segnalato che le vulnerabilità dei plugin rappresentano il 55,9% dei punti di ingresso noti per gli hacker? È quello che ha scoperto WordFence in uno studio del 2016 in cui hanno intervistato oltre 1.000 proprietari di siti WordPress vittime di attacchi. Aggiornando i vostri plugin potete essere sicuri che non sarete una di queste vittime.

Plugin e siti WordPress violati
Siti WordPress violati

É anche consigliato di installare solo plugin attendibili. Le categorie “in evidenza” e “popolari” della repository di WordPress possono essere un buon punto di partenza. Oppure scaricateli direttamente dal sito dello sviluppatore. Sconsigliamo decisamente di utilizzare plugin e temi WordPress annullati.

Per prima cosa, non saprete mai quale parte del codice è stata modificata. Questo potrebbe facilmente portare ad una violazione del vostro sito. Inoltre, non pagare plugin WordPress premium non aiuta la community a crescere nel suo insieme. Abbiamo bisogno di supportare gli sviluppatori.

Ecco come eliminare correttamente un tema WordPress.

Potete utilizzare uno strumento online come VirusTotal per eseguire una scansione sui file di un plugin o di un tema per vedere se contiene qualche tipo di malware.

Virus Total
Virus Total

Come Aggiornare il Core di WordPress

Ci sono un paio di semplici modi per aggiornare un’installazione di WordPress. Se siete clienti Kinsta, abbiamo fornito backup automatici con un’opzione di ripristino ad un clic. In questo modo è possibile testare nuove versioni di WordPress e plugin senza doversi preoccupare di rompere nulla. Oppure potreste anche testare prima nel nostro ambiente di staging.

Per aggiornare il core di WordPress è possibile fare clic su “Aggiornamenti” nella dashboard di WordPress e poi fare clic sul pulsante “Aggiorna ora”.

Aggiornare il core di WordPress
Aggiornare il core di WordPress

Potete anche aggiornare manualmente WordPress scaricando l’ultima versione e poi caricandola via FTP.

Importante! Sovrascrivere le cartelle sbagliate potrebbe bloccare il vostro sito. Se non vi sentite sicuri nel fare l’aggiornamento, confrontatevi prima con uno sviluppatore.

Seguite i passaggi sottostanti per aggiornare un’installazione esistente:

  1. Eliminate le vecchie directory wp-include e wp-admin.
  2. Caricate le nuove directory wp-include e wp-admin.
  3. Caricate i singoli file dalla nuova cartella wp-content alla cartella wp-content esistente, sovrascrivendo i file esistenti. NON eliminate la cartella wp-content esistente. NON cancellate alcun file o cartella nella directory wp-content esistente (tranne quelli che vengono sovrascritti dai nuovi file).
  4. Caricate tutti i nuovi file sciolti dalla directory principale della nuova versione alla vostra directory root dell’installazione esistente di WordPress.

Come Aggiornare i Plugin WordPress

L’aggiornamento dei plugin di WordPress è un processo molto simile all’aggiornamento del core. Fate clic su “Aggiornamenti” nella dashboard di WordPress, selezionate i plugin che desiderate aggiornare e fate clic su “Aggiorna plugin”.

Aggiornare i Plugin di WordPress
Aggiornare i Plugin di WordPress

Allo stesso modo, è possibile aggiornare un plugin manualmente. Basta prendere l’ultima versione dallo sviluppatore del plugin o dalla repository di WordPress e caricarla tramite FTP, sovrascrivendo il plugin esistente nella directory /wp-content/plugins.

È anche importante notare che gli sviluppatori non mantengono sempre aggiornato il loro plugin. Il team di WP Loop ha fatto una piccola analisi di quanti plugin di WordPress nella repository non sono aggiornati con al core di WordPress corrente. Secondo la loro ricerca, quasi il 50% dei plugin nella repository non è stato aggiornato da oltre 2 anni.

Questo non significa che il plugin non funzionerà con la versione corrente di WordPress, ma si consiglia di scegliere plugin che vengono aggiornati attivamente. I plugin obsoleti hanno maggiori probabilità di contenere vulnerabilità.

Plugin WordPress non aggiornati
img src: WP Loop

Usate il vostro miglior giudizio quando dovete scegliere i plugin. Guardate la data dell’ultimo aggiornamento (“Last updated”) e il numero di valutazioni che ha il plugin. Come si vede nell’esempio qui sotto, questo è plugin non è aggiornato ed ha recensioni negative, quindi molto probabilmente è consigliabile starne alla larga.

Un vecchio plugin di WordPress con una cattiva reputazione
Un vecchio plugin di WordPress con una cattiva reputazione

Inoltre, esistono molte risorse per aiutarvi a rimanere al corrente degli ultimi aggiornamenti e delle vulnerabilità nella sicurezza di WordPress. Ecco alcuni esempi qui di seguito:

WordPress Security Archive
WordPress Security Archive

5. Bloccare l’Accesso al Pannello di Amministrazione di WordPress

A volte la strategia popolare della sicurezza tramite segretezza di WordPress è efficace per un sito aziendale di medie dimensioni basato su WordPress. Se rendete più difficile agli hacker trovare certe backdoor, è meno probabile che veniate attaccati. Bloccare il pannello di amministrazione e il login di WordPress è una buona strada per rafforzare la vostra sicurezza. Due ottimi modi per bloccare l’accesso prevedono innanzitutto di modificare l’URL predefinito di accesso a wp-admin e poi di limitare i tentativi di accesso.

Come Modificare l’URL di Accesso di WordPress

Di default, l’URL di accesso del vostro sito WordPress è domain.com/wp-admin. Uno dei problemi che questo può comportare è che tutti i bot, gli hacker e gli script in circolazione lo sanno. Modificando l’URL potrete rendervi meno visibili e proteggervi meglio dagli attacchi brute force. Questa non è una soluzione per tutti i problemi, è semplicemente un piccolo trucco che può esservi molto utile nel proteggervi.

Per cambiare il vostro URL di accesso a WordPress, consigliamo di utilizzare il plugin gratuito WPS Hide login o il plugin premium Perfmatters. Entrambi i plugin hanno un semplice campo di testo. Basta ricordarsi di scegliere qualcosa di unico che non sia già in un elenco che un bot o uno script possano tentare di analizzare.

Cambiare l'URL di login di WordPress
Cambiare l’URL di login di WordPress con Perfmatters

Come Limitare i Tentativi di Accesso

Mentre la soluzione vista sopra di modificare l’URL di accesso da amministratore diminuirà la maggior parte dei tentativi di accesso non validi, anche la fissazione di un limite può essere molto efficace. Il plugin gratuito Limit Login Attempts Reloaded è un ottimo modo per impostare facilmente la durata del blocco, i tentativi di accesso e whitelist e blacklist degli IP.

Limit Login Attempts Reloaded
Limit Login Attempts Reloaded

Se state cercando una soluzione di sicurezza WordPress più semplice, un’altra ottima alternativa è il plugin gratuito Login Lockdown. Login LockDown registra l’indirizzo IP e il timestamp di ogni tentativo di accesso fallito. Se vengono rilevati più di un certo numero di tentativi in un breve periodo di tempo dallo stesso intervallo di IP, la funzione di accesso viene disabilitata per tutte le richieste da quel range di IP. Ed è completamente compatibile con il plugin WPS Hide Login sopra menzionato.

Lockdown WordPress
Lockdown WordPress

Come Aggiungere l’Autenticazione Base HTTP (protezione htpasswd)

Un altro modo per bloccare il pannello di amministrazione è aggiungere l’autenticazione HTTP. Ciò richiede l’inserimento di un nome utente e una password prima di poter accedere alla pagina di login di WordPress. Nota: questo in genere non dovrebbe essere utilizzato nei siti eCommerce o nei siti con iscrizioni. Ma può fornire un modo molto efficace per impedire ai bot di colpire il vostro sito.

.htpasswd prompt di autenticazione
.htpasswd prompt di autenticazione

Apache

Se si utilizza un host cPanel, è possibile abilitare la protezione con password delle directory dal proprio pannello di controllo. Per configurarlo manualmente, dovete prima creare un file .htpasswd. Potete utilizzare questo pratico generatore. Quindi caricate il file in una directory nella cartella wp-admin, ad esempio:

home/user/.htpasswds/public_html/wp-admin/htpasswd/

Quindi create un file .htaccess con il seguente codice e caricatelo nella directory /wp-admin/. Assicuratevi di aggiornare il percorso della directory e il nome utente.

AuthName "Admins Only"
AuthUserFile /home/yourdirectory/.htpasswds/public_html/wp-admin/htpasswd
AuthType basic
require user yourusername

L’unico avvertimento per operare in questo modo è che si si interromperà il funzionamento di AJAX (admin-ajax) sul front-end del vostro sito. Questo è richiesto da alcuni plugin di terze parti. Quindi dovrete anche aggiungere il seguente codice al file .htaccess sopra.

<Files admin-ajax.php>
Order allow,deny
Allow from all
Satisfy any
</Files>

Nginx

Se state utilizzando Nginx, potete anche limitare l’accesso con l’autenticazione base HTTP. Date un’occhiata a questo tutorial.

Se il vostro sito WordPress è ospitato su Kinsta, potete usare lo strumento di protezione con password (htpasswd) che trovate nel cruscotto MyKinsta, nell’area “Tools” del vostro sito. Fate clic su “Enable”, scegliete username e password, e il gioco è fatto!

Abilitare la protezione .htpasswd.
Abilitare la protezione .htpasswd.

Dopo l’attivazione, il vostro sito WordPress vi richiederà l’autenticazione per accedere. Potete cambiare le credenziali in qualsiasi momento o disabilitarlo quando non ne avete più bisogno.

Bloccare il percorso di un URL

Se utilizzate un web application firewall (WAF) come Cloudflare o Sucuri, ricordate che questi forniscono ottime soluzioni per bloccare il percorso di un URL. Potete in pratica impostare una regola in modo tale che solo il vostro indirizzo IP possa avere accesso al vostro URL di login di WordPress. Ripetiamo, questa soluzione non dovrebbe essere implementata nei siti di eCommerce o ad iscrizione in quanto anche questi si basano sull’accesso al back-end del vostro sito.

6. Sfruttare l’Autenticazione a Due Fattori

E, naturalmente, non possiamo dimenticare l’autenticazione a due fattori! Non importa quanto sia sicura la vostra password, c’è sempre il rischio che qualcuno la scopra. L’autenticazione a due fattori prevede un processo in 2 passaggi in cui non basta inserire la password per accedere, ma è necessario un ulteriore metodo. Generalmente si tratta di un messaggio di testo (SMS), una telefonata o una password a scadenza valida una sola volta (TOTP). Nella maggior parte dei casi, questo sistema è efficace al 100% nel prevenire attacchi brute force sul vostro sito WordPress. Perché? Perché è quasi impossibile che chi attacca abbia sia la vostra password che il vostro cellulare.

Ci sono in realtà due parti quando si parla di autenticazione a due fattori. La prima è il vostro account e/o la dashboard del vostro provider di hosting web. Se qualcuno ottiene l’accesso alla dashboard, potrebbe cambiare la vostra password, eliminare i vostri siti web, modificare i record DNS e ogni sorta di orribili cose. Noi di Kinsta abbiamo una partnership con Authy e disponiamo dell’autenticazione a due fattori per il cruscotto di MyKinsta.

La seconda parte dell’autenticazione a due fattori si riferisce alla vostra installazione di WordPress. Per questo abbiamo alcuni plugin da consigliarvi:

Molti di questi hanno le proprie Authenticator App che potete installare sui vostri telefoni:

Dopo aver installato e configurato uno dei plugin qui sopra, in genere nella pagina di accesso di WordPress si presenta un campo aggiuntivo dove andrà inserito il codice di sicurezza. Oppure, con il plugin Duo, per prima cosa dovrete accedere con le vostre credenziali, quindi vi viene richiesto di scegliere un metodo di autenticazione, come Duo Push, chiamata o passcode.

Questo metodo può essere facilmente combinato con la modifica dell’URL di accesso predefinito che abbiamo esaminato in precedenza. Quindi non solo il vostro URL di accesso a WordPress lo conoscete solo voi, ma ora è necessaria un’autenticazione extra per entrare. 💪

Pagina di autenticazione a due fattori di WordPress
Pagina di autenticazione a due fattori di WordPress

Quindi non rinunciate ai vantaggi dell’autenticazione a due fattori, perché può costituire una soluzione semplice per rafforzare la sicurezza di WordPress.

7. Utilizzare HTTPS per Connessioni Criptate – Certificato SSL

Uno dei modi più trascurati per rafforzare la sicurezza di WordPress è installare un certificato SSL ed far girare il vostro sito su HTTPS. HTTPS (Hyper Text Transfer Protocol Secure) è un meccanismo che consente al browser o all’applicazione web di collegarsi in modo sicuro a un sito web. Un grosso equivoco è che se non si accettano le carte di credito non è necessario SSL.

Bene, lasciateci illustrare alcuni motivi per cui HTTPS è importante al di là del semplice eCommerce. Molti host, tra cui Kinsta, ora offrono anche certificati SSL gratuiti con Let’s Encrypt.

1. Sicurezza

Naturalmente, il motivo principale per utilizzare HTTPS è la maggiore sicurezza e, certo, questo è molto importante per i siti di eCommerce. Tuttavia, quanto sono importanti le vostre informazioni di accesso? Per quelli di voi che gestiscono siti WordPress multi-autore, se si gira su su HTTP, ogni volta che una persona esegue l’accesso, tali informazioni vengono passate al server come testo normale. HTTPS è assolutamente vitale per mantenere una connessione sicura tra un sito Web e un browser. In questo modo potete prevenire meglio che hacker o intrusi ottengano l’accesso al vostro sito web.

Così anche blog, siti di notizie, agenzie, tutti possono trovare utile HTTPS, in quanto garantisce che le informazioni non passino mai in chiaro.

2. SEO

Google ha dichiarato ufficialmente che HTTPS è un fattore di ranking. Anche se è solo un piccolo fattore di ranking, la maggior parte di voi probabilmente trarrà vantaggio dalla SERP per battere la concorrenza.

3. Fiducia e Credibilità

Secondo un sondaggio di GlobalSign, il 28,9% dei visitatori cerca la barra degli indirizzi verde nel proprio browser. E il 77% di loro è preoccupato che i suoi dati vengano intercettati o male utilizzati online. Vedendo quel lucchetto verde, i clienti saranno immediatamente tranquillizzati sapendo che i loro dati sono più sicuri.

4. Dati di Referral

Molte persone non si rendono conto che i dati di referral da HTTPS a HTTP sono bloccati in Google Analytics. Quindi cosa succede ai dati? Bene, la maggior parte è solo accorpata nella sezione “traffico diretto”. Se qualcuno sta passando da HTTP a HTTPS, il referrer è invece sempre trasmesso.

5. Avvisi di Chrome

A partire dal 24 luglio 2018, Chrome 68 e versioni superiori hanno cominciato a contrassegnare tutti i siti non-HTTPS come “Non Sicuri”. Indipendentemente dal fatto che raccolgano o meno i dati. Questo è il motivo per cui HTTPS è più importante che mai!

Questo è particolarmente importante se il vostro sito web riceve la maggior parte del suo traffico da Chrome. Potete cercare in Google Analytics nella sezione Pubblico, in Browser & Sistema operativo, per vedere la percentuale di traffico che il vostro sito WordPress riceve da Google Chrome. Google rende molto più chiaro ai visitatori che il vostro sito WordPress potrebbe non essere in esecuzione su una connessione protetta.

Non sicuro in Google Chrome
Non sicuro in Google Chrome

6. Prestazioni

Grazie ad un nuovo protocollo chiamato HTTP/2, molto spesso, coloro che eseguono siti ben ottimizzati su HTTPS possono sperimentare aumenti di velocità. HTTP/2 richiede HTTPS per essere supportato dai browser. Il miglioramento delle prestazioni è dovuto a una serie di motivi, tra cui il miglior supporto di HTTP/2 del multiplexing, il parallelismo, la compressione HPACK con codifica Huffman, l’estensione ALPN e il server push.

E con TLS 1.3 dietro l’angolo, le connessioni HTTPS saranno ancora più veloci. Kinsta supporta TLS 1.3 su tutti i nostri server e la nostra Kinsta CDN.

State ripensando ad HTTPS adesso? Consultate la nostra guida approfondita alla migrazione di WordPress su HTTPS per prepararvi e partire.

Per applicare una connessione sicura e crittografata tra voi e il server durante il login e l’amministrazione del vostro sito, aggiungete la seguente riga al vostro file wp-config.php:

define ('FORCE_SSL_ADMIN', true)

(Lettura suggerita: se state usando versioni precedenti di TLS, potreste voler correggere le notifiche ERR_SSL_OBSOLETE_VERSION su Chrome).

8. Mettere in Sicurezza il File wp-config.php

Il vostro file wp-config.php è come il cuore e l’anima della vostra installazione di WordPress. È di gran lunga il file più importante del vostro sito per quel che riguarda la sicurezza di WordPress. Contiene le informazioni di accesso al database e le chiavi di sicurezza che gestiscono la crittografia delle informazioni nei cookie. Di seguito sono indicate un paio di cose che potete fare per proteggere meglio questo importante file.

1. Spostare wp-config.php

Di default il vostro file wp-config.php risiede nella directory principale della vostra installazione di WordPress (la vostra cartella HTML /public/). Ma potete spostarlo in una directory non accessibile tramite www. Aaron Adams ha fornito una ottima spiegazione dei motivi per cui questa operazione è così importante.

Per spostare il vostro file wp-config.php, basta semplicemente copiare tutto quello che vi è contenuto in un altro file. Quindi nel vostro file wp-config.php potete inserire il seguente frammento che semplicemente include l’altro file. Nota: il percorso della directory potrebbe essere diverso a seconda del vostro host web e della configurazione. In genere però è semplicemente una directory sopra.

<?php
include('/home/yourname/wp-config.php');

Nota: questo non funzionerà per gli utenti Kinsta, per via della configurazione del nostro ambiente. Questo perché le nostre restrizioni open_basedir non consentono l’esecuzione di PHP sulla directory ~/public per motivi di sicurezza. La buona notizia è che gestiamo noi tutto questo per voi! Facciamo praticamente la stessa cosa bloccando l’accesso a wp-login.php all’interno della directory ~/public. La nostra configurazione Nginx predefinita contiene una regola che restituirà un 403 per ogni tentativo di accesso a wp-config.php.

2. Aggiornare le Chiavi di Sicurezza di WordPress

Le chiavi di sicurezza di WordPress sono un set di variabili casuali che migliorano la crittografia delle informazioni memorizzate nei cookie dell’utente. A partire da WordPress 2.7, sono disponibili 4 chiavi diverse: AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY e NONCE_KEY.

Quando installate WordPress, queste chiavi vengono generate casualmente per voi. Tuttavia, se siete passati attraverso varie migrazioni (onsulta la nostra lista curata dei migliori plugin per la migrazione di WordPress), oppure avete acquistato un sito da qualcun altro, potrebbe essere utile creare nuove chiavi di WordPress.

WordPress offre uno strumento gratuito che è possibile utilizzare per generare chiavi casuali. Potete aggiornare le vostre chiavi correnti memorizzate nel vostro file wp-config.php file.

Le chiavi di sicurezza di WordPress
Le chiavi di sicurezza di WordPress

Leggete di più sulle chiavi di sicurezza di WordPress.

3. Cambiare i Permessi

In genere i permessi sui file presenti nella directory principale di un sito WordPress saranno impostati su 644, il che significa che i file sono leggibili e scrivibili dal proprietario del file, leggibili dagli utenti del gruppo proprietario di quel file e leggibili da tutti gli altri. Secondo la documentazione di WordPress, le autorizzazioni sul file wp-config.php dovrebbero essere impostate su 440 o 400 per impedire ad altri utenti sul server di leggerlo. Potete facilmente modificare questa impostazione con il vostro client FTP.

Permessi su wp-config.php
Permessi su wp-config.php

9. Disabilitare XML-RPC

Negli anni passati XML-RPC è diventato un obiettivo sempre più grande per attacchi brute force. Come affermato da Sucuri, una delle funzionalità nascoste di XML-RPC è che è possibile utilizzare il metodo system.multicall per eseguire più metodi all’interno di una singola richiesta. È molto utile perché consente a un’applicazione di passare più comandi all’interno di una richiesta HTTP. Ma quello che succede è che questa funzionalità è usata anche per intenti malevoli.

Ci sono alcuni plugin di WordPress come Jetpack che si basano su XML-RPC, ma la maggior parte delle persone non ne ha bisogno e può essere utile semplicemente disabilitarne l’accesso. Non siete sicuri se XML-RPC sia attualmente in esecuzione sul vostro sito web? Danilo Ercoli, del team di Automattic, ha creato un piccolo strumento chiamato XML-RPC Validator. Potete eseguire il vostro sito WordPress attraverso questo strumento per vedere se XML-RPC è abilitato. Se non lo è, vedrete un messaggio di errore, come mostrato nell’immagine qui sotto del blog di Kinsta.

WordPress XML-RPC validator
WordPress XML-RPC validator

Per disabilitare completamente XML-RPC è possibile installare il plugin gratuito Disable XML-RPC-API. Oppure potete disabilitarlo con il plugin premium perfmatters, che consente anche miglioramenti delle prestazioni web.

Se siete clienti di Kinsta, questi plugin non sono necessari perché, quando viene rilevato un attacco tramite XML-RPC, viene aggiunto un piccolo snippet di codice nel file di configurazione NGINX per fermarlo mentre è in corso – generando un errore 403.

location ~* ^/xmlrpc.php$ {
return 403;
}

10. Nascondere la Versione di WordPress

Nascondere la vostra versione di WordPress concerne ancora l’argomento della sicurezza di WordPress per oscuramento. Meno persone conoscono la vostra configurazione di WordPress, meglio è. Un’installazione non aggiornata di WordPress potrebbe essere un segnale di benvenuto per intrusi. Di default, la versione di WordPress viene visualizzata nell’intestazione del codice sorgente del sito. Ancora una volta, vi consigliamo semplicemente di assicurarvi che l’installazione di WordPress sia sempre aggiornata. Facendo così non dovrete preoccuparti di nascondere la versione.

Versione di WordPress nel codice sorgente
Versione di WordPress nel codice sorgente

Potete utilizzare il codice che segue per rimuovere la versione. Aggiungete semplicemente quanto segue al file functions.php del vostro tema WordPress.

Importante! La modifica del codice sorgente di un tema WordPress potrebbe bloccare il vostro sito se l’operazione non viene eseguita correttamente. Se non vi senti sicuri, vi consigliamo di contattare prima uno sviluppatore.
function wpversion_remove_version() {
return '';
}
add_filter('the_generator', 'wpversion_remove_version');

Potete anche utilizzare un plugin premium come perfmatters (sviluppato da un membro del team di Kinsta), che vi consente di nascondere la versione di WordPress con un clic, insieme ad altre ottimizzazioni per il vostro sito WordPress.

Nascondere la versione di WordPress con perfmatters
Nascondere la versione di WordPress con perfmatters

Un altro posto dove appare la versione di WordPress si trova nel file readme.html predefinito (come mostrato di seguito), che è incluso in ogni versione di WordPress. Si trova nella root della vostra installazione, domain.com/readme.html. Potete tranquillamente cancellare questo file tramite FTP.

La versione di WordPress nel file readme
La versione di WordPress nel file readme

11. Aggiungere i Più Recenti Header HTTP di Sicurezza

Un altro passo in avanti per rafforzare la sicurezza di WordPress è l’utilizzo delle intestazioni HTTP relative alla sicurezza. Queste sono solitamente configurate a livello di server e indicano al browser come comportarsi quando gestisce i contenuti del vostro sito. Esistono molte intestazioni HTTP di sicurezza, ma quelle elencate di seguito possono essere considerate le più importanti.

KeyCDN ha pubblicato un ottimo post approfondito per chi volesse saperne di più sugli header HTTP di sicurezza.

Potete verificare quali header sono attualmente attivi nel vostro sito WordPress lanciando Chrome devtools e cercando gli header nella risposta iniziale del vostro sito. Di seguito è riportato un esempio di Kinsta.com. Potete vedere che utilizziamo gli header strict-transport-security, x-content-type e x-frame-options.

Header HTTP di Sicurezza
Header HTTP di Sicurezza

Potete anche eseguire la scansione del vostro sito WordPress con lo strumento gratuito securityheaders.io di Scott Helme. Questo vi mostrerà quali header di sicurezza HTTP sono al momento attivi sul vostro sito. Se non siete sicuri di come implementare gli header, potete sempre chiedere aiuto al vostro host.

Header di sicurezza HTTP
Scansione degli header di sicurezza HTTP

12. Utilizzare Plugin di Sicurezza per WordPress

E ovviamente, dobbiamo ricordare alcuni plugin per la sicurezza di WordPress. Ci sono in giro molti ottimi sviluppatori e aziende che offrono grandi soluzioni per aiutare a proteggere meglio il vostro sito WordPress. Eccone alcuni.

Kinsta dispone di firewall hardware, sicurezza attiva e passiva, controlli di uptime al minuto e numerosi altri servizi avanzati per impedire agli hacker di accedere ai vostri dati. Se, nonostante i nostri sforzi, il vostro sito dovesse essere compromesso, lo ripareremo gratuitamente.
Ecco alcune funzionalità e utilizzi comuni dei plugin elencati sopra:

  • Generare e forzare password complesse durante la creazione di profili utente
  • Forzare le password a scadere e ad essere ripristinate regolarmente
  • Log delle azioni degli utenti
  • Aggiornamenti semplificati delle chiavi di sicurezza di WordPress
  • Scansione malware
  • Autenticazione a due fattori
  • reCAPTCHA
  • Firewall di sicurezza WordPress
  • Whitelist degli IP
  • Blacklist degli IP
  • Changelog dei file
  • Monitoraggio dele modifiche ai DNS
  • Blocco delle reti malevoli
  • Visualizzazione delle informazioni WHOIS sui visitatori

Una funzionalità molto importante di molti plugin di sicurezza è l’utilità di checksum. Vuol dire che controllano l’installazione di WordPress e cercano le modifiche sui file del core forniti da WordPress.org (tramite l’API). Eventuali modifiche a questi file potrebbero suggerire che c’è stata una violazione. Potete anche utilizzare WP-CLI per eseguire i vostri checksum.

Assicuratevi di leggere la nostra guida completa sul monitoraggio dell’integrità dei file.

Un altro ottimo plugin che merita una menzione d’onore è il plugin WP Security Audit Log plugin. Questo plugin è fantastico per quelli di voi che lavorano su WordPress multisite o semplicemente multi-autore. Il plugin assicura la produttività degli utenti e consente agli amministratori di vedere tutto ciò che viene modificato; cose come accessi, modifiche della password, modifiche ai temi, modifiche ai widget, nuove creazioni di post, aggiornamenti di WordPress, ecc.

È una soluzione completa per il registro dell’attività di WordPress. Nel momento in cui scriviamo, il plugin WP Security Audit Log vanta oltre 80.000 installazioni attive con una valutazione di 4,7 stelle su 5. È una scelta eccellente se state cercando una soluzione di sicurezza compatibile con WordPress multisite.

Security Audit Log Viewer WordPress
Security Audit Log Viewer

Il plugin dispone anche di add-on premium aggiuntive, come notifiche email, gestione sessioni utente, ricerca e report. Date un’occhiata anche a questi plugin di sicurezza WordPress che possono aiutarvi a bloccare i malintenzionati.

13. Rafforzare la Sicurezza del Database

Ci sono un paio di modi per migliorare la sicurezza del vostro database WordPress. Il primo è utilizzare un nome intelligente per il database . Se il vostro sito si chiama trucchi pallavolo, di default il vostro database di WordPress è chiamato molto probabilmente wp_trucchipallavolo. Cambiando il nome del vostro database a qualcosa di più oscuro, è possibile proteggere il vostro sito rendendo più difficile agli hacker identificare e accedere ai dati del vostro database.

Una seconda raccomandazione è quella di utilizzare un diverso prefisso per le tabelle del database. Di default WordPress usa wp_. Cambiare questo a qualcosa come 39xw_ può essere molto più sicuro. Quando installate WordPress, vi viene richiesto un prefisso tabella (come mostrato qui sotto). C’è anche il modo per cambiare il prefisso delle tabelle di WordPress su installazioni esistenti. Se siete clienti di Kinsta, questo non è necessario. Abbiamo pensato noi a mettere in sicurezza il sito e il database!

Prefisso tabelle WordPress
Prefisso tabelle WordPress – img src: jatinarora

14. Utilizzare Sempre Connessioni Sicure

Non potremo mai sottolineare abbastanza quanto sia importante l’utilizzo di connessioni sicure! Assicuratevi che il vostro host WordPress stia prendendo precauzioni come SFTP o SSH. SFTP o Secure File Transfer Protocol (noto anche come protocollo di trasferimento file SSH), è un protocollo di rete utilizzato per i trasferimenti di file. È un metodo più sicuro rispetto al consueto FTP.

Noi di Kinsta supportiamo solo connessioni SFTP per garantire che i vostri dati rimangano sicuri e criptati. La maggior parte degli host di WordPress utilizza in genere la porta 22 per SFTP. Noi di Kinsta facciamo un ulteriore passo in avanti e diamo ad ogni sito una porta casuale che può essere trovata nel cruscotto di MyKinsta.

Dettagli SFTP in MyKinsta.
Dettagli SFTP in MyKinsta.

È anche importante assicurarsi che il router di casa sia configurato correttamente. Se qualcuno viola la vostra rete domestica, potrebbe avere l’accesso ad ogni tipo di informazione, comprese eventualmente le informazioni rilevanti del vostro sito WordPress. Ecco alcuni semplici consigli:

  • Non abilitate la gestione remota (VPN). Gli utenti comuni non usano mai questa funzione e, tenendola spenta, potete evitare di esporre la vostra rete al mondo esterno.
  • I router utilizzano per impostazione predefinita gli IP in un dato intervallo, come 192.168.1.1. Utilizzate un intervallo diverso, ad esempio 10.9.8.7.
  • Abilitate il massimo livello di crittografia sul vostro Wifi.
  • Create una whitelist di IP per il vostro Wifi in modo tale che solo le persone con la password e determinati IP possano accedervi.
  • Mantenete aggiornato il firmware del router.

E fate sempre attenzione quando accedete al vostro sito WordPress in luoghi pubblici. Ricordate, Starbucks non è una rete sicura! Prendete precauzioni come verificare l’SSID di rete prima di fare clic su Connetti. Potete anche utilizzare un servizio VPN di terze parti come ExpressVPN per crittografare il vostro traffico Internet e nascondere il vostro indirizzo IP agli hacker.

15. Controllare le Autorizzazioni su File e Server

Le autorizzazioni sui file sia per l’installazione che per il server sono fondamentali per rafforzare la sicurezza di WordPress. Se le autorizzazioni sono troppo blande, qualcuno potrebbe facilmente accedere al vostro sito e provocare il caos. D’altra parte, autorizzazioni sono troppo rigide potrebbero compromettere la funzionalità del vostro sito. Quindi è importante impostare le autorizzazioni corrette su tutta la linea.

Permessii sui File

  • Read – I permessi di lettura vengono assegnati se l’utente dispone dei diritti per leggere il file.
  • Write – I permessi di scrittura vengono assegnati se l’utente dispone dei diritti per scrivere o modificare il file.
  • Execute – I permessi di esecuzione vengono assegnati se l’utente ha i diritti per eseguire il file e/o eseguirlo come script.

Permessi sulle Directory

  • Read – I permessi di lettura vengono assegnati se l’utente ha i diritti per accedere ai contenuti della cartella/directory identificata.
  • Write – I permessi di scrittura vengono assegnati se l’utente ha i diritti per aggiungere o eliminare i file contenuti nella cartella/directory.
  • Execute – I permessi di esecuzione vengono assegnati se l’utente ha i diritti per accedere alla directory ed eseguire funzioni e comandi, inclusa la possibilità di eliminare i dati all’interno della cartella/directory.

Potete utilizzare un plugin gratuito come iThemes Security per effettuare la scansione delle autorizzazioni nel vostro sito WordPress.

Permessi sui file di WordPress
Scansione dei permessi sui file di WordPress

Ecco alcuni consigli tipici per quanto riguarda le autorizzazioni su file e cartelle in WordPress. Date un’occhiata all’articolo del Codex WordPress sulla modifica dei permessi sui file per una spiegazione più approfondita.

  • Tutti i file dovrebbero essere 644 o 640. Eccezione: wp-config.php dovrebbe essere 440 o 400 per impedire ad altri utenti presenti sul server di leggerlo.
  • Tutte le directory dovrebbero avere 755 o 750.
  • Nessuna directory dovrebbe mai essere avere 777, comprese le directory degli upload.

16. Disabilitare la Modifica dei File nella Dashboard di WordPress

Molti siti WordPress hanno più utenti e amministratori, cosa che può rendere più complessa la messa in sicurezza di WordPress. Una pratica molto negativa è quella di fornire agli utenti con ruolo author o contributor l’accesso da amministratori, ma sfortunatamente, si verifica sempre. È importante dare agli utenti i ruoli e le autorizzazioni corretti in modo che non rompano nulla. Per questo motivo può essere utile semplicemente disabilitare la pagina “Aspetto – Editor” in WordPress.

Molti di voi probabilmente ci si saranno imbattuti a un certo punto. Andate a modificare rapidamente qualcosa nell’Editor dell’Aspetto, e all’improvviso vi trovate lo schermo bianco della morte. È molto meglio modificare il file localmente e caricarlo via FTP. E, naturalmente, nella migliore prassi, dovreste prima provare cose come questa su un sito di sviluppo.

Editor Aspetto di WordPress
Editor Aspetto di WordPress

Inoltre, se il vostro sito WordPress viene violato la prima cosa che un hacker potrebbe fare è provare a modificare un file o un tema PHP tramite l’Editor dell’Aspetto. Questo è un modo rapido per eseguire codice dannoso sul vostro sito. Se non diamo accesso all’editor nella dashboard, tanto per cominciare, è possibile prevenire gli attacchi. Inserite il seguente codice nel vostro file wp-config.php per rimuovere le funzionalità ‘edit_themes’, ‘edit_plugins’ e ‘edit_files’ per tutti gli utenti.

define('DISALLOW_FILE_EDIT', true);

17. Prevenire l’Hotlinking

Il concetto di hotlinking è molto semplice. Trovate un’immagine da qualche parte su Internet e utilizzate l’URL dell’immagine direttamente nel vostro sito. Questa immagine sarà visualizzata sul vostro sito web ma sarà servita dalla posizione originale. Questo è in realtà un furto poiché utilizza la larghezza di banda del sito collegato. Questo potrebbe non sembrare un grosso problema, tuttavia potrebbe generare alti costi aggiuntivi.

The Oatmeal è un ottimo esempio. L’Huffington Post ha utilizzato l’hotlink per un suo fumetto composto da più immagini, e questo ha ricevuto un conto della enorme cifra di oltre $1.000.

Hotlinking
Il conto dell’hotlinking

Prevenire l’Hotlinking in Apache

Per evitare l’hotlinking in Apache basta aggiungere il seguente codice al file .htaccess.

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ http://dropbox.com/hotlink-placeholder.jpg [NC,R,L]

La seconda riga definisce il referrer consentito – il sito che è autorizzato a collegarsi direttamente all’immagine, questo dovrebbe essere il vostro sito web. Se si desidera autorizzare più siti, è possibile duplicare questa riga e sostituire il referrer. Se volete generare regole più complesse, date un’occhiata a questo generatore di protezione di htaccess dall’hotlinking.

Impedire l’Hotlinking in NGINX

Per evitare l’hotlinking in NGINX è sufficiente aggiungere il seguente codice al file di configurazione.

location ~ .(gif|png|jpe?g)$ {
valid_referers none blocked ~.google. ~.bing. ~.yahoo yourdomain.com *.yourdomain.com;
if ($invalid_referer) {
return 403;
}
}

Impedire l’Hotlinking su CDN

Se state servendo le immagini da un CDN, la configurazione potrebbe essere leggermente diversa. Ecco alcune risorse con i provider CDN più diffusi.

18. Fare Sempre i Backup

I backup sono l’unica cosa di cui tutti sanno di aver bisogno ma che non sempre fanno. La maggior parte delle raccomandazioni riportate sopra sono misure di sicurezza che è possibile adottare per proteggersi meglio. Ma non importa quanto sia sicuro il vostro sito, non sarà mai sicuro al 100%. Quindi avrete bisogno di backup nel caso in cui succeda il peggio.

La maggior parte dei provider di hosting WordPress gestiti ora fornisce backup. Kinsta dispone di backup automatici che vi consentono di dormire tranquilli di notte. Inoltre, potete ripristinare il vostro sito con un solo clic.

Backup in MyKinsta.
Backup in MyKinsta.

Se il vostro host non offre backup, ci sono alcuni servizi e plugin per WordPress molto popolari che potete utilizzare per automatizzare il processo.

Servizi di Backup WordPress

I servizi di backup dei siti di WordPress di solito hanno una tariffa mensile bassa e archiviano i backup nel cloud.

Plugin di Backup WordPress

I plugin di backup di WordPress vi permettono di prelevare i vostri backup via FTP o integrarli con una fonte di archiviazione esterna come Amazon S3, Google Drive o Dropbox. Consigliamo vivamente di utilizzare una soluzione incrementale in modo da utilizzare meno risorse.

Nota: non consentiamo l’utilizzo di plugin di backup sui server di Kinsta a causa di problemi sulle prestazioni. Ma facciamo così perché gestiamo tutto questo a livello di server, in modo da non rallentare il ​​vostro sito WordPress.

19. Protezione DDoS

DDoS è un tipo di attacco DOS in cui vengono utilizzati più sistemi per colpire un singolo sistema generando un attacco Denial of Service (DoS). Gli attacchi DDoS non sono una novità – secondo la Britannica il primo caso documentato risale ai primi anni del 2000. A differenza di un hacker che ha violato il vostro sito, questo tipo di attacchi normalmente non danneggia il sito, ma lo interrompe per poche ore o qualche giorno.

Cosa potete fare per proteggervi? Uno dei migliori consigli è quello di utilizzare un servizio di sicurezza di terze parti affidabile, come Cloudflare o Sucuri. Se gestite un’attività, può aver senso investire nei loro piani premium. Se il vostro sito è ospitato su Kinsta, non dovete preoccuparvi di impostare la protezione DDoS. Tutti i nostri piani includono un’integrazione gratuita di Cloudflare con protezione DDoS integrata.

Protezione DDoS di Cloudflare e Sucuri
Protezione DDoS di Cloudflare e Sucuri

La loro protezione DDoS avanzata può essere utilizzata per mitigare gli attacchi DDoS di tutte le forme e dimensioni, compresi quelli che hanno come target i protocolli UDP e ICMP, nonché gli attacchi SYN/ACK, di amplidicazione del DNS e Layer 7. Altri vantaggi comprendono la possibilità di associare un proxy che aiuta a nascondere l’indirizzo IP di origine, sebbene questo non sia proprio blindato.

Date un’occhiata al nostro caso di studio su come fermare un attacco DDoS. Avevamo un cliente con un piccolo sito di e-commerce su Easy Digital Download che ha ricevuto oltre 5 milioni di richieste su una singola pagina in 7 giorni. Generalmente il sito generava solo tra 30-40 MB al giorno come consumo di banda, e un paio di centinaia di visitatori al giorno. Ma, inaspettatamente, il sito è salito istantaneamente a 15-19 GB di trasferimento dati al giorno! É un aumento del 4650%. E Google Analytics non ha mostrato traffico aggiuntivo. Quindi non va bene.

Alto consumo di banda
Alto consumo di banda per un attacco DDoS

Il cliente ha implementato sul proprio sito il web application firewall di Sucuri e tutta la larghezza di banda e le richieste sul sito sono state immediatamente rilasciate (come mostrato di seguito) e da allora non si è verificato nemmeno un problema. Quindi, si tratta sicuramente di un buon investimento e di un risparmio di tempo se vi imbatti in problemi come questi.

Firewall applicazione web Sucuri
Aggiunta del firewall dell’applicazione web di Sucuri

Riepilogo

Come potete vedere, ci sono numerosi modi per aumentare la sicurezza di WordPress. L’utilizzo di password intelligenti, l’aggiornamento del core e dei plugin e la scelta di un sicuro host WordPress gestito, sono solo alcuni di quelli che manterranno il vostro sito WordPress attivo e funzionante. Per molti di voi, il sito WordPress costituisce la vostra azienda e il vostro reddito, quindi è importante prendersi del tempo e mettere in atto alcune delle migliori pratiche di sicurezza sopra menzionate.

Avete qualche consiglio importante sulla sicurezza di WordPress che ci è sfuggito? Se è così, fatecelo sapere qui sotto nei commenti.

Brian Jackson

Brian ha una grande passione per WordPress, lo usa da più di dieci anni e sviluppa anche un paio di plugin premium. Brian ama i blog, i film e le escursioni. Entra in contatto con Brian su Twitter.