Come proteggere una nuova installazione di Joomla?


34

Quali sono le azioni da intraprendere dopo una nuova installazione di Joomla per mantenerla sicura? Sia su server di hosting condivisi sia su server dedicati.


1
@Admins: che ne dici di un wiki della community per questa domanda ??
MattAllegro,

Risposte:


36

Mantenere sicuro un sito Web Joomla

  1. Usa password complesse.
  2. Ridurre al minimo il numero di account amministratore.
  3. Disabilita o rimuovi account utente non utilizzati.
  4. Riduci al minimo il numero di estensioni di terze parti e dove sono necessarie estensioni di terze parti, utilizza estensioni ben supportate da sviluppatori affermati di cui ti fidi.
  5. Applicare regolarmente gli ultimi aggiornamenti a Joomla e alle estensioni di terze parti, compresi gli hotfix di sicurezza per le versioni EOL di Joomla, ove applicabile.
  6. Iscriviti al feed Notizie sulla sicurezza di Joomla in modo da essere informato sugli aggiornamenti di sicurezza principali di Joomla
  7. Iscriviti alla Joomla Vulnerable Extensions List (VEL) in modo da poter affrontare rapidamente nuove vulnerabilità. Scorri fino alla fine della pagina per il link di abbonamento : puoi anche seguire il VEL su Twitter .
  8. Utilizza un hosting Web sicuro di buona qualità, incluso un appropriato gestore di file PHP come suPHP o FastCGI ed estensioni di sicurezza come mod_security. Utilizzare una versione supportata di PHP .
  9. Anziché affidarsi esclusivamente ai backup della società di web hosting, eseguire regolarmente i propri backup del sito Web, copiare i file di backup fuori sede ed eseguire regolarmente ripristini di prova in un percorso di prova per verificare la qualità dei backup.
  10. Abilita https.
  11. Implementa un firewall per applicazioni Web come quello fornito con la versione professionale di Akeeba Admin Tools.
  12. Non utilizzare il prefisso della tabella standard.
  13. Cambia il nome utente e l'ID del super amministratore predefinito in qualcos'altro. La versione professionale di Akeeba Admin Tools ha uno strumento per modificare l'ID Super Administrator.
  14. Limitare l'accesso a Joomla Admin tramite IP. Consenti solo IP affidabili.
  15. Abilita l'autenticazione a 2 fattori per gli account amministratore (si applica a Joomla 3.2 e versioni successive).
  16. Ripetere i passaggi precedenti per altri siti Web che condividono lo stesso account di hosting o, idealmente, siti Web separati per i propri account di hosting Web per evitare la contaminazione incrociata.
  17. Assicurarsi che i personal computer degli amministratori di siti Web siano protetti in modo simile. Ad esempio, implementare uno scanner di virus e malware di buona qualità. Questo aiuta a proteggere tutte le credenziali del sito Web archiviate sui personal computer. Utilizzare idealmente uno strumento o un'applicazione di crittografia per archiviare il sito Web e altre credenziali.
  18. Leggi i 10 trucchi di amministrazione più stupidi per informazioni su cosa non fare.

Per istruzioni più dettagliate, consultare l' elenco di controllo di sicurezza ufficiale .


Questo elenco può probabilmente essere aggiunto a (sentiti libero di modificare). :)
Neil Robertson,

2
Forse potresti collegarti all'elenco "Estensioni vulnerabili"? (Non riesco a modificare la tua risposta per qualche motivo; posso modificare gli altri?)
MrWhite,

Grazie @ w3d - Ho aggiunto un link alla pagina di iscrizione VEL e anche al feed di Joomla Security News.
Neil Robertson,

14

È molto importante archiviare i backup su un server separato. Vedo molte persone che eseguono fedelmente i backup di Akeeba ... e vengono archiviate sullo stesso server nella stessa directory principale. Non molto utile se vieni violato in modo serio e sicuramente non utile per recuperare da un errore di hosting.

Akeeba Backup Pro ti consente di archiviare e gestire i file di backup in memoria esterna come il cloud Amazon.


