Articoli sulla sicurezza
Esiste un numero significativo di articoli disponibili sulla sicurezza di Joomla che risalgono a molti anni fa. Sfortunatamente, molti di essi sono obsoleti e forse fuorvianti. Ad esempio, esiste una serie di articoli "Security Checklist" che non trattano tutti effettivamente di sicurezza.
Questo articolo si basa su un articolo del Joomla! Community Magazine scritto da Ahmad Moussa nell'edizione di aprile 2021.
Best Practices per proteggere il tuo sito web Joomla
Il sistema di gestione dei contenuti (CMS) Joomla è diffuso su internet grazie alla sua facilità d'uso e popolarità, essendo il secondo CMS più scaricato con oltre 110 milioni di download. Ma, anche se popolare, Joomla e tutti gli altri siti web, app, siti di eCommerce o altri CMS contengono rischi per la sicurezza. Non puoi sfuggirvi, ma fortunatamente prendere le giuste precauzioni fin dall'inizio può garantire che il tuo sito sia protetto.
Abbiamo compilato per te questa guida completa e graduale sulla sicurezza di Joomla. Ha lo scopo di fornire passi facili da seguire per migliorare la sicurezza del tuo sito web Joomla. Quindi, se proteggere il tuo sito web Joomla da tutti gli attacchi futuri è nella tua agenda, leggila. Tutti i suggerimenti menzionati in questo articolo servono ad assicurarti di implementare le migliori pratiche di sicurezza e manutenzione per proteggere online i tuoi beni più importanti.
1. Scegli nomi utente e password intelligenti
Sii intelligente nella scelta dei nomi utente e delle password amministratore di Joomla. Non usare "admin" come nome utente e scegli una password complessa. Questo è probabilmente uno dei modi migliori per rafforzare la sicurezza di Joomla, e ironicamente è anche uno dei più semplici.
Usare una password sicura è necessario per una buona sicurezza di Joomla. Assicurati che la tua password di accesso sia abbastanza lunga (8-14 caratteri) e includa lettere, numeri e simboli. Poiché le password distinguono tra maiuscole e minuscole, usare sia lettere maiuscole che minuscole la rende ancora più forte. Inoltre, prendi l'abitudine di cambiare le password amministratore almeno una volta al mese.
2. Applica il principio del privilegio minimo
Assicurati di comprendere i tre gruppi di permessi distinti:
- Manager: hanno il minimo accesso al backend di Joomla. Possono creare e modificare categorie e articoli. Hanno accesso al gestore media e possono caricare ed eliminare media. Non possono installare o rimuovere estensioni.
- Amministratori: hanno tutti i diritti dei Manager, insieme a qualche permesso aggiuntivo. Hanno accesso alla Gestione utenti, al Gestore menu e al Gestore estensioni. Non possono accedere al menu Configurazione globale di Joomla.
- Super utenti: hanno pieno accesso al backend di Joomla. Hanno tutti i diritti dei Manager e degli Amministratori, insieme all'accesso alla Configurazione globale. Solo i Super utenti possono aggiungere, modificare ed eliminare Super utenti.
È importante distribuire con attenzione questi ruoli al tuo gruppo di utenti. Chiunque abbia un ruolo di Super utente è in grado di eseguire qualsiasi azione all'interno del sistema Joomla. Se deleghi compiti a un membro del team che richiedono meno permessi, assegna all'account del membro la descrizione di accesso minima.
3. Usa l'autenticazione a più fattori di Joomla
È altamente consigliato abilitare l'autenticazione a più fattori di Joomla, che aggiunge un ulteriore livello di sicurezza al tuo sito web Joomla. Tradizionalmente, quando vuoi accedere al tuo sito web, devi fornire il tuo nome utente e la tua password per identificarti nel sistema. Il problema più grande con questo approccio è che il tuo nome utente e la tua password possono essere rubati o indovinati. Pertanto, i plugin di autenticazione a più fattori di Joomla possono proteggere il tuo sito web dagli hacker aggiungendo un secondo livello di sicurezza. Ci sono cinque diversi metodi tra cui scegliere dopo aver inserito il tuo nome utente.
4. Limita l'accesso al backend amministratore di Joomla
È saggio limitare l'accesso al backend amministratore di Joomla usando il filtraggio IP, poiché si tratta di una risorsa sensibile. Questo può essere fatto anche per altre cartelle sensibili di Joomla seguendo i passi indicati di seguito:
Passo 1: innanzitutto, creare un file .htaccess se non è già presente nella directory che si desidera proteggere.
Passo 2: aggiungere il seguente codice al file .htaccess: Order Deny, Allow Deny from all Allow from xx.xx.xx.xx
Passo 3: inserire l'indirizzo IP dedicato da cui si desidera consentire l'accesso al posto di xx.xx.xx.xx.
Ulteriori informazioni su come limitare l'accesso alle directory in base all'indirizzo IP utilizzando htaccess sono disponibili in questo articolo della documentazione di Joomla!. È anche possibile utilizzare estensioni di sicurezza che permettono di limitare l'accesso al backend amministratore di Joomla tramite la funzione di filtraggio IP, e che includono molte altre funzionalità che rafforzano la sicurezza del tuo sito Joomla.
5. Utilizzare connessioni FTP sicure
Assicurati che le connessioni utilizzate per accedere ai file del tuo sito Joomla siano sicure. Dovresti utilizzare la crittografia SFTP se il tuo hosting la fornisce, oppure SSH. Se utilizzi un client FTP, la porta predefinita per SFTP è solitamente la 22.
Alcuni client FTP memorizzano le password in testo semplice o codificato sul tuo computer. Anche alcune password codificate possono essere riconvertite nell'originale. Si consiglia vivamente di non salvare le password FTP nel client per evitare di essere violati.
6. Eseguire backup regolari
Risparmia tempo preparandoti allo scenario peggiore nel caso in cui il tuo sito venga attaccato. Pertanto, si consiglia di creare un backup completo e funzionante del tuo sito Joomla. Un backup funzionante può ripristinare il tuo sito in pochi minuti dopo un attacco informatico.
I due componenti principali di un backup sono:
- Il nucleo di Joomla e altri file importanti
- Il database
Inoltre, anche i metodi di backup possono essere flessibili. Puoi eseguire un backup in due modi – manuale e automatico, come descritto di seguito:
Processo manuale
Il backup manuale del sito Joomla richiede due componenti: i file e il database. Per eseguire il backup dei file e delle cartelle di Joomla, utilizza un'utilità FTP o il file manager nel caso in cui tu utilizzi un hosting di terze parti.
I client FTP possono scaricare tutti i file uno per uno sulla tua macchina locale. Tuttavia, questo processo può essere lento. Una volta scaricati i file, comprimi la cartella in un unico file zip e proteggilo con una password.
Il database invece può essere sottoposto a backup esportandone una copia sul tuo computer. Accedi al database che desideri esportare utilizzando phpMyAdmin. Fai clic sul nome del database sul lato sinistro della pagina. Una volta fatto clic sul tuo database Joomla, dovresti arrivare a una schermata con una scheda denominata "Esporta". Seleziona la scheda Esporta, quindi fai clic sul pulsante denominato "Esegui". Infine, salvalo in una posizione sicura.
Processo automatizzato
Per il backup automatizzato, può essere d'aiuto un'estensione Joomla come Akeeba Backup. Installa l'estensione Akeeba Backup sul tuo sito Joomla dopo averla scaricata dal sito ufficiale dello sviluppatore. Al termine dell'installazione, accedi al Pannello dell'estensione, quindi esegui il backup del tuo sito. Al termine del backup, verrai reindirizzato a una pagina. Qui, fai clic su "Gestisci backup". Si aprirà una pagina contenente tutti i backup. Da qui puoi scaricare il backup e salvarlo localmente.
7. Mantenere aggiornato il tuo sito Joomla
Aggiornare il tuo sito Joomla può garantire sicurezza e stabilità al sito. Inoltre, non tutti gli aggiornamenti sono aggiornamenti completi della versione del sito; alcuni aggiornamenti possono essere minori e consistere semplicemente in correzioni di bug, mentre altri sono aggiornamenti di versione.
Joomla dispone di un team di sicurezza dedicato, noto per il rilascio rapido delle patch. Non applicare le patch al tuo sito Joomla può renderlo vulnerabile agli attacchi.
Per verificare la disponibilità di aggiornamenti per il tuo sito, puoi procedere come segue:
Passo 1: accedi al tuo sito Joomla come amministratore
Passo 2: successivamente, vai su Componenti>Aggiornamento Joomla
Passo 3: a questo punto, Joomla verificherà se è disponibile un nuovo aggiornamento. Se mostra un nuovo aggiornamento, basta fare clic sull'opzione “Installa l'aggiornamento”.
Prima di aggiornare a una versione più recente di Joomla è necessario controllare alcune cose:
- Aggiornamento Template: verifica che i tuoi template Joomla siano compatibili con la nuova versione di Joomla. In caso contrario, chiedi all'autore del template di aggiornarlo oppure utilizzane uno alternativo.
- Aggiornamento estensioni: controlla e assicurati che tutte le estensioni Joomla siano compatibili con la nuova versione di Joomla. Elimina tutte quelle non compatibili. Per aggiornare le estensioni, vai su Estensioni>Gestisci e fai clic su aggiorna.
- Pulisci la cache: dopo aver aggiornato a una versione più recente di Joomla, pulisci la cache del tuo sito Joomla. Questo può essere fatto utilizzando la funzionalità integrata di Joomla.
8. Usa Template ed estensioni di terze parti affidabili:
Si consiglia di utilizzare un numero minimo di estensioni sul tuo sito web per ottenere un livello di sicurezza Joomla ottimale. L'utilizzo di estensioni o template di terze parti non affidabili potrebbe comportare vulnerabilità e influire sulle prestazioni del tuo sito Joomla. Non tutte le estensioni di terze parti sono prive di problemi; se hai la possibilità di evitare un'estensione di terze parti, fallo! Scegli e utilizza estensioni e template professionali di aziende rinomate, e mantienili aggiornati per proteggere il tuo sito.
9. Aggiorna la versione PHP del tuo sito Joomla
Proteggi il tuo sito web da una varietà di attacchi informatici e rafforza la sicurezza del tuo sito Joomla aggiornando la versione PHP del tuo sito all'ultima release stabile. Assicurati di selezionare una versione PHP compatibile con i tuoi template ed estensioni Joomla per evitare di danneggiare il tuo sito. Esistono vari modi per aggiornare la versione PHP. I principali sono trattati in un articolo del numero di settembre 2020 della Joomla Community Magazine: Come aggiorno la mia versione PHP?.
10. Rafforza le intestazioni di sicurezza HTTP
Si consiglia vivamente di implementare o aggiornare le intestazioni di sicurezza HTTP poiché forniscono un livello di sicurezza per il tuo sito Joomla aiutando a mitigare attacchi e vulnerabilità di sicurezza. Di solito richiedono solo una piccola modifica di configurazione sul tuo server web. Queste intestazioni indicano al browser come comportarsi nella gestione dei contenuti del tuo sito. Di seguito sono elencate sei intestazioni di sicurezza HTTP comuni da esaminare:
- Content-Security Policy
- X-XSS-Protection
- Strict-Transport-Security
- X-Frame-Options
- Public-Key-Pins
- X-Content-Type
11. Usa un'estensione di sicurezza Joomla
È necessario limitare i tentativi di accesso al backend amministratore di Joomla per evitare attacchi di forza bruta al tuo sito Joomla. Questo può essere implementato tramite varie estensioni di sicurezza Joomla che proteggono il backend amministratore del tuo sito web dai tentativi di hacking. Puoi trovare queste estensioni nella categoria sicurezza della lista delle estensioni Joomla.
12. Scegli un fornitore di hosting sicuro
Assicurati che il fornitore di hosting che scegli implementi le misure di sicurezza Joomla. Se scegli un hosting condiviso, assicurati che il subnetting sia implementato tenendo conto della sicurezza Joomla. Acquistare un fornitore di hosting condiviso economico potrebbe non essere un punto di partenza ideale poiché il tuo sito sarà più lento, soggetto a spam a causa di un 'cattivo vicinato' di siti con bassa reputazione, e potrebbe essere compromesso se altri siti venissero violati. Inoltre, nella scelta di un piano di hosting, verifica vari parametri come personalizzazione, supporto, recensioni, ecc.
13. Usa SSL per potenziare la sicurezza di Joomla
Si consiglia vivamente di installare un certificato SSL (Secure Socket Layer) sul tuo sito web poiché crittograferà la comunicazione tra il tuo sito Joomla e i browser dei tuoi visitatori. Ottieni un certificato SSL da un'autorità di certificazione verificata e assicurati che tutto il tuo traffico HTTP venga reindirizzato a HTTPS. Per fare ciò, aggiungi il seguente codice al tuo file .htaccess:
# Redirect HTTP a HTTPS
RewriteEngine On RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
14. Audit di sicurezza Joomla frequenti
È estremamente importante scoprire le vulnerabilità prima che lo faccia un hacker, al fine di mantenere il tuo sito Joomla sicuro e protetto. Questo può essere fatto scegliendo uno strumento professionale di audit di sicurezza che può farti risparmiare molto tempo nella gestione dei tuoi siti web. Audit di sicurezza meticolosi sono un ottimo modo per migliorare la sicurezza di Joomla. Molti servizi lo fanno automatizzando attività come la creazione di backup del sito web, la scansione dei segni di intrusione e l'aggiornamento massivo delle estensioni di cui ti fidi. Può anche effettuare la scansione del tuo sito per l'uso delle migliori pratiche di sicurezza ed eseguire una scansione approfondita per cercare potenziali minacce alla sicurezza. Questi servizi utilizzano un mix ottimizzato di meccanismi manuali e automatizzati per scoprire le vulnerabilità nel tuo sito Joomla.
15. Controlla i messaggi post-installazione
È altamente raccomandato leggere tutti i messaggi post-installazione, poiché il Team di Joomla ti fornisce informazioni importanti che richiedono la tua attenzione dopo un aggiornamento, o dopo l'installazione di Joomla per la prima volta. Questi messaggi contengono per lo più configurazioni di sicurezza di Joomla o modifiche ai file che dovrebbero essere effettuate manualmente e che un aggiornamento non può modificare.
16. Conosci le estensioni vulnerabili
Controlla sempre il sito web della Vulnerable Extensions List e le sue pagine sui social media per conoscere i rischi di sicurezza più recenti e le possibili patch. Si raccomanda di disinstallare qualsiasi estensione elencata nella Vulnerable Extensions List per la quale non è nota alcuna patch. Assicurati di aggiornare la tua estensione vulnerabile non appena la patch è disponibile. Se il tuo sito utilizza una versione vulnerabile di un'estensione che non ha un aggiornamento con patch, allora ti consigliamo di sostituirla.
Conclusione
Poiché ci sarà sempre un rischio, la sicurezza di Joomla rimarrà un processo continuo, che richiede una valutazione frequente dei possibili vettori di attacco. I proprietari e gli amministratori dei siti web dovrebbero sempre migliorare la sicurezza del proprio sito web per ridurre il rischio di una compromissione.