SSL Decoder
Cos’è SSL?
Secure Sockets Layer (SSL) è uno standard di sicurezza creato per realizzare connessioni sicure in ambiente Internet. Il protocollo SSL consente di crittografare e di scambiare dati sensibili via Internet con altri server Web e utenti. Il set minimo di componenti necessari per stabilire una connessione SSL comprende: un server per processare connessioni SSL, un client per iniziare connessioni sicure via SSL e un certificato installato sul server (nella maggior parte dei casi), sul client (è quasi sempre un'eccezione) o su entrambi i lati. Il certificato contiene una chiave pubblica.
Come funziona SSL su Microsoft ISA Server (Forefront TMG)
Microsoft ISA Server (Forefront TMG) consente ai client delle LAN aziendali di iniziare connessioni SSL in uscita, ma non consente di analizzare tali connessioni. I motivi si possono capire dal seguente grafico:

- il browser dell’utente inizia una connessione ad una risorsa sicura.
- ISA Server (Forefront TMG) capisce la richiesta e instaura una connessione diretta (tunnel) tra l’utente e la risorsa.
- una volta instaurata con successo la connessione, ISA Server (Forefront TMG) ne informa l’utente e da quel momento il browser dell’utente e il server Web del sito sicuro scambiano i dati direttamente tra di loro attraverso il tunnel che è stato aperto.
Vantaggi e svantaggi dell’utilizzo di SSL. Possibili pericoli
L’unico e il più importante vantaggio dell’utilizzo di SSL è la crittografia di tutti i dati trasmessi tra il client e il server. Questo vantaggio è fondamentale, rappresenta la natura e lo scopo del protocollo SSL. Tra i svantaggi più significativi di SSL, è da notare il valore basso della performance a causa della crittografia totale di tutti i dati che passano attraverso il tunnel.
Come spesso succede, un punto forte nelle mani di una persona “sbagliata” potrebbe diventare uno strumento pericoloso. Quali problemi potrebbe riscontrare un’azienda che utilizza SSL?
- Accesso non autorizzato a siti Web
Siccome Microsoft ISA Server (Forefront TMG) non permette di dare un’occhiata al contenuto del traffico SSL, diventano inutili anche le più sofisticate delle regole di accesso elaborate dagli amministratori. ISA Server (Forefront TMG) non consente di analizzare gli oggetti richiesti, i nomi, le estensioni di file, i tipi di dati, le intestazioni, la lunghezza, eccetera. Come risultato, gli utenti hanno la possibilità di accedere a qualsiasi sito protetto tramite un server SSL proxy pubblico. A QUALSIASI SITO!
- Impossibilità di controllare contenuti con l’aiuto dei content analyzer
Questo problema, come tutti gli altri, deriva da ciò che abbiamo spiegato sopra. Siccome ISA Server (Forefront TMG) non può accedere al contenuto dell’oggetto richiesto, non è possibile verificare, per esempio, se ci siano virus o badware. Quindi, esiste sempre il pericolo di infettare la workstation client e di mettere a rischio la sicurezza dell’intera LAN.
- Perdita di informazioni confidenziali
Gli utenti possono rivelare a terzi le informazioni aziendali di natura sensibile semplicemente inviandole via connessione sicura SSL. Microsoft ISA Server (Forefront TMG) non si renderà nemmeno conto di ciò che è appena successo.
SSL Decoder
SSL Decoder (in seguito SSL Decoder) è un apposito filtro Web che permette di dare un’occhiata al contenuto del traffico SSL. In pratica, permette di rimuovere tutti i svantaggi descritti sopra che si possono riscontrare nell’uso di SSL con Microsoft ISA Server (Forefront TMG).
Una volta installato il programma sarà possibile:
- vedere gli URL completi di tutti gli oggetti richiesti dagli utenti, la dimensione degli oggetti ricevuti, il tipo di dati e tutto ciò che un amministratore può vedere nel caso di richieste HTTP normali.
Bisogna anche notare che il traffico diventa visibile solo per ISA Server (Forefront TMG). Il contenuto non crittografato non può uscire fuori. Quindi, per un osservatore esterno, il traffico in uscita dall’interfaccia esterna di ISA Server (Forefront TMG) apparirà come traffico SSL sicuro e crittografato. Il traffico non crittografato sarà disponibile solo all’interno della rete locale aziendale (nella maggior parte dei casi non uscirà da computer sul quale risiede ISA Server (Forefront TMG)). - analizzare il contenuto di pagine ed oggetti ricevuti dagli utenti. Se necessario, sarà possibile modificare tali pagine al volo con appositi filtri Web, per esempio, Response Modifier. Inoltre, potrete verificare la presenza di virus nelle pagine con l’aiuto di soluzioni antivirus di terzi.
- migliorare la performance grazie al caching. Siccome il traffico adesso viene trasformato in traffico HTTP normale, tutti gli oggetti richiesti dagli utenti via connessione SSL vengono processati da SSL Decoder e memorizzati nella cache di ISA Server (Forefront TMG). Nel caso tali oggetti vengano richiesti nuovamente dagli utenti, saranno presi dalla cache anziché da Internet. In questo modo, la velocità di visualizzazione di pagine HTML aumenta del 15-20%.
- dimenticare il problema delle connessioni sicure durante la creazione delle Policy Rules. Il traffico SSL che prima era invisibile adesso appare come traffico HTTP, quindi è possibile usare tutti gli attributi di connessione per la creazione delle Policy Rules.
Svantaggi di SSL Decoder:
- un certo rallentamento di elaborazione del traffico SSL dovuto ad operazioni aggiuntive di crittazione/decrittazione. Tuttavia, questo rallentamento è incomparabile con l’aumento della velocità dovuto al caching degli oggetti.
- problemi etici. L’amministratore ottiene l’accesso all’elenco di tutti gli oggetti richiesti dagli utenti. Diventa visibile tutto ciò che prima era invisibile. Si consiglia di informarne tutti gli utenti della LAN.
Come funziona il programma
Quando un utente invia una richiesta di connessione ad un server esterno sicuro, ISA Server (Forefront TMG) instaura una connessione sicura al server Web, informa l’utente di essere pronto ad agire da punto intermedio nella trasmissione del flusso di dati crittografati. Possiamo vedere, che l’intero processo si divide logicamente in tre passaggi:
- connessione del client a ISA server (Forefront TMG)
- connessione di ISA Server (Forefront TMG) a un server Web remoto
- trasmissione dei dati
SSL Decoder si intromette tra tutti i passaggi e cambia la direzione del traffico in modo che esso passi attraverso i moduli di analisi del programma. Le operazioni avvengono in maniera trasparente e sono virtualmente impercettibili per gli utenti.
Ecco un algoritmo approssimativo di funzionamento di SSL Decoder:
- ricezione di una richiesta di accesso ad un sito sicuro dal client
- generazione di un certificato server per tale sito
- firma del certificato con l’aiuto del certificato root specificato nelle impostazioni del programma
- invio del certificato al client
- instaurazione di una connessione sicura con il client
- instaurazione di una connessione sicura con il server esterno
- ricezione di richieste dal client e inoltro di esse al server esterno
- ricezione di risultati dal server esterno e trasmissione di essi al client
- chiusura delle connessioni sicure
Dall’algoritmo riportato sopra si vede che SSL Decoder agisce da proxy SSL che esegue le richieste degli utenti e riporta a loro i risultati.
L’algoritmo contiene alcuni passaggi importanti che necessitano di una spiegazione:
- generazione di un certificato
SSL Decoder agisce da autorità di certificazione (Certificate Authority), come per esempio VeriSign, Equifax o Thawte. Ma i certificati rilasciati hanno due differenze principali:- sono gratuiti
- nessuno si fida di essi
- firma del certificato server con l’aiuto del certificato root
Per rendere pienamente funzionante il certificato server rilasciato da SSL Decoder, bisogna validarlo. Viene firmato con l’aiuto di un altro certificato che si chiama "root certificate”. Il programma non potrà funzionare finché non venga specificato un certificato root. In una delle seguenti sezioni potrete leggere di più sui certificati.
Bisogna tenere presente che tramite SSL Decoder è impossibile lavorare con alcuni siti. Tali siti richiedono certificati client. Normalmente, i certificati client sono installati nell’archivio certificati del browser sul computer locale. Di conseguenza, è impossibile accedere alle chiavi. SSL Decoder non può accedere al sito protetto a nome del client perché il server richiede che il client (e in questo caso SSL Decoder agisce da client) confermi la propria affidabilità con l’aiuto del certificato personale che SSL Decoder non possiede. Come risultato, la connessione si chiude.
Purtroppo, non è possibile accedere a tali siti quando è attivo SSL Decoder. In tal caso bisogna aggiungere gli URL di tali siti alla lista bianca.
Modalità

SSL Decoder divide qualunque connessione sicura in tre fasi:
- accettazione del client, analisi dei dati richiesti, generazione e invio del certificato server
- ricezione di una richiesta di accesso ad un sito sicuro e inoltro della richiesta a ISA Server (Forefront TMG)
- invio di una richiesta al server Web esterno via connessione sicura
Le prime due fasi vengono eseguite dal componente che accetta le richieste client: i dati vengono decrittati e inviati in forma aperta. La terza fase viene eseguita dal componente che invia le richieste utente verso Internet: le richieste ricevute in forma aperta vengono crittografate e inviate verso Internet.
I componenti sono integrati nel programma e indipendenti l’uno dall’altro. Possono essere eseguiti su server ISA (Forefront TMG) diversi (è utile nel caso di ISA Server Enterprise Edition).
Il programma prevede i seguenti scenari di funzionamento:

- Scenario 1. Do nothing
Il programma è installato ma disattivato. Le richieste SSL non vengono processate. Questo scenario si usa quando bisogna disattivare temporaneamente l’applicazione senza rimuoverla dal sistema. - Scenario 2. Decrypt and Encrypt
È lo scenario più frequentemente usato. Ed è l’unico possibile se si usa ISA Server Standard Edition. Questo scenario prevede l’utilizzo di entrambi i componenti descritti sopra. Il primo decritta le richieste provenienti dagli utenti, le elabora e inoltra in forma aperta a ISA Server (Forefront TMG). Il secondo componente riceve le richieste, le crittografa e invia verso Internet. Come risultato, il traffico passa attraverso ISA Server (Forefront TMG) in forma aperta e viene crittografato prima di uscire fuori. - Scenario 3. Decrypt outgoing HTTPS requests
Questo scenario può essere applicato se si usa ISA Server Enterprise Edition. In base a questo scenario, le richieste in uscita provenienti dagli utenti vengono decrittate e inoltrate a ISA Server (Forefront TMG) in forma aperta. Questo scenario è una valida scelta nel caso nella vostra LAN ci siano un array e alcuni ISA Server (Forefront TMG). Se alla fine tutti gli ISA Server (Forefront TMG) mandano le richieste ad un server edge, è possibile fare un'installazione separata. Cioè, selezionare lo scenario 3 sul server che accetta i client e lo scenario 4 sul server edge. Perché usare gli scenari 3 e 4? Per migliorare la performance. Per evitare crittazione/decrittazione ripetuta, potete installare SSL Decoder in modalità di installazione separata solo sui punti iniziale e finale della catena di server ISA (Forefront TMG). Tuttavia anche se si usano array e alcuni ISA Server (Forefront TMG), è sempre possibile installare SSL Decoder solo sul server edge e selezionare lo scenario 2. - Scenario 4. Encrypt previously decrypted requests
Questo scenario è la continuazione di quello precedente. SSL Decoder deve usare questo scenario solo sull’ISA Server (Forefront TMG) edge. Attenzione! Nel caso venga selezionato lo scenario 3 su uno degli ISA Server (Forefront TMG) della LAN senza selezionare lo scenario 4 sul server edge, le richieste SSL non saranno processate o saranno processate con errori. Come risultato, nei browser degli utenti saranno visualizzati messaggi di errore di connessione ai siti richiesti.
Per capire meglio come funziona ciascuno scenario, vi invitiamo a vedere il seguente grafico:

Performance
Come è stato già detto prima, l’installazione del programma potrebbe ipoteticamente rallentare il processo di elaborazione di richieste SSL. Avviene perché la connessione SSL originale dal client (la fase di creazione del tunnel) viene divisa in tre passaggi e tutte le richieste ricevute dal browser client via connessione crittografata richiedono il processamento aggiuntivo da parte di ISA Server (Forefront TMG). Il calo della performance si nota di più nel caso di server Web vecchi che utilizzano il protocollo HTTP/1.0.
Tuttavia, siccome:
- i server vecchi si utilizzano sempre di meno su Internet
- il traffico SSL rappresenta solo una piccola parte del traffico totale
- i computer moderni sono nella maggior parte veloci, potenti, hanno tanta memoria e una performance spesso eccessiva
- dopo la decrittazione tutti gli oggetti richiesti vengono memorizzati nella cache di ISA Server (Forefront TMG), da cui potranno essere estratti se richiesti nuovamente
il calo della performance dovuto alla crittazione/decrittazione sarà impercettibile per l’utente e sarà compensato dai vantaggi di cui abbiamo parlato sopra.
Certificati. Certificato root
Qualunque richiesta SSL presuppone l’utilizzo di certificati. Che cosa sono?
In parole semplici, i certificati rappresentano una sostituzione sicura alla combinazione login/password. Un certificato digitale contiene informazioni sulla persona, l'azienda o il sito Web ai quali appartiene, la rispettiva chiave pubblica, i dati sull’autorità che l’ha rilasciato, la scadenza e l’elenco delle operazioni per le quali il certificato può essere usato. Le chiavi pubbliche normalmente non sono archiviate nei certificati. Siccome le chiavi pubbliche sono la parte più importante, devono essere archiviate in un posto sicuro.
I certificati vengono rilasciati da Autorità di certificazione. Che cosa sono?
Esistono due tipi di certificati: certificati autofirmati e certificati emessi da Autorità di certificazione. Se facciamo un paragone con un biglietto da visita, un certificato autofirmato è come un biglietto da visita fatto da sé, mentre un certificato emesso da un’Autorità di certificazione è come un biglietto da visita creato per voi da un affidabile centro di autenticazione. La maggior parte dei sistemi (con rare eccezioni) non lavorano con certificati autofirmati.
Un’autorità di certificazione è un’organizzazione che emette certificati, verifica la loro validità e li revoca, se necessario.
SSL Decoder funziona come una vera autorità di certificazione. Ogni volta che si riceve una richiesta SSL in uscita, SSL Decoder analizza i parametri di essa, rilascia un certificato che conferma l’affidabilità del sito e invia il certificato al client. Il certificato rilasciato deve convincere il client (il suo browser) che il sito visitato e il certificato ricevuto corrispondono l’uno all’altro. Altrimenti, il browser visualizzerà una serie di avvisi e consiglierà all’utente di non visitare il sito protetto richiesto. Per esempio, Firefox potrebbe visualizzare il seguente avviso:

Questo è l’avviso che potrebbe essere visualizzato da Internet Explorer:

Per convincere il browser che il certificato è attendibile, bisogna soddisfare due condizioni:
- il certificato deve essere firmato da un’autorità di certificazione affidabile
- il browser del client deve “fidarsi” di questa autorità di certificazione e quindi dei certificati che essa firma
È assai semplice soddisfare la prima condizione: basta creare un nuovo certificato root con l’aiuto di un’apposita finestra del programma. Oppure, se la vostra azienda è un’autorità di certificazione competente e autorizzata, indicare al programma il file contenente il certificato root. In entrambi i casi, è importante che il certificato root abbia chiavi private. Altrimenti sarà impossibile usarlo per firmare i certificati emessi.
La seconda condizione è più difficile da realizzare. Per farlo, bisogna esportare il certificato dal programma (senza chiavi private) e distribuirlo tra i PC dell’azienda. Il certificato deve essere installato su ciascun computer e in ciascun browser client nella sezione Autorità di certificazione fonti attendibili.
Ecco come appare l’archivio certificati in FireFox:

E in Internet Explorer:

Se si soddisfano entrambe le condizioni, gli utenti non vedranno nessun avviso durante le visite ai siti protetti con SSL Decoder in esecuzione.
Per maggiori informazioni consultate l’appendice.
Generazione di un nuovo certificato root
Per aprire la finestra che permette di generare un nuovo certificato root, bisogna fare clic sul pulsante Settings nel gruppo Root Certificate. Il processo include alcuni semplici passaggi:
- Passaggio 1. Il certificato non è installato. Generazione di un nuovo certificato.
- Passaggio 2. Il certificato è stato creato o caricato, verificato ma non installato. Installazione del certificato.
- Passaggio 3. Il certificato è installato. Visualizzazione, backup, eliminazione ed esportazione del certificato.

In questa fase, è possibile sia creare un nuovo certificato che caricare un certificato da un file. È possibile caricare certificati in uno dei formati più diffusi: PFX, CER, PEM.
Attenzione! Il file dal quale si carica il certificato deve contenere chiavi private.
Per generare un nuovo certificato, premere il pulsante Generate New Root Certificate. Si aprirà la seguente finestra di dialogo:

Nei campi di questa finestra bisogna specificare i parametri per il nuovo certificato root. È logico specificare i requisiti della vostra azienda. Per creare il nuovo certificato, premere il pulsante OK.

In questa fase, è possibile visualizzare il certificato cliccando su View… e installarlo cliccando su Install Root Certificate.

Abbiamo completato tutte le operazioni relative alla creazione e installazione del certificato. SSL Decoder è completamente pronto per il lavoro. In questa fase, è possibile visualizzare il certificato, eliminarlo se si vuole creare o caricare uno nuovo, fare una copia di backup.
Attenzione! Quando si crea una copia di backup, le chiavi private vengono salvate.
Inoltre, in questa fase, è possibile esportare il certificato in un file per poterlo poi distribuire tra i computer client dell’azienda. In questo caso, le chiavi private non vengono esportate. È possibile esportare il certificato in uno dei formati più diffusi per l’archiviazione di certificati: PFX, CER, PEM.
Sopra abbiamo parlato del perché bisogna distribuire il certificato sui computer client.
Impostazioni aggiuntive
Nel programma sono disponibili le seguenti impostazioni aggiuntive:
- lista bianca di siti Web
- opzioni di servizio aggiuntive
La lista bianca permette di specificare i siti Web che non devono essere processati. Nel caso di problemi di accesso a qualche sito sicuro o nel caso un sito presupponga l’utilizzo di certificati client, è possibile non elaborare tali siti. SSL Decoder lavora con la lista bianca con l’aiuto degli oggetti standard di ISA Server (Forefront TMG), tipo Domain Name Set. Bisogna creare un nuovo Domain Name Set e aggiungere a esso il sito da escludere dal processamento, oppure aggiungere il sito ad un Domain Name Set esistente. Fatto questo, bisogna informare il programma che non deve elaborare tutti i siti presenti nel Domain Name Set. Per farlo, andare alle impostazioni del programma e premere il pulsante Settings nell’area White Lists.

La finestra di dialogo Additional settings ha il seguente aspetto:

Opzione Modify Web Proxy log files
Quando SSL Decoder codifica/decritta i dati, invia tutti i tipi di richieste in uscita. Queste richieste vengono in realtà fatte PER il client, cioè SSL Decoder ottiene con le proprie forze i contenuti richiesti dagli utenti che hanno iniziato la connessione SSL e poi trasmette agli utenti gli oggetti ricevuti. Se analizziamo i file di log di ISA Server (Forefront TMG) dopo tutte queste operazioni, potremo vedere che:
- l’utente si è connesso a ISA Server (Forefront TMG) ed ha iniziato una connessione sicura
- ISA Server (Forefront TMG) ha instaurato una connessione al server Web esterno sicuro richiesto dall’utente
- ISA Server (Forefront TMG) ha richiesto l’oggetto necessario dal server Web sicuro
- ISA Server (Forefront TMG) ha ricevuto l’oggetto e l’ha trasmesso all’utente
- l’utente ha chiuso la connessione
- ISA Server (Forefront TMG) ha chiuso la connessione
Come possiamo capire, tutte le richieste inviate da ISA Server (Forefront TMG) sono in realtà iniziate su richiesta dell’utente. Quindi sarebbe logico che fossero mostrate nel log come iniziate dall’utente. In questa maniera si avrà un quadro più logico delle richieste inviate dagli utenti.
Se si abilita l’opzione Modify Web Proxy log files, SSL Decoder modificherà i file di log di Web Proxy in modo che le richieste di servizio appaiano come iniziate dall’utente che ha iniziato la connessione SSL originale.
Opzione Enable connection errors logging
Se si abilita questa opzione, SSL Decoder salverà i dati relativi agli eventuali errori (se dovessero aver luogo) in un apposito file di debug. Questo file aiuterà al team di supporto tecnico a capire le cause degli errori.
Configurazione di Microsoft ISA Server (Forefront TMG) per il lavoro con SSL Decoder
SSL Decoder lavora con Microsoft ISA Server 2004 e 2006 e Forefront TMG. Sono supportate sia la Standard Edition che l’Enterprise Edition.
Perché SSL Decoder possa scaricare oggetti protetti, bisogna abilitare l’accesso da Local Host a External per SSL Decoder. È possibile farlo creando un’apposita regola. Come questa, per esempio (si prega di notare che nella scheda “Users” deve essere selezionata l’opzione "All Authenticated Users"):

o come questa

Testare l’applicazione
Come accertarsi che il programma lavora ed effettua con successo le proprie funzioni:
- analizzare i file di log di Web Proxy
Se il programma è abilitato e funziona, l’analisi dei file di log (per esempio, con l’aiuto di Internet Access Monitor for ISA Server) permette di vedere gli URL completi di tutti gli oggetti richiesti dagli utenti. Inoltre, si potrà vedere il volume di traffico in uscita e in arrivo per ogni file richiesto.
- configurare Response Modifier
Potete provare a configurare Response Modifier in modo che sostituisca alcune parole con altre. Poi, visitate qualche risorsa protetta per accertarsi che le sottostringhe indicate vengono sostituite. - visualizzare il certificato
Usate l’opzione del browser "Visualizza certificato del sito sicuro" mentre state visitando una risorsa sicura. Dovrete vedere il certificato creato da SSL Decoder e firmato dal certificato root che avete creato o caricato nel programma.
Quando il programma è disabilitato e non funziona, tutto il traffico SSL sarà processato come prima. Vuol dire che dopo che il client chiude la connessione, apparirà una sola riga nel file di log e non si potrà vedere che cosa sia stato richiesto e inviato durante la sessione. Non si potrà verificare la presenza di virus negli oggetti richiesti né modificarne il contenuto.
Interazione di SSL Decoder con le altre applicazioni del pacchetto ISA Server (Forefront TMG) Toolkit e con prodotti di altre case
Tutti i prodotti che fanno parte del pacchetto ISA Server (Forefront TMG) Toolkit sono collegati tra loro e costituiscono una catena unica. L’ordine di utilizzo di determinati filtri Web viene gestito da ISA Server (Forefront TMG) e dipende dalla priorità di ciascun filtro. Per ottenere un funzionamento liscio, senza conflitti tra le applicazioni, bisogna rispettare le seguenti regole:
- Nell'elenco dei filtri Web, SSL Decoder deve stare sempre SOPRA al filtro Client User Name Resolver.
- Nell’elenco dei filtri Web, SSL Decoder deve stare sempre SOPRA al filtro Advanced Web Routing Rules.
- Bisogna tenere presente che i filtri Web di terzi possono entrare in conflitto con SSL Decoder. Perciò nel caso ci siano dei problemi di accesso a siti protetti, bisogna accertarsi che non siano causati da un conflitto con un’applicazione di terzi. Per farlo, potete provare a disattivare PROVVISORIAMENTE, a scopo di test, il filtro Web alternativo. Se in questo modo il problema si risolve, contattate il nostro servizio di supporto tecnico fornendo una descrizione dettagliata del problema.
Conclusione
Spetta a ogni singolo amministratore decidere quanto sia alto il livello di pericolo che l’utilizzo di traffico SSL potrebbe comportare per l’azienda. Se è relativamente basso il rischio di perdere dati importanti, infettare i computer o che vengano ignorate le regole di accesso, non ha molto senso usare il programma.
Tuttavia, se credete che questo fattore potrebbe influire negativamente sulla sicurezza aziendale, se volete analizzare tutti i siti visitati dai collaboratori, se volete far lavorare le regole indipendentemente dal tipo di connessione usata, SSL Decoder è esattamente ciò di cui avete bisogno.

RSS