Come proteggere il tuo sito WordPress – guida completa alla sicurezza di WordPress

Guida alla sicurezza di WordPress

Il tuo sito web è bellissimo, hai un traffico eccellente e nel complesso sei soddisfatto. Tuttavia, tutto questo non vale nulla se il tuo sito viene violato e perdi contenuti, clienti e l’accesso al tuo sito.

Per evitare che ciò accada, ho scritto questo concetto di sicurezza completo per il tuo sito WordPress.

Ho esaminato a fondo l’intero articolo Hardening WordPress per mostrarti come implementare tutte le raccomandazioni di sicurezza in una semplice guida passo passo, in modo da rendere il tuo sito WordPress a prova di proiettile contro i tentativi di hackeraggio.

Video: come proteggere il tuo sito WordPress

Se preferisci guardare un video invece di leggere questo articolo su come proteggere il tuo sito WordPress, puoi vedere questo video:

Ti piacerebbe vedere altri video come questo?
Check out our canale YouTube.

Ho diviso questo articolo in tre passaggi.

  • Per prima cosa, esaminiamo la base per un sito WordPress sicuro: il provider di hosting.
  • Nel secondo passaggio, installiamo il plugin "WP STAGING" per creare una rete di sicurezza quando si installano nuovi plugin o temi. Imposteremo anche un plugin di backup per ripristinare rapidamente il sito WordPress, nel peggiore dei casi, a seguito di un attacco hacker riuscito.
  • Nell’ultimo passaggio, configuriamo il plugin di sicurezza "Solid Security" per impedire agli attaccanti di accedere al nostro sito.

Scegliere il provider di hosting giusto

Iniziamo dalla base della sicurezza del tuo sito: il provider di hosting.

Esistono moltissimi web host e la maggior parte soddisfa i requisiti minimi per WordPress, ma scegliere uno tra la folla può richiedere tempo.

  1. PHP versione 7.4 o superiore.
  2. MySQL versione 8.0 o superiore OPPURE MariaDB versione 10.5 o superiore.
  3. Supporto HTTPS

[Valido per WordPress 6.7 – marzo 2025]

In ogni caso, verifica che il tuo provider soddisfi questi requisiti.

Se non sei sicuro di quale provider scegliere, opta per uno dei provider di hosting raccomandati da WordPress.org.

Bluehost provider di hosting WordPress
Bluehost
DreamHost provider di hosting WordPress
DreamHost
SiteGround provider di hosting WordPress
SiteGround

Se utilizzi già uno dei provider consigliati o hai verificato i criteri di sicurezza del tuo provider, puoi continuare a proteggere il tuo sito.

Aggiornamenti sicuri e creazione di un backup

Aggiornare regolarmente il core di WordPress e i plugin è consigliato per correggere problemi di sicurezza ed errori, perché il software obsoleto non riceve più aggiornamenti di sicurezza e il tuo sito diventa molto più suscettibile a tentativi di hackeraggio malevoli.

Assicurati quindi di mantenere aggiornati il core di WordPress, i plugin e i temi. Apri la Bacheca di WordPress e clicca su "Aggiornamenti". Otterrai una panoramica degli aggiornamenti del sistema core di WordPress, dei plugin e dei temi.

Aggiornamenti di WordPress
WordPress Updates

Alcuni utenti di WordPress hanno paura di aggiornare i loro siti WordPress. Temono che farlo danneggi il loro sito.

WordPress Critical Error

Affrontiamo questo argomento in un articolo separato intitolato "Perché e come disabilitare gli aggiornamenti automatici di WordPress."

Aggiornamento sicuro con "WP STAGING"

Per evitare danni al tuo sito web durante i test e le modifiche, puoi usare il plugin gratuito "WP STAGING".

Apri l’area "Plugin" nel menu laterale e clicca su "Aggiungi nuovo". Poi digita "WP STAGING" nella barra di ricerca. Installa e attiva il plugin.

Plugin WP Staging
WP STAGING Plugin

Apri il plugin WP STAGING. Poi clicca su "Create Staging Site", assegna un nome e clicca su "Start Cloning". Il plugin crea una copia del tuo sito. Successivamente puoi usare il pulsante "Open Staging Site" per accedere al tuo sito di staging e provare tutte le modifiche in un ambiente sicuro senza mettere a rischio il sito di produzione.

WP Staging crea nuovo sito di staging
WP STAGING Create New Staging Site

Ti consiglio di passare direttamente all’implementazione e testare le modifiche dell’articolo su un sito di staging invece di lavorare direttamente sul tuo sito.

Puoi riconoscere dalla barra del menu arancione che stai lavorando sul sito di staging creato da WP STAGING.

Barra del menu arancione di WPSTAGING
WPSTAGING Orange Menu Bar

