Joomla!: come bonificare un'installazione compromessa

Quando usare questa guida

Quando hai il sospetto di una intromissione o rilevi file di dubbia provenienza o malevoli, procedi alla bonifica del CMS seguendo la guida sotto riportata.
Una volta accertata la compromissione puoi scegliere tra due soluzioni per ristabilire la corretta funzionalità del sito:

  • ripristinare una copia di backup pulita.
  • eseguire le operazioni di bonifica nel caso in cui non si abbiano a disposizione i dati sopra indicati.

Di seguito sono riportati i passaggi da effettuare in ordine per ripristinare il sito nel caso in cui non disponi di una copia del sito non compromessa.

Procedura di bonifica manuale

  1. Operazioni preliminari:
    a. controlla la VEL -Vulnerable Extensions List- al seguente indirizzo: https://vel.joomla.org/.
    b. assicurati che non sia presente nessun componente in uso nella lista delle vulnerabilità al link sopra indicato. Nel caso utilizzi uno di quei componenti, disinstallalo e controlla che non sia rimasta traccia di file o tabelle nel MySQL relativi a tale componente;
    Il database MySQL utilizzato da Joomla è indicato all'interno del file configuration.php;
    c. assicurati che gli utenti di Joomla siano solo quelli definiti accedendo al pannello di amministrazione di Joomla;
    d. verifica che ciascun file non-Joomla, cioè immagini, pdf, documenti, ecc… sia genuino e caricato dall'utente: se risultano file estranei procedi alla cancellazione.
  2. se puoi, accedi al back end di Joomla e annota tutte le estensioni di terze parti e il tema in uso (dove con il termine "in uso" si intendono tema ed estensioni attive e realmente usate; se disattivate o mai usate non annotarle).
  3. effettua una copia di backup in locale dell'intero contenuto dello spazio web tramite client FTP: tale copia serve per recuperare il file configuration.php e tutti i file caricati esterni a Joomla: immagini, foto, pdf, documenti, ecc…
  4. installa una nuova istanza di Joomla della stessa versione in uso con le estensioni di terze parti e lo stesso tema identificate al punto 1.
  5. modifica il file configuration.php correggendo la seguente riga:
    public $db = ‘Sqlxxxxxxx_x’
    inserendo al posto di Sqlxxxxxxx_x il database usato nella precedente installazione: puoi leggere tale dato nel backup effettuato al punto 2.
  6. effettua l'accesso al pannello di amministrazione di Joomla con le credenziali administrator della vecchia installazione, crea un nuovo utente administrator e cancella quello vecchio in quanto potrebbe essere conosciuto dagli hacker.
    Durante la creazione del nuovo utente ti consigliamo di non usare nomi utente classici come: admin, administrator, webmaster, user, ecc...
    Ti suggeriamo, inoltre, di usare una password complessa composta dal almeno 12 caratteri tra cui lettere maiuscole, minuscole, numeri e caratteri speciali. (esempio di caratteri speciali: £&%$@#).
  7. infine, carica i soli contenuti aggiunti (immagini, foto, documenti, ecc…) scaricati in locale al punto 2; nel caso rilevassi file con nomi insoliti o file sconosciuti non caricarli.
  8. una volta ripristinato il sito, verifica il corretto funzionamento.
  9. effettua l'upgrade all'ultima versione di Joomla scaricabile dal sito ufficiale.
  10. effettua un cambio della password dello username.
  11. cambia la password del database.
  12. successivamente al cambio password database modifica la password anche all'interno del file configuration.php di Joomla.
  13. ti consigliamo di effettuare un controllo del PC per assicurarti che non vi siano Trojan, Keylogger, Malware.

Aiutaci a migliorare