Lo svantaggio di adottare una soluzione open source molto diffusa e conosciuta spesso consiste nella difficoltà di mascherare dettagli tecnici sensibili, come appunto l'interfaccia di accesso dell'area amministrativa. Per accedere a quella di Joomla, a meno di adottare soluzioni come Jsecure, è sufficiente mettere dopo all'URL del sito il path "/administrator/".
Nonostante le raccomandazioni e le "best practice" di sicurezza consiglino vivamente di modificare lo username dell'utente "Super Administrator", nella maggior parte dei casi viene lasciata invariata quella di default, che banalmente è "admin". A questo punto siamo già in possesso di 2 informazioni su 3 per poter accedere all'area amministrativa: basta sapere o indovinare la password e il danno è fatto.
Il problema principale consiste nel fatto che se un utente malintenzionato prova una serie di password oppure, ancor peggio, se si affida a strumenti di brute force per tentare un numero più ampio di combinazioni, noi non lo sapremmo mai (di sicuro il CMS non ci avvisa, forse il firewall o l'IDS del server se adeguatamente configurato per questo fine, ma con provider economici scordiamocelo).
Senza affidarsi a componenti aggiuntivi di terze parti, è possibile con una piccola integrazione del codice del template del back-end, inserire un sistema semplice ma efficace che ci avvisa nel caso in cui qualcuno stia cercando di forzare l'amministrazione del nostro sito. Intervenendo sul codice del template si ha inoltre la tranquillità che eventuali aggiornamenti di release futuri non sovrascriveranno la nostra modifica.
if(isset($_POST['username']) && ($_POST['passwd'])){
$email="indirizzo@email";
$titolo="Tentivo di accesso fallito!";
$message="Qualcuno ha tentato di entrare nel sito con i seguenti dati:
username: ".$_POST['username']."
password: ".$_POST['passwd']."
ip:... ";
mail($email,$titolo,$message);
echo "alert('Tentativo registrato!');";
}
Il codice sopra riportato invia un'email ogni qualvolta un utente fallisce la fase di autenticazione del sito, segnalando a nostra scelta alcuni dettagli utili per il tracciamento e l'eventuale denuncia del malintenzionato. Viene inoltre stampato a video un messaggio per informare che il tentativo di accesso è stato individuato.