Creare un backup con "WP Staging"

Effettuare il backup del tuo sito è un processo fondamentale per qualsiasi sito WordPress. Per evitare di perdere tutti i progressi, i dati e gli ordini, nel peggiore dei casi quando il tuo sito viene hackerato, devi avere un backup del sito WordPress.

Iniziamo.

Vai su WordPress > Plugin > Aggiungi nuovo e cerca "WP STAGING"

Se non sei sicuro di come installare il plugin, consulta il nostro articolo "How to install WP STAGING | PRO".

Ora clicca sul pulsante "Backup & Migration". WP STAGING | PRO cercherà i backup esistenti.

Pulsante WP Staging Backup & Restore
Backup & Restore Button

Le opzioni sono "Create Backup" e "Upload Backup".

Clicca su "Create a backup".

Pulsante WP Staging Create Backup
Create a New Backup Button

Puoi facoltativamente assegnare un nome con cui identificare il backup.

Ad esempio, se prevedi di aggiornare WooCommerce o un altro plugin, puoi chiamare il backup "Backup before installing WooCommerce".

Poi seleziona i componenti del tuo sito che WP STAGING | PRO deve includere nel backup. Lascia tutte le caselle selezionate a meno che tu non voglia effettuare un test particolare. Ora clicca su "Start Backup".

WP Staging crea backup del sito
Start the Backup Process

Il tempo necessario per creare un backup varia e dipende dalle dimensioni del tuo sito, ma la funzione di backup di WP STAGING è piuttosto veloce e di solito molto più rapida di altri strumenti di backup. Quindi, specialmente per siti enormi, noterai un notevole vantaggio in termini di prestazioni rispetto ad altri strumenti.

Processo di backup di WP Staging
The Backup is Completed
Backup di WP Staging completato

Quando il backup è pronto, troverai il backup appena creato nell’elenco "Your Backups". Le icone indicano quali componenti sono inclusi nel backup.

Contenuti del backup di WP Staging

Scaricare il file di backup

Per scaricare il backup, clicca su Actions e Download. Questo scaricherà un file con estensione ".wpstg".

Opzione di download del backup di WP Staging
Download the Backup

È sempre consigliato scaricare il file di backup su un computer locale, perché vuoi assicurarti di avere sempre accesso al file di backup. Ad esempio, se un attaccante violasse il tuo sito, potrebbe eliminare il file di backup da lì e non potresti più ripristinare il sito.

Scarica il file di backup di WP Staging sul sistema locale

Ripristinare il file di backup

Quindi, per ripristinare il backup in caso di sito malfunzionante, puoi selezionare il backup dall’elenco di quelli esistenti o, come consigliato, caricare il file di backup dal tuo computer locale.

Una grande funzionalità è che puoi anche caricare il file di backup su qualsiasi altro sito WordPress esistente e usarlo per clonare il tuo sito su un altro server o sito.

Torna su WP STAGING e clicca sul pulsante "Upload Backup".

Opzione di upload del backup di WP Staging
Upload Backup Button

Seleziona il backup scaricato dall’esplora file e caricalo.

Opzioni di upload del file di backup di WP Staging
Select the WP STAGING Backup File

Una volta caricato il backup, clicca su Actions e sul pulsante "Restore", e apparirà un popup. Carica il tuo file di backup trascinandolo, inserendo una "URL", oppure caricandolo via "FTP" nella directory indicata. All’interno vedrai due pulsanti: "Cancel" e "Next". Clicca su "Next" per procedere.

WP Staging ripristina backup, pulsante Next

Dopo aver cliccato su "Next", apparirà una nuova finestra. Poi clicca su "Restore" per avviare il ripristino.

Pulsante di ripristino del backup di WP Staging
Click on Restore

Se il ripristino ha successo, vedrai la finestra modale "Finished Successfully".

Backup di WP Staging completato

Apri il tuo sito e verifica se funziona come previsto ed è completamente operativo.

Pianificare backup automatici

Con WP STAGING puoi risparmiare tempo e fatica impostando i backup affinché vengano eseguiti automaticamente. Niente più obbligo di ricordarsi di fare il backup del sito ogni volta che effettui una modifica. Puoi rilassarti sapendo che il tuo sito è sempre salvato e al sicuro.

Backup "Create Backup", deseleziona "One-Time-Only" e poi scegli dalle opzioni mostrate quanto spesso eseguire i backup, quando iniziare e quanti backup conservare.

Backup automatico di WP Staging

Tutto qui. Con l’aiuto di WPSTAGING | PRO, hai creato e ripristinato un backup dell’intero sito WordPress.

Rafforzare il tuo sito con un plugin di sicurezza

Per preparare questo articolo ho provato i plugin di sicurezza più popolari: "WordFence" e "Solid Security".