4
È anche importante controllare i backup per la compressione danneggiata dopo il trasferimento dalla directory di hosting. Un backup danneggiato non è un backup. Questo vale per tutti i sistemi di backup, Akeeba, CPanel e così via.
UhlBelk,

7

In alternativa al file .htaccess o al blocco tramite IP, puoi anche utilizzare jSecure per proteggere il tuo accesso da amministratore.

Una cosa che non è stata menzionata è l'utilizzo di un provider di hosting affidabile. Ne vuoi uno che non solo tenga il passo con la sicurezza ma che funzioni anche con te se vieni violato o se c'è un problema (il database viene danneggiato, ad esempio). L'idea è di limitare il danno che il tuo sito fa mentre ti consente di ripulirlo.

L'idea di base, vuoi qualcuno che ...

  • sarà in giro
  • non è un'operazione fly-by-night
  • lavorerà con te
  • e fornisce un ambiente solido.

Se desideri un elenco di domande da porre a un host per farti sentire meglio, fammelo sapere.

Spero che sia di aiuto.


6

Prova anche questo,

  • Mantieni Joomla aggiornato insieme alle sue estensioni.
  • Conserva regolarmente i backup del tuo sito in cloud .
  • Non aprire robots.txtper cartelle protette.
  • Per le ultime versioni di Joomla, l'utilizzo dell'autenticazione a due fattori sarà più sicuro.
  • Assicurati che le cartelle e i file dispongano delle autorizzazioni giuste.
  • Usa Cloudfare per Joomla .

Spero che sia d'aiuto ..


5

Fondamentalmente nella mia esperienza, con le dimensioni di Joomla non c'è modo di assicurarlo davvero completamente. Quindi piuttosto una perfetta politica di sicurezza che blocca tutto, è meglio ridurre le aspettative per cercare di ridurre il danno complessivo.

Questo può essere fatto con una politica di backup estremamente frequente in modo che a qualsiasi intrusione sia possibile eseguire il rollback del sito, nonché scansioni di malware. Finora nessun hack che abbiamo avuto è dovuto al fatto che il nostro pannello di amministrazione è stato forzato brutalmente.

La maggior parte degli hack che vediamo provengono da componenti di terze parti o dal core di Joomla, abbiamo anche visto hack che riescono a entrare anche nelle ultime versioni di Joomla. Questo perché l'hacking può in genere sembrare una normale richiesta, utilizzando un filtro errato per inviare un file sul server. Una volta che un file è sul server, tutto è a posto, può trovarsi su QUALSIASI sito in un intero server condiviso e comunque influire sul tuo, quindi se una persona su un server condiviso non si aggiorna, può influire su di te.

Questo può essere un po 'estremo, ma in base all'esperienza personale è meglio essere preparati al peggio, quindi troppo sicuri che la vostra politica impedirà tutto.

Quindi il modo migliore per proteggere una nuova installazione di Joomla è eseguire il backup spesso e abilitare le scansioni malware, se lo scanner malware può inviarti un'e-mail non appena trova qualcosa, quindi puoi tornare all'ultimo backup in un arco di tempo molto breve.


"abbassa i tuoi standard" ??? Forse avrebbe dovuto essere "migliorare i tuoi standard?
Chesedo,

Ho pensato che questo avrebbe avuto un voto negativo, ma non voglio che nessuno pensi che se seguono le linee guida sono al sicuro. Significa abbattere i tuoi standard come in non aspettarti di non essere violato, ma invece preparati a farlo accadere. La maggior parte delle persone che conosco potrebbero eseguire il backup una volta alla settimana o una volta al mese perché ritengono che essere hackerati sia raro, ma non lo è.
Jordan Ramstad,

Quindi dovresti probabilmente aver usato " abbassa le tue aspettative " (di non essere stato violato) :)
chesedo

Buona nota, a cura di questo, grazie. Non cercando di dire niente di negativo su Joomla, lo adoro, il suo solo combattimento con gli hack non andrà mai via, quindi è meglio essere preparati :).
Jordan Ramstad,

Abbastanza corretto - a volte il modo migliore per aiutare è essere etero :).
chesedo,


3

