Quando si ha il sospetto di una intromissione o si rilevano file di dubbia provenienza o malevoli, è necessario procedere alla bonifica del CMS seguendo la guida sotto riportata.
Una volta accertata la compromissione è possibile
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 si disponga di una copia del sito non compromessa:
- Operazioni preliminari:
a. Controllare la VEL -Vulnerable Extensions List- al seguente indirizzo: https://vel.joomla.org/.
b. Assicurarsi che non sia presente nessun componente in uso nella lista delle vulnerabilità (link sopra indicato). Nel caso si utilizzi uno di quei componenti, disinstallarlo e controllare 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; per tutti i dettagli consultare la guida dedicata.
c. Assicurarsi che gli utenti di Joomla siano solo quelli definiti accedendo al pannello di amministrazione di Joomla.
d. Verificare che ciascun file non-Joomla, cioè immagini, pdf, documenti, ecc… sia genuino e caricato dall'utente: se risultano file estranei procedere alla cancellazione.
- Se possibile accedere al back end di Joomla e annotare 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).
- Effettuare 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…
- Installare una nuova istanza di Joomla della stessa versione in uso con le estensioni di terze parti e lo stesso tema identificate al punto 1.
- Modificare il file configuration.php correggendo la seguente riga:
public $db = ‘Sqlxxxxxxx_x’
inserendo al posto di Sqlxxxxxxx_x il database usato nella precedente installazione: è possibile leggere tale dato nel backup effettuato al punto 2.
- Effettuare l'accesso al pannello di amministrazione di Joomla con le credenziali administrator della vecchia installazione, creare un nuovo utente administrator e cancellare quello vecchio in quanto potrebbe essere conosciuto dagli hacker.
Durante la creazione del nuovo utente si consiglia di non usare nomi utente classici come: admin, administrator, webmaster, user, ecc...
Si consiglia inoltre di usare una password complessa composta dal almeno 12 caratteri tra cui lettere maiuscole, minuscole, numeri e caratteri speciali. (esempio di caratteri speciali: £&%$@#).
- Infine, caricare i soli contenuti aggiunti (immagini, foto, documenti, ecc…) scaricati in locale al punto 2; nel caso si rilevassero file con nomi insoliti o file sconosciuti non caricarli.
- Una volta ripristinato il sito, verificare il corretto funzionamento.
- Effettuare l'upgrade all'ultima versione di Joomla scaricabile dal sito ufficiale.
- Effettuare un cambio della password dello username (del tipo [email protected]) utilizzando la procedura dedicata.
- Cambiare la password del database facendo riferimento alla presente guida.
- Successivamente al cambio password database è necessario modificare la password anche all'interno del file configuration.php di Joomla.
- È consigliabile effettuare un controllo del PC per assicurarsi che non vi siano Trojan, Keylogger, Malware.