Wordfence e iThemes Security
Wordfence and Solid Security

Entrambi sono plugin eccellenti, ma ho scelto Solid Security per la configurazione più semplice e le funzionalità aggiuntive per il rafforzamento del sito WordPress.

Installare il plugin "Solid Security"

Installa e attiva il plugin. Ora possiamo aprire il nuovo tab "Security" nel menu laterale cliccando su "Settings".

Avviare un controllo di sicurezza iniziale

Si apre il "Security Check" di Solid Security. Questo "Security Check" è uno strumento a un click che installa i moduli richiesti su ogni sito WordPress. Tra questi, ad esempio, la "Brute Force Protection" o l’applicazione delle "Strong Passwords". Spiegherò le funzioni dei vari moduli subito dopo il "Security Check".

Seleziona "Security Check Scan" per continuare.

Solid Security
Security Check
Solid Security: avvia scansione del sito

Sono necessari altri due click per completare il processo.

Solid Security: SSL, Network Bruteforce Protection

Solid Security: SSL, Network Bruteforce Protection
Solid Security: SSL, Network Bruteforce Protection
Solid Security: SSL, Network Bruteforce Protection

Un click conferma il "reindirizzamento delle richieste HTTP a richieste HTTPS". Questa funzione assicura che ai tuoi visitatori non siano disponibili pagine non cifrate.

L’altro click attiva la "Network Brute Force Protection".

Impostazioni di Solid Security

Un attacco brute force è un metodo che tenta di scoprire password o chiavi tramite test automatizzati e casuali. Solid Security protegge il sito con la "Local Brute Force Protection" e attraverso una rete di "Brute Force Protection". Aggiungi il tuo sito WordPress alla rete, e Security protegge il tuo sito dagli attacchi che hanno già colpito un altro sito.

L’indirizzo email dell’amministratore è selezionato qui per impostazione predefinita.

Puoi anche autorizzare di essere informato sulle novità; io lascio questa opzione su "No".

Conferma l’attivazione e chiudi il security check.

Scanner antimalware

Come molti plugin, Solid Security offre versioni gratuita e pro. Puoi decidere nel corso dell’articolo se ritieni utile la versione Pro. Se una funzionalità della versione premium ha senso per te, la menzionerò.

Funzionalità pro di Solid Security
Solid Security Pro Features

Per prima cosa, diamo un’occhiata alla scansione antimalware.

Avvia scansione del sito
Site Scan

WordPress.org sottolinea l’importanza di non scaricare tutta la responsabilità della sicurezza sull’host, ma di prenderla in mano in prima persona. Nel farlo, si riferisce in particolare alle applicazioni installate.

Usiamo lo scanner antimalware di Solid Security per verificare se le applicazioni installate vengono classificate come dannose da Solid Security.
Per farlo, scorriamo verso il basso e troviamo lo scanner sulla destra. Anche la versione gratuita di Solid Security ha uno scanner antimalware, sebbene manuale. La versione Pro dispone di uno scanner antimalware automatico.

Clicca su "Run Scan" per scansionare il tuo sito. Poi vai alla "logs page" per verificare i risultati.

Log di Solid Security

Installa plugin solo da fonti affidabili per non dare ad applicazioni malevole la possibilità di entrare nel tuo sito.

I moduli consigliati di "Solid Security"

Ora arriviamo ai singoli moduli di Solid Security. Esistono due visualizzazioni, la "block view" e la "list view". È più facile esaminare i diversi moduli passo passo nella vista a elenco; modifichiamo la visualizzazione in alto a sinistra da "block-" a "list view".

Security Check

Il modulo "Security Check" elenca solo le precauzioni standard che abbiamo confermato all’inizio della configurazione.

Impostazioni globali

"Write to Files": se disattivi questa opzione, devi aggiungere manualmente le opzioni di configurazione ai file "wp-config.php" e ".htaccess". Pertanto, non consiglio di rimuovere questo segno di spunta.

Solid Security: Write to Files
Solid Security: Write to Files

Poiché modificheremo i permessi dei file in seguito, revocheremo comunque i permessi di scrittura per questi file, quindi ha senso lasciare che Solid Security esegua le modifiche fino a quel cambiamento.

I "Lockout messages" vengono mostrati all’host, all’utente o alla community se Solid Security li blocca dal tuo sito WordPress o segna il loro indirizzo IP come malevolo. Puoi modificare questi messaggi per renderli più amichevoli se hai account cliente sul tuo sito.

Solid Security: messaggio di blocco

Di seguito ci sono le impostazioni specifiche per i blocchi. Il "Lockout Period" indica per quanto tempo WordPress bloccherà l’utente / l’indirizzo IP dopo aver raggiunto il limite massimo di tentativi di accesso errati.

