Introduzione
La sicurezza web, anche per piccoli portali, è diventata un requisito richiesto dagli utenti. La realizzazione di connessioni HTTP sicure grazie alla protezione del Secure Sockets Layer (SSL) risulta spesso indispensabile per garantire la privacy degli utenti del nostro sito e la sicurezza della navigazione. Presenteremo in questo articolo "Yireo SSL Redirection", un'estensione che ha come obiettivo primario quello di permettere l'accesso a determinate aree e pagine di Joomla attraverso l'utilizzo di un protocollo sicuro come SSL .
Il protocollo SSL in breve
Tramite l'utilizzo del protocollo SSL è possibile creare una connessione tra due entità di rete utilizzando un protocollo di crittografia, così da poter perseguire i requisiti di integrità dei dati e sicurezza su una rete TCP/IP. SSL e il suo successore (TLS) cifrano ogni comunicazione a livello "end-to-end" (cioè ogni informazione che transita dalla sorgente alla destinazione viene crittografata alla sorgente e de crittografata alla destinazione), tramite l'utilizzo di tale protocollo è possibile limitare gli attacchi di tipo "man-in-the-middle" con i quale gli hacker possono entrare in possesso di informazioni confidenziali scambiati tra i diversi host partecipanti ad una comunicazione. Il protocollo SSL utilizza la porta standard 443, e può essere utilizzato su tutti quei web server come Apache previa opportuna attivazione e configurazione.
Il componente Yiero SSL Redirection
Yiero SSL Redirection, giunto alla versione 0.9.1, è distribuito con licenza GPLv2 per versioni Joomla 1.5, 1.6 e 1.7. Yiero permette di configurare quali pagine, sezioni, componenti ecc. devono essere accedute utilizzando l'https e quali invece utilizzando la semplice connessione http. La scelta delle pagine da proteggere, può essere fatta manualmente (pagina per pagina) oppure collettivamente, andando a selezionare i componenti a cui applicare le funzionalità di cifratura dei dati, ma non solo, viene data altresì la possibilità di aggiungere URL personalizzati all'interno dell'apposita textarea messa a disposizione dal componente. Naturalmente per gli utenti più esperti, le funzionalità messe a disposizioni da Yiero possono apparire semplici operazioni da poter implementare all'interno del file .htaccess di Apache, ma realizzarli con Yireo vi assicuro è molto più semplice e sicuro in termini di raggiungimento dell'obiettivo.
Installazione Yiero SSL Redirect
Yiero SSL Redirect plugin può essere scaricato all'interno dell'apposita sezione del sito yiero.com. I requisiti per poterlo installare sono quelli di possedere una versione di Joomla! 1.5 o superiori ed una versione dell'interprete PHP 5.2.8 o superiore, a seconda della versione di Joomla! installata all'interno del proprio spazio web, occorrerà provvedere al download del file pgl_sslredirect_j15.zip o pgl_sslredirect_j16.zip (per le versione Joomla! dalla 1.6 in poi), nel mio caso utilizzando la versione 1.6 scaricherò il secondo file. Ultimato il download, possiamo procedere all'integrazione all'interno nel CMS Joomla!, operazione resa possibile tramite il classico utilizzo del pannello "Gestione estensioni - Installazione" contenuto nel back-end del nostro CMS.
Installiamo Yiero SSL Redirect
Confermato il caricamento, per mezzo del tasto "Carica & Installa" occorrerà posizionarsi nella sezione "Gestione Plugin: Plugins" e selezionare la voce "System - SSL Redirect".
Gestione delle impostazioni
All'interno della gestione del plugin possiamo notare due aree distinte, quella relativa ai "Dettagli" e quella relativa alle "Opzioni di base". Tramite la sezione dettagli avremo la possibilità di abilitare/disabilitare il nostro componente, definirne l'accesso e l'eventuale ordinamento, e sicuramente la parte più interessante è quella relativa alle opzioni, posizionata nella parte destra della pagina, in essa infatti sarà possibile decidere dove attivare la comunicazione SSL, e quindi effettuare il redirect. Tramite il campo SSL-based Menu-items saremo in grado di poter abilitare la connessione SSL ai menù di nostro interesse.
SSL-based Menu-items
Supponendo ad esempio di voler rendere sicuro l'accesso alla voce menù Articolo test (precedentemente creata), e quindi di utilizzare un redirect SSL, si selezionerà la corrispondente voce "Articolo test [120]", come evidenziato in figura. Naturalmente al fine di attivare le impostazioni apportate si dovrà confermare il tutto tramite i tasti "Salva" o "Salva e Chiudi".
Yiero SSL Redirect all'opera
Configurate le varie aree e le funzioni da proteggere mediante connessione SSL, siamo pronti per vedere all'opera il componente. Supponiamo di voler aprire il link "Articolo test" precedentemente configurato all'interno di Yiero, appena selezioneremo tale voce il browser ci avvertirà che stiamo per aprire una connessione SSL che necessita quindi di certificato, questa è la conferma che il componente è in funzione e sta svolgendo le operazioni richieste, accettando il certificato potremo visualizzare la nostra pagina ed essere instradati sul tunnel SSL.
Naturalmente ricordo ancora una volta che per utilizzare una connessione SSL sarà necessario che il nostro web server sia abilitato all'utilizzo di tali funzioni e si disponga di un certificato SSL, anche autogenerato e dunque non emesso da una Certification Autorithy.
L'avviso di connessione SSL con certificato autogenerato
Proteggere il login
Tra le diverse funzionalità offerte dal componente, esiste la fase di protezione della procedura di login, in particolare sarà possibile eseguire il login in modalità protetta, semplicemente selezionando "Yes" all'interno della voce "SSL when Logged-in", in tal modo la comunicazione delle credenziali di login ed il relativo processo di autenticazione avverrà utilizzando una connessione SSL. Al fine di evitare spiacevoli inconveniente, ricordo di verificare attentamente che il vostro web server supporti la connessione SSL, altrimenti non riuscirete più ad accedere al back-end del vostro Joomla.
Personalizzare le pagine
La presenza della textarea "Custom SSL-pages" renderà semplice la personalizzazione SSL di link interni ed esterni, basterà infatti digitare l'indirizzo HTTP da reindirizzare su una connessione sicura HTTPS, per poter usufruire del redirect automatico fornito dal componente.
Il Backend in SSL
Una buona pratica di sicurezza consiste nell'utilizzare tutta la parte di back end del CMS sotto connessione HTTPS. Il componente ci facilita l'operazione grazie alla presenza di un semplice campo "Redirect Backend to SSL".
Redirect Backend to SSL
Conclusioni
L'utilizzo di una connessione SSL rendere più sicure le nostre comunicazioni ed è indicata, specialmente per tutte quelle funzioni nelle quali viene effettuato uno scambio di dati personali, come ad esempio (form, utilizzo del back end ecc.), occorre precisare che viene introdotto un piccolo overhead di comunicazione dovuto alle operazioni di cifratura e decifratura dei messaggi scambiati, costo che però è coperto dall'innalzamento del livello di sicurezza introdotto da SSL.