Prendendo in prestito questo elenco da un white paper "Testare la penna su un sito Joomla" trovato sul blog. Penso che questo elenco sia una linea guida completa per le basi della sicurezza di Joomla.

  1. Tieni sempre aggiornato Joomla. Installa l'ultimo aggiornamento non appena viene rilasciato l'aggiornamento.
  2. Indipendentemente dalle estensioni in uso, devono essere correttamente corrette con le ultime versioni di aggiornamento. Qualsiasi vecchia estensione può offrire agli aggressori un modo per compromettere il sito.
  3. Non utilizzare estensioni che non sono state utilizzate da o che non sono state testate correttamente.
  4. Tutti gli input dell'utente devono essere validati correttamente. Questi input possono essere input in moduli, URI, upload di immagini, ecc. Supponiamo che se un pulsante BROWSE consente all'utente di caricare l'immagine, deve solo consentirgli di caricare un'immagine e non una shell PHP che potrebbe successivamente funzionare come una backdoor su il server.
  5. Usa password complesse per tutti gli accessi. Almeno 8 caratteri, un carattere speciale, un numero e una lettera sensibile al maiuscolo / minuscolo. Proteggerà l'installazione da una forza bruta.

  6. Tenere sempre traccia di "Ultimi visitatori" nei file di registro del server Web per rilevare potenziali attacchi. Non considerare mai i tuoi file di registro solo un'informazione. È molto utile per tracciare e monitorare gli utenti.

  7. Metti un po 'di stress per implementare una maggiore sicurezza per l'intero server su cui è ospitato il tuo sito basato su Joomla; essendo ospitato su server condiviso o dedicato.

  8. Fai un elenco di tutte le estensioni che usi e continua a monitorarle.

  9. Tieniti aggiornato con le ultime vulnerabilità e divulgazioni in vari avvisi di sicurezza. Exploit-db, osvdb, CVE, ecc. Sono alcune delle buone risorse.

  10. Cambia l'autorizzazione sul tuo file .htaccess come è di default usando le autorizzazioni di scrittura (poiché Joomla deve aggiornarlo). La migliore pratica è usare 444 (r-xr-xr-x).

  11. Devono essere fornite le autorizzazioni appropriate per i file nelle directory pubbliche in modo tale che qualsiasi file dannoso non possa essere caricato o eseguito. La migliore pratica in questo contesto è 766 (rwxrw-rw-), cioè solo il proprietario può leggere, scrivere ed eseguire. Altri possono solo leggere e scrivere.

  12. Nessuno deve avere l'autorizzazione per scrivere nei file PHP sul server. Devono essere tutti impostati con 444 (r — r — r--), tutti possono solo leggere.

  13. Delegare i ruoli. Rende sicuro il tuo account amministratore. Nel caso in cui qualcuno entri nella tua macchina, deve avere accesso solo al rispettivo utente e non all'account amministratore.

  14. Gli utenti del database devono disporre solo dell'autorizzazione per fornire comandi come INSERT, UPDATE e DELETE. Non devono essere autorizzati a DROP le tabelle.

  15. Modifica i nomi delle cartelle back-end, ad es. Puoi cambiare / amministratore in / admin12345. 16. Ultimo ma non meno importante, tieniti aggiornato con le ultime vulnerabilità.


Ulteriore suggerimento annuncio 12: nessuno, tranne il server Web, deve avere l'autorizzazione a leggere anche i file PHP sul server. Impostare l'utente sull'utente del server Web (www-data o http) e impostarlo su 400 o 600 per i file modificabili tramite backend (css, ...).
Tom Kuschel,

3

La tua prima linea di difesa è il tuo servizio di hosting

  • Noleggia un server dedicato da un servizio di hosting affidabile
  • Assicurati di attivare 2FA sul tuo server e di utilizzare una password "MOLTO FORTE"
  • Installa un firewall affidabile sul tuo server - Uso ConfigServer
  • Installa / configura un programma antivirus, utilizzo ClamAV
  • Assicurarsi che il nome utente di ciascun sito Web NON utilizzi i primi 8 caratteri del nome di dominio e utilizzi una password "MOLTO FORTE"
  • Assicurati che ogni sito Web abbia un certificato SSL installato
  • Assicurati che ogni sito Web sia "In prigione", nel senso che non hanno accesso come root a meno che tu non abbia bisogno dell'accesso alla radice del server. In tal caso, assicurarsi di aver installato e configurato Secure Shell (SSH). Uso il sito Web del mio dominio del server ma ho tutti gli altri siti Web "In prigione".
  • Assicurarsi che tutti gli aggiornamenti del server siano installati prontamente !!!!