Il "Ban Lookback Period" regola per quanto tempo Solid Security ricorda i blocchi e li somma. "Ban Threshold" determina quanti blocchi un utente o un indirizzo IP può ricevere prima di essere bloccato in modo permanente.

Solid Security: impostazioni di blocco

Solid Security: impostazioni di blocco per specificare quanti tentativi di accesso ha un utente / IP prima di essere bloccato. Scorriamo fino al modulo "Local Brute Force Protection".

"Minutes to Remember Bad Login" indica quando Solid Security somma i tentativi di accesso errati. Solid Security conterà due tentativi se l’utente / IP inserisce dati di accesso errati alle 17:05 e 17:07. Se l’attaccante effettua il successivo tentativo di accesso errato alle 18:00, il contatore riparte da 1.

Nell’area "Max Login Attempts Per User" puoi specificare quanti tentativi ha un nome utente prima di essere bloccato.

"Max Login Attempts Per Host" sembra molto simile. Quest’area entra in gioco se un attaccante usa più computer all’interno di un indirizzo IP. L’IP viene bloccato non appena l’attaccante raggiunge quel valore.

In base al tuo sito, regola le impostazioni in "Local Brute Force Protection" e "General settings". Se hai account cliente sul tuo sito, puoi impostare il valore massimo per i tentativi di accesso errati un po’ più alto o accorciare la durata del blocco. Per i siti in cui solo tu effettui l’accesso, puoi consentire meno tentativi.

Esempio: un utente prova ad accedere al tuo sito WordPress cinque volte in cinque minuti. "Local Brute Force Protection" blocca l’utente per 15 minuti. Solid Security blocca l’utente in modo permanente se questo blocco si ripete due volte in sette giorni.

Continuiamo con il modulo "Global Settings".

La "Authorized Hosts List" ti consente di aggiungere host che Solid Security non escluderà dal sito WordPress. Questa opzione impedisce di perdere l’accesso al tuo sito se dovessi attivare un blocco.

Per farlo, clicca su "Add my current IP to the Authorized Hosts List".

Add my current IP to the Authorized Hosts List

WordPress.org consiglia di approfondire la registrazione (logging) del tuo sito WordPress per risolvere problemi o capire cosa è successo e recuperare il sito dopo un attacco.

Solid Security salva i "File Logs".

Solid Security può salvare sia i "File Logs" sia i "Database Logs". Come accennato nel modulo "Site Scan", puoi accedere ai log dal menu laterale cliccando su "Logs".

Se utilizzi già molti plugin e desideri mantenere ordinato il menu di WordPress, puoi farlo selezionando la casella sotto "Hide Security Menu in Admin Bar".

Notification Center

Nel modulo "Notification Center" scorri fino a "Site Lockouts". Questa impostazione è attiva per impostazione predefinita, il che significa che riceverai una notifica via email ogni volta che un utente o un host viene bloccato. La configurazione dipende dal tuo sito. Sarebbe meglio disattivare questa opzione per i siti a cui accedono clienti o molti utenti di WordPress, perché spesso qualcuno dimentica la propria password. Tuttavia, se usi il sito solo tu, puoi attivarla con tranquillità, poiché Security può notificarti direttamente di un possibile attacco.

Solid Security: Site Lockouts
Solid Security: Site Lockouts

User Groups

Non è necessario modificare alcuna impostazione sotto "User Groups".

Away Mode

Consiglio di attivare l’"Away Mode" con cautela, poiché rende la bacheca di WordPress inaccessibile a tutti gli utenti per un periodo selezionato.

Banned User

Sotto la scheda "Banned User", puoi bloccare gli indirizzi IP di specifici utenti o host. Questa opzione significa che neghi immediatamente e completamente a quell’IP l’accesso al tuo sito. L’elenco funziona come la "Authorized Hosts List" ma al contrario. Invece di non bloccare mai determinati IP, questo elenco li blocca completamente.

Solid Security: Banned Users
Solid Security: Banned Users

Database Backup

Puoi disattivare la funzione "Database Backup" perché abbiamo già installato un plugin di backup che crea sia backup del database sia dei file.

Solid Security: Database Backup
Solid Security: Database Backup

File Change Detection

Consiglio di attivare "File Change Detection". Se, ad esempio, un attaccante ha violato il server del tuo provider di hosting e tenta di modificare o eliminare i tuoi file core di WordPress, riceverai una notifica via email. WordPress.org consiglia di abilitare il monitoraggio delle modifiche ai file.

Solid Security: File Change Detection

File Permission

Il modulo "File Permission" ci offre alcuni spunti interessanti sul cuore del nostro sito WordPress. Si consiglia di controllare i permessi dei file.

