Punti chiave
Come gli altri CMS, anche la sicurezza del login di Drupal è soggetta ad attacchi e tentativi di violazioni abbastanza capillari che, di volta in volta, assumono connotazioni e bersagli differenti. Tra i più diffusi e “democratici” ci sono certamente gli attacchi brute-force che mirano a scovare le credenziali di accesso con la finalità di arrecare un danno.
Si è detto “democratici” in quanto questo tipo di violazioni possono interessare davvero tutti, dal piccolo blog personale a un sito strutturato e di più grandi dimensioni. La sicurezza del login di Drupal è quindi una priorità per chiunque si trovi ad utilizzare questo CMS opensource.
Cerchiamo, quindi, di capire in che modo migliorare la sicurezza del login di Drupal adottando una serie di accorgimenti “standard” o facendo ricorso a “strumenti” dedicati.
Sicurezza del login di Drupal: inizia da username e password
Ogni volta che si parla della sicurezza del login si fa immediatamente riferimento alla “forza” delle credenziali di accesso.
Potrebbe, quindi, sembrare un consiglio banale quello di scegliere una username e una password di difficile individuazione ma in realtà si tratta di uno step imprescindibile e forse neanche così scontato.
Per pigrizia o abitudine, infatti, molto spesso gli utenti tendono a utilizzare un username e una password “semplici”, vale a dire di comune utilizzo o contenenti delle informazioni facilmente rintracciabili come nomi propri, date di nascita, nomi di città e così via.
Ancora abbastanza diffusa è poi la tendenza a riutilizzare le password, a preferire quelle di facile memorizzazione (come la famigerata “123456”) o, addirittura, ad impiegare quelle di default, senza pensare che in questo modo si sta mettendo seriamente a rischio la sicurezza del proprio sito.
Il primo e fondamentale avvertimento è quindi quello di prestare grande attenzione alla scelta delle credenziali di accesso, specialmente se si è amministratori.
Anche per Drupal è possibile migliorare la sicurezza delle credenziali di accesso, evitando innanzitutto di usare “admin” come username amministratore. Abbiamo già illustrato la pericolosità di una scelta di questo tipo, dunque è fondamentale adottare un username nuovo per l’amministratore, aggiornandolo direttamente nella dashboard.
Discorso simile va fatto per le password la cui vulnerabilità potrebbe rappresentare un serio problema per la sicurezza dell’intero sito.
Per scegliere in maniera corretta una password, cercando di limitarne al massimo la debolezza, ci sono una serie di “buone pratiche” che è consigliato seguire.
In primo luogo la password deve essere abbastanza lunga e utilizzare tutti i caratteri a disposizione, quindi lettere, numeri e caratteri speciali, oltre a maiuscole e minuscole. Per lunghezza si intende una password di almeno 9 caratteri (come minimo), mentre la complessità è data appunto dalla combinazione di caratteri diversi che ne rendono molto più difficile la decriptazione.
Un valore aggiuntivo viene poi dato dalla “casualità” e questo perché la maggior parte dei cracker conosce i patterns di costruzione di una password comunemente utilizzati e possono, quindi, facilmente identificarli.
Sicurezza del login di Drupal: l’autenticazione a due fattori
Anche per la sicurezza del login di Drupal, uno dei “metodi” più efficaci e semplici è Two-Factor Authentication (TFA), grazie al quale è possibile aggiungere un ulteriore fattore di autenticazione per avere accesso al sito.
Grazie a questa “policy”, quindi, è possibile evitare accessi indesiderati al proprio sito anche nel caso in cui le credenziali di accesso vi siano state sottratte, poiché questo secondo fattore di autenticazione è di difficile individuazione in quanto inviato via sms sul cellulare del destinatario.
Per Drupal esistono una serie di moduli che consentono di abilitare questa funzione; tra questo uno dei più noti è Two-Factor Authentication che, in pratica, consente di avere accesso all’area admin solo aggiungendo questo secondo fattore di autenticazione.
Il modulo si presenta abbastanza completo e offre all’utente una buona varietà di scelta relativamente al secondo fattore di autenticazione (One Time Passwrods, codice via SMS, codici pre-generati etc.).
Sicurezza del login di Drupal: utilizza i moduli di sicurezza
Abbiamo già accennato alla possibilità di poter utilizzare una serie di moduli per incrementare i livelli di sicurezza del login di Drupal.
Uno dei primi da segnalare è certamente Login Security, grazie al quale è possibile ottenere una serie di interessanti funzionalità per migliorare la protezione di tutte le operazioni di login.
Il modulo include diverse opzioni tra le quali le più interessanti sono quelle che consentono all’amministratore di limitare il numero di tentativi di accesso, bloccando l’utente dopo n-tentativi falliti.
Altrettanto utile è la funzione che permette di negare, permanentemente o temporaneamente, l’accesso alla pagina di login a determinati IP o quella che consente all’amministratore di essere costantemente aggiornato (grazie alle notifiche via mail) relativamente a tutto ciò che avviene nel form di login (come furto di account e password o tentativi di login di tipo brute-force).
Un altro plugin che offre un valido supporto è Password Policy che, come suggerisce già il nome, definisce una serie di policy di sicurezza che tutti gli utenti del sito devono rispettare in fase di registrazione o di cambio password. Con Password Policy, in pratica, è possibile forzare gli utenti a rispettare determinati parametri di sicurezza per la definizione delle password; si tratta di una funzione apprezzabile che aiuta a prevenire gli attacchi brute-force determinati dalla scelta di password non sufficientemente sicure.
Da segnalare anche il modulo Restrict Login che permette di prevenire gli accessi indesiderati fissando una serie di restrizioni o relativamente a un IP o range di IP o relativamente al ruolo (Restrict IP by IP e Restrict role by IP).
Un ultimo modulo per difendersi dai tentativi di login non autorizzati basati su script è Captcha grazie al quale è possibile aggiungere i captcha ai form di autenticazione riuscendo a bloccare tutti i tentativi di login automatizzati.
Sicurezza del login di Drupal: il protocollo HTTPS
Un altro modo per rendere molto più sicuro il processo di autenticazione è abilitare HTTPS per il blocco di login.
Il protocollo HTTPS, infatti, permette di criptare tutte le richieste HTTP rendendo la comunicazione e il trasferimento delle informazioni tra browser e server molto più sicura.
Generalmente viene utilizzato per proteggere dati sensibili come numeri di carte di credito, contenuti confidenziali, informazioni personali e credenziali di accesso (username e password); utilizzando il protocollo HTTPS per la pagina di login è quindi possibile cifrare le informazioni che vi “transitano” così da renderne molto più difficile l’identificazione e l’eventuale sottrazione.
Chiaramente per fare ciò avrete bisogno di un certificato SSL (Secure Socket Layer) che ha proprio la funzione di criptare le informazioni prima che queste vengano trasferite rendendone possibile la “lettura” solo ai server su cui il certificato è abilitato.