La tua prossima linea di difesa è il tuo cPanel

  • Utilizzare una password "MOLTO FORTE"
  • Configurare la sicurezza della password utente per gli utenti
  • Imposta un processo cron per eseguire un backup completo di cPanel e salvarlo su una fonte esterna
  • Assicurarsi che cPanel sia stato configurato per utilizzare SSL per l'accesso
  • Esegui "Verifica della sicurezza del sito" per vedere quali altre modifiche potrebbero essere necessarie
  • Assicurati che tutti gli aggiornamenti di cPanel siano installati prontamente !!!!

La tua prossima linea di difesa è il tuo pannello di amministrazione

  • Modifica i requisiti del formato della password per garantire password complesse (caratteri maiuscoli / minuscoli, numeri e almeno 1 segno di punteggiatura con una lunghezza minima di 18 caratteri.
  • Abilita 2FA per utenti: utilizzare per account Super User e Administrator
  • Limitare il numero di account Super User (meglio averne solo uno)
  • Limitare il numero di account amministratore (meno è, meglio è)
  • Limitare le aree a cui gli amministratori possono accedere
  • Limitare le aree a cui editori, editori e autori possono accedere
  • Installa e configura AdminTools
  • Configurare una password dell'URL dell'amministratore tramite AdminTools
  • Assicurati che i file critici (HTACCESS, ROBOTS.TXT, WEBCONFIG, INDEX.PHP (sia root che template) siano impostati su 444. Puoi comunque modificare i file tramite cPanel pr Gestione file del pannello di controllo di Plesk
  • Installa e configura AkeebaBackup
  • Configura AkeebaBackup per salvare i backup esternamente, fuori sede
  • Installa i componenti aggiuntivi solo tramite le pagine delle estensioni di Joomla, non installare mai un componente aggiuntivo di una terza parte non elencato nella pagina delle estensioni di Joomla.
  • Disabilita e / o disinstalla i componenti aggiuntivi che non sono utilizzati e non sono necessari per la funzionalità Joomla
  • Installa subito Joomla e aggiorna i componenti aggiuntivi !!!

Sono sicuro che ci sono altri passaggi, ma questi sono i principali che utilizzo sul mio server che ospita oltre 70 siti Web da tutto il paese. Di recente ho avuto un attacco massiccio simile a un attacco DDoS e non è stato effettuato l'accesso a nessun sito Web. Mi sono sentito un po 'alto 10 piedi e antiproiettile ma so che non posso essere compiacente perché domani è un altro giorno! LOL


-4
  1. Non sono un fan dell'autenticazione a due fattori

  2. Installa Akeeba Admin Tools, abilita htaccess avanzato, controlla le opzioni e il firewall del software

https://www.akeebabackup.com/download/admin-tools.html

  1. Abilita la password dell'URL back-end

1
Ti dispiacerebbe condividere perché non sei un fan dell'autenticazione a due fattori?
Chesedo,

2
Vedo - ha senso. Ma perché includere non usarlo tra i punti per aiutare con la sicurezza? Se lo vuoi nel tuo post, perché non averlo come nota a margine insieme al motivo?
Chesedo,

1
Hai ragione. Sto solo imparando come rispondere alle domande qui ;-) A proposito, questa risposta ha ricevuto -2 :-(
Anibal

4
Lasciamolo come prima risposta ingenua sul sistema di questo autore. Ha un certo fascino a modo suo.
Anibal

1
Hehe! In realtà, il punto del sistema SE è "ottenere le risposte migliori" o migliorare le risposte buone - Suggerirei che la tua risposta, con la sua spiegazione, possa essere eliminata e aggiunta come commento, poiché insieme alla spiegazione migliora la comprensione di l'impatto dell'autenticazione a 2 fattori quando si parla di sicurezza.
NivF007,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.