Apri la finestra del modulo e clicca su "Load File Permission Details". Solid Security ora mostra i percorsi dei file WordPress rilevanti per la sicurezza e i diritti di accesso ai file o alle cartelle. Vengono mostrati sia il valore effettivo sia quello obiettivo. Nel mio caso Solid Security suggerisce una modifica in due posizioni: i file "wp-config.php" e ".htaccess".

Solid Security: permessi dei file
Solid Security: Tools > File Permissions

Un numero di tre cifre regola i permessi del file. Il primo numero regola i permessi per l’"user"; ovvero l’amministratore del sito. Più persone possono avere diritti di amministratore. Il secondo numero regola i permessi per il "Group"; ciò include gli altri utenti del sito, ad esempio editor, collaboratori o altri ruoli utente. L’ultimo numero descrive i diritti per "World", che include chiunque su Internet acceda al tuo sito.

Un numero di tre cifre regola i permessi dei file
A three-digit number regulates the file permissions

Il wp-config.php è il file di configurazione della tua applicazione WordPress. Poiché è uno dei file più critici, devi assicurarti di averlo protetto adeguatamente.

Solid Security consiglia qui "444"; tutti hanno accesso in lettura, ma nessuno può scrivere.

Solid Security: File Permission Suggestion “444”

WordPress.org consiglia di proteggere il file con "400" / "440". Con il valore "440" tu, l’amministratore, e l’utente avete accesso in lettura, ma nessun visitatore. Con "400" solo tu, in qualità di amministratore, hai accesso in lettura; questa è l’opzione più sicura.

WordPress.org: File Permission Suggestion “400” / “440”

È fondamentale capire che questi permessi di file si riferiscono al sito reale; in quanto proprietario del sito puoi regolare questi permessi in qualsiasi momento via FTP / cPanel e non perderai mai l’accesso effettivo.

Il valore da scegliere dipende dalla configurazione del server. WordPress.org consiglia di bloccare il più possibile i permessi dei tuoi file e di allentare queste restrizioni solo se devi consentire l’accesso in scrittura. Ciò significa iniziare con il permesso "400" o "440" e aumentare il valore da lì finché WordPress non funziona. Usa al massimo "600" o "640".

Ora capisci come sono composti i permessi dei file e quali permessi dobbiamo modificare.

Tuttavia, sarebbe controproducente implementare immediatamente la modifica dei permessi dei file, poiché negheremmo a Solid Security i permessi di scrittura, il che significherebbe dover aggiungere manualmente le modifiche al file "wp-config.php" alla fine della configurazione.

Modificheremo i permessi dei file affrontando il modulo "System Tweaks".

Local Brute Force Protection

Il modulo successivo è "Local Brute Force Protection". Queste impostazioni le abbiamo già configurate nelle impostazioni generali.

Network Brute Force Protection

Abbiamo anche configurato le impostazioni di "Network Brute Force Protection" all’inizio durante il "Security Check".

Password Requirements

Usare una password sicura è un altro aspetto cruciale per evitare potenziali vulnerabilità.

Dovresti evitare quanto segue nella scelta di una password:

Raccomandazioni di WordPress.org per password sicure
WordPress.org: recommendations for strong passwords

Il modulo "Strong Password" aiuta a implementare questi requisiti.

Per impostazione predefinita, Solid Security attiva questa impostazione per tutti i ruoli utente. Dovresti regolare queste impostazioni in base al tuo sito. Ad esempio, puoi imporre password sicure solo per il ruolo utente Amministratore.

Solid Security: password sicure
Solid Security: Strong Passwords

È consigliata anche l’autenticazione a due fattori.

La tecnica di autenticazione a due fattori richiede agli utenti di accedere tramite un metodo di autenticazione in due passaggi. Il primo passaggio è nome utente e password, e il secondo fattore è un’autenticazione, ovvero un codice proveniente da un dispositivo o un’app separati.

Questa funzione è disponibile nella versione Pro di Solid Security. In alternativa, puoi cercare il plugin gratuito di autenticazione a due fattori "WP2FA" nel repository dei plugin.

Installa il plugin WP 2FA
Install – WP 2FA Plugin

Per prima cosa devi installare e attivare il plugin Two-Factor Authentication. Dopo l’attivazione, clicca nei plugin di WordPress sotto "WP 2FA – Two-factor authentication for WordPress" su "Configure 2FA Settings". Questo ti porterà al "setup wizard".

Successivamente, installa un’app 2FA sul tuo telefono. Consiglio "Google Authenticator".

App Google Authenticator
Google Authenticator App

Apri la tua app di autenticazione e scansiona il codice QR nel "Setup wizard".

Inserisci il codice mostrato nell’app sul tuo smartphone.

WP 2FA: scansiona il codice QR
WP 2FA: Scan the QR Code

Se hai bisogno di ulteriore aiuto per configurare l’app, clicca su "For detailed guides for your desired app, click below".

Tutto qui; la tua app di autenticazione salverà ora il codice inviato una volta da "WP2FA". Ora regola le impostazioni che si adattano al tuo sito WordPress.

La prossima volta che accederai al tuo sito, il plugin ti chiederà il codice di autenticazione a due fattori dopo aver inserito la tua password.

WP 2FA: accesso
WP 2FA: Login

Per farlo, apri di nuovo l’app di autenticazione sul telefono e inserisci il codice che vedi.

Torniamo a Solid Security.

SSL

Il modulo "SSL" reindirizza tutte le richieste "HTTP" a richieste HTTPS se è disponibile un certificato SSL. Solid Security ha attivato questo modulo nel "Security Check".

System Tweaks

Apri "System Tweaks" e clicca su "Enable". Dobbiamo selezionare alcune caselle. I moduli "System Tweaks" e "WordPress Tweaks" presentano diverse ottimizzazioni per migliorare ulteriormente la sicurezza del tuo sito WordPress. Tuttavia, alcune di queste opzioni possono entrare in conflitto con il tuo sito; dipende dal tuo sito. Pertanto, controlla la piena funzionalità dopo ogni attivazione selezionando la casella, cliccando su "Save Settings" e ricaricando il frontend della pagina.

iThemes Security: testa il tuo sito dopo aver abilitato ogni impostazione
Solid Security: Test Your Site After Enabling Each Setting

Directory browsing: gli hacker possono usare la ricerca nelle directory per scoprire se sul tuo sito WordPress ci sono file con vulnerabilità note, così da utilizzarli per accedere al tuo sito.

Sfogliare le directory può anche essere usato per curiosare nei tuoi file, copiare immagini, scoprire la struttura delle directory e ottenere altre informazioni sul sito. Per questo motivo, raccomando vivamente di attivare "disable directory browsing".

Per verificare se il browsing delle directory sul tuo sito è già disattivato, inserisci example.com/wp-content. Se ricevi una pagina bianca, va tutto bene, ma se il tuo sito consente ai visitatori l’accesso alla directory, c’è un significativo problema di sicurezza.

File write permissions: come accennato nel modulo "File Permission", Solid Security consente di impostare i permessi dei file solo al valore "444".

iThemes Security: rimuovi i permessi di scrittura sui file
Solid Security: Remove File Writing Permissions v

Tuttavia, poiché WordPress.org consiglia di usare "400" o "440", lo modifichiamo manualmente via FTP.

WordPress.org: suggerimento permessi file "400" / "440"
WordPress.org: File Permission Suggestion “400” / “440”

Uso "FileZilla" per accedere al database dell’installazione WordPress via FTP sul server del provider di hosting. In alternativa, puoi farlo anche tramite cPanel.

Filezilla
Filezilla

Connettiti al server; otterrai "Host", "Username" e "Password" dal tuo provider di hosting.
È consigliato usare la crittografia SFTP quando ti connetti al tuo server. Se non sei sicuro che il tuo host fornisca SFTP, chiediglielo. Usare SFTP è uguale a FTP, tranne che la tua password e gli altri dati vengono cifrati e trasmessi tra il tuo computer e il tuo sito.

Apri la cartella "HTML". Lì troverai il file wp-config.php.

Filezilla: “wp-config.php” and “.htaccess” Files

Seleziona il file "wp-config.php" e fai clic destro su di esso per aprire il menu contestuale. Clicca su "file permission".

Filezilla: permessi dei file

Ora puoi assegnare i permessi del file desiderati. Revoco i permessi di lettura a "public" e "group" e revoco i permessi di scrittura al "owner", noto anche come "admin".

Filezilla: File Permissions “wp-config.php”

Clicca su OK e FileZilla salverà i nuovi permessi.

Apporta queste stesse modifiche per il file ".htaccess" di nuovo. Revoca i permessi di lettura a "public" e "group" e revoca i permessi di scrittura al "owner".

Filezilla: permessi dei file ".htaccess"
Filezilla: File Permissions “.htaccess”

Non modificare gli altri percorsi dei file, ad esempio il percorso "wp-content"; in caso contrario, WordPress non funzionerà più correttamente.

Torniamo al modulo "System Tweaks" in Solid Security.

"PHP in uploads, PHP in plugins, PHP in themes." Se qualcuno tenta di caricare un file PHP nel frontend del tuo sito, comprese le aree media, plugin e temi, si tratta quasi sempre di un possibile attacco. Questa opzione, quindi, vieta il formato di file "PHP" per quelle directory.

WordPress Salts

I "WordPress Salts" proteggono le password che salvi nel browser. Se salvi la tua password nel browser quando accedi, WordPress la memorizza in due cookie. Tuttavia, se WordPress avesse salvato la tua password in chiaro, gli attaccanti potrebbero decifrarla rapidamente.

Le chiavi di sicurezza e i salt evitano questo problema lavorando insieme per trasformare crittograficamente quella password in chiaro in un guazzabuglio casuale di caratteri.

Puoi trovare queste chiavi di sicurezza e i salt nel file wp-config.php; quattro chiavi e quattro salt.

“wp-config-php”: Security Keys and Salts

Confermando "Change WordPress Salts" e salvando le impostazioni, Solid Security modifica i Salt di WordPress. Tuttavia, questo significa anche che tutti gli utenti vengono disconnessi dalla sessione corrente e devono effettuare nuovamente l’accesso. Quindi pensa a quando effettuare questa modifica. Solid Security consiglia di cambiare i "Salts" di WordPress almeno una volta al mese.

WordPress tweaks

Come per i system tweaks, possiamo apportare modifiche rilevanti anche ai "WordPress Tweaks" selezionando alcune caselle. Come per i "System Tweaks", assicurati di controllare la piena funzionalità del tuo sito dopo ogni attivazione.

iThemes Security: testa il tuo sito dopo aver abilitato ogni impostazione
Solid Security: Test Your Site After Enabling Each Setting

Per prima cosa, selezioniamo la casella accanto a "Comment Spam"; questo riduce lo spam nell’area commenti.

Assicuriamoci anche che il File Editor sia disabilitato; questa è un’altra raccomandazione. WordPress offre per impostazione predefinita la possibilità di modificare sia plugin sia design. Questo editor apre un’ulteriore possibilità agli attaccanti di accedere al tuo sito.

Solid Security: disabilita il File Editor
Solid Security: Disable the File Editor

Lo stesso vale per "XML-RPC". "XML-RPC" è una funzione di WordPress che tu o i plugin potete usare per trasferire dati. "XML-RPC" offre anche agli attaccanti l’opportunità di accedere al tuo sito. Questa interfaccia è rilevante per usare l’app WordPress, trackback, pingback e il plugin JetPack. Se utilizzi una di queste funzioni, non puoi disattivare l’interfaccia "XML-RPC"; in caso contrario, seleziona "Disable XML-RPC".

Clicca su "Save Settings".

I moduli avanzati di "Solid Security"

A questo punto abbiamo finito con i moduli "Recommended" di Solid Security.

Tuttavia, esistono anche moduli "Advanced" che aiutano a effettuare semplici modifiche con un click tramite questi moduli, modifiche che altrimenti avremmo dovuto fare manualmente.

Come accennato

voglio ricordarti di provare tutte le modifiche su un sito di staging. Altrimenti, potrebbe portare a complicazioni sul tuo sito.

Admin User

Il modulo avanzato "Admin User" spunta un’altra raccomandazione di WordPress.org.
WordPress.org consiglia di usare il principio "Security through obscurity" in due punti.

Il primo è rinominare l’account amministratore; il secondo è cambiare il "table_prefix". Solid Security offre la possibilità di effettuare entrambe le modifiche; la modifica del "table_prefix" avviene al passo successivo a quello successivo.

Quando si installa WordPress, il nome utente admin è "admin" per impostazione predefinita. Questa impostazione predefinita spesso non viene cambiata, soprattutto con le installazioni WordPress one-click del provider di hosting. Ma anche se avessi installato WordPress tu, potresti non aver cambiato il nome utente perché non sapevi nulla di meglio. Ciò rende molto più facile per gli attaccanti accedere al sito, poiché non devono crackare nome e password, ma solo la password.

Se il tuo nome utente amministratore è "admin", vedrai il campo "New Admin Username". Se non vedi il campo, significa che hai fatto tutto correttamente durante l’installazione.

Solid Security: nuovo nome utente admin
Solid Security: New Admin Username

Salto il campo "Change User ID 1" a questo punto, poiché può causare complicazioni nell’uso dei plugin.

Change Content Directory

Lo stesso vale per il modulo successivo, "Change Content Directory". Come dice l’avviso, dovresti usare questo modulo solo durante l’installazione di WordPress.

Change Database Table Prefix

Arriviamo ora al secondo punto in cui WordPress.org consiglia il principio "Security through obscurity"; il modulo "Change Database Table Prefix" effettua questa modifica.

Molti attacchi SQL injection specifici per WordPress presuppongono che il "table_prefix" abbia il valore predefinito "wp_". Cambiare questo prefisso può bloccare alcuni attacchi SQL injection.

Se il tuo prefisso di tabella è "wp_", vedrai il seguente messaggio con il consiglio di cambiare il prefisso. "wpstg0_" è mostrato come prefisso di tabella perché mi trovo sul sito di staging e WP STAGING ha creato questo prefisso di tabella.

iThemes: cambia prefisso tabelle
Solid Security: New Change Table Prefix

Puoi vedere il database tramite il plugin "PhpMyAdmin". Come con i plugin precedenti, puoi scaricarlo tramite "Plugin" e "Add New". Poi aprilo dal menu laterale.

Plugin "phpMyAdmin"
“phpMyAdmin” Plugin

Ora puoi vedere le tabelle con "wpstg0"; queste sono le tabelle del sito di staging. Sotto ci sono le tabelle del sito di produzione con il prefisso "wp_".

phpMyAdmin: Staging Site Tables
phpMyAdmin: tabelle del sito di produzione
phpMyAdmin: Production Site Tables

Torno a Solid Security. Selezionando "Yes" e "Save Settings", Solid Security assegnerà alle tabelle un nuovo prefisso più complesso.

Nuovo prefisso delle tabelle del database
New database table prefix

Passo di nuovo alla scheda "PhpMyAdmin" e, dopo aver aggiornato la pagina, vedo il nuovo prefisso davanti alle tabelle.

phpMyAdmin: nuovo prefisso delle tabelle del database
phpMyAdmin: New database table prefix

Hide Backend

Il modulo "Hide Backend" rende più difficile per gli attaccanti accedere all’area di login di WordPress. Chiunque può raggiungere la pagina di login tramite "example.com/wp-admin" e "example.com/wp-login.php" per impostazione predefinita.

Poiché questa configurazione è identica per tutti i siti WordPress, gli attaccanti possono identificare immediatamente l’area di login dove avviano il loro attacco brute force.

Prima di spiegare il permesso di login, vorrei dire che non ho attivato il modulo perché può causare problemi di accesso usando determinati plugin.

Sotto "Login Slug" puoi vedere l’attuale estensione di login, modificare l’estensione e annotarla. La prossima volta che accederai al tuo sito, inserisci "example.com/nuova estensione".

Il modulo può essere utile per impedire attacchi brute force di basso livello. Se desideri, prova a vedere se il modulo causa complicazioni.

wp-config.php Rules

Nell’ultimo modulo, "wp-config.php Rules", Solid Security può verificare se tutti i moduli possono agire correttamente.

Se Solid Security non trova modifiche richieste, riceverai il messaggio "There is nothing that needs to be written to your wp-config.php file".

Altrimenti, otterrai il messaggio "The following rules need to be written to your wp-config.php".

iThemes: regole di "wp-config.php"

Solid Security: regole "wp-config.php". Questo messaggio appare se non c’è il permesso di "Write" per il file "wp-config.php".

Usiamo FileZilla per riaccedere al database del sito WordPress via FTP per scrivere le regole richieste da Solid Security nel file "wp-config.php". Come già sai dalla personalizzazione dei permessi dei file, il file "wp-config.php" si trova direttamente nella cartella "HTML". Fai clic destro per selezionare "View / Edit" e poi apri l’editor di testo.

Filezilla: "wp-config.php" Visualizza/Modifica
Filezilla: “wp-config.php” View/Edit

Copia e incolla le regole elencate da Solid Security nel file "wp-config.php" direttamente sotto "<? PHP".

Filezilla: inserisci le regole in "wp-config.php"
Filezilla: Insert the Rules into “wp-config.php”

Per chiarire, la regola "DISALLOW_FILE_EDIT" assicura che la disattivazione del file editor, fatta nel modulo "WordPress tweaks", abbia effetto.

"FORCE_SSL_ADMIN" significa che la crittografia SSL è efficace anche a livello di amministratore. Solid Security ha applicato quella impostazione nel "Security Check" all’inizio.

Salva le modifiche e chiudi il file, poi conferma il nuovo upload del file tramite FileZilla.

Conferma delle modifiche ai file
Filezilla: The file has changed

Dopo aver inserito queste regole nel file "wp-config.php", verifica che il sito di staging del tuo sito WordPress sia ancora funzionale. Clicca su "View Site" nella bacheca di WordPress.

Dopo aver testato le modifiche, esegui il push del tuo sito di staging sul sito di produzione utilizzando WP STAGING PRO o ripeti le impostazioni sul sito di produzione.

Wow, quante modifiche! Sono felice che tu sia arrivato fino alla fine.

Ora il tuo sito è eccellentemente posizionato in termini di sicurezza grazie alla scelta del giusto provider di hosting, alla creazione automatica di un backup e all’adattamento del plugin "Solid Security".

Articoli correlati

Rene Hermenau

Autore: Rene Hermenau

Informazioni sull'autore: René Hermenau è il fondatore di WP STAGING. Si occupa di backup WordPress, staging, migrazioni, gestione dei database e flussi di deployment sicuri.