Ho letto un interessante articolo relativo ai rischi di sicurezza a cui ci si espone utilizzando Presentation Server, Web Interface e altri prodotti Citrix per distribuire le applicazioni e ho pensato di condividere alcune considerazioni.
Su channelinsider.com è stato pubblicato un articolo piuttosto preoccupante sui bassi livelli di sicurezza che l’utilizzo di tecnologie come Citrix Presentation Server per la pubblicazione di applicazioni via internet si portano dietro. Le osservazioni di Petko D. Petkov, esperto di sicurezza, sono corrette, ma mancano secondo me alcune osservazioni.
Partiamo da quello che secondo me è il primo postulato della sicurezza: la sicurezza assoluta non esiste! Questa vale nella realtà di tutti i giorni (un ladro esperto non vi scardinerà la porta, ma sarà in grado di forzare la migliore serratura in pochi secondo e con grande eleganza) come nell’informatica. Assodato questo punto bisogna capire cosa c’è da proteggere e come va protetto. Nella maggior parte dei casi la sicurzza dei dati è legata alla necessità di non perdere i dati, piuttosto che alla reale esigenza di evitare che qualcuno, in modo fraudolento, riesca ad entrarne in possesso.
Nella realtà, la sicurezza del dato si contrappone alla necessità di accesso all’informazione. Citrix offre da sempre soluzioni per accedere alle applicazioni sin dai primi prodotti. Con le prime web interface (al tempo NFuse) potevamo configurare il firewall e i server Citrix per rispondere ad indirizzi pubblici, permettendo così una semplice connessione tramite internet. Questo però esponeva oltre alla componente web, anche tutti i server, solitamente configurati su una porta nota (di default i server ascoltano sulla porta TCP 1494) con evidenti problemi di sicurezza. Tutto questo è stato brillantemente risolto con l’introduzione di Citrix Secure Gateway e successivamente Citrix Access Gateway, un prodotto per incapsulare il protollo ICA in SSL verso uno o più server che lavorano come una specie di reverse proxy: i client contattano il Gateway sulla porta 443 e questo parla con i Presentation Server della farm (o in chiaro o anche qui in SSL). Dall’esterno quindi non solo non si è più in grado di contattare direttamente con la farm, ma tutto il traffico è cifrato e verificato dal cerfificato.
Resta però ancora un punto critico, e cioé la Web Interface! In effetti la componente web, benché possa trovarsi in una DMZ su server fuori dal dominio, è in grado di verificare le credenziali di un utente sul dominio tramite application server (le credenziali vengno verificate dai Pesentation Server) e quindi costituisce di per sé un punto delicato e in qualche modo una possibile falla di sicurezza: anche se un utente non ha applicazioni pubblicate, è sempre un utente di dominio e per tanto tramite la Web Interface è possibile verificarne le credenziali!
Esistono diverse soluzioni anche per questo problema: la risposta ufficiale di Citrix si chiama strong authentication! L’utilizzo di token per verificare chi sta accedendo ha una doppia funzione: solo gli account associati ad un token possono accedere (quindi è inutile provare le credenziali dell’utente administrator!) e inoltre anche nel caso in cui qualcuno sia venuto in possesso di utenza e password, c’è bisogno di un terzo elemento (il codice del toekn)! Esistono ormai un’infinità di produttori di token e praticamente tutti garantiscono la compatibilità con la Web Interface: in realtà Citrix ad oggi supporta solo RSA ScurID e SceureComputing SafeWord. Il mio consiglio è di rimanere su uno di questi due produttori solo per il fatto che probabilmente non dovremo cambiare prodotto o impazzire per problemi di compatibilità al primo aggiornamento dei prodotti Citrix!
Esistono anche delle soluzioni che si avvicinano al free, come quella dei token via SMS realizzata da Claus Isager, che si appoggia ad un sistema per inviare SMS via internet (si pagano gli SMS). Chiaramente questo tipo di soluzione richiedono una certa confidenza nella programmazione per essere in grado di mettere le mani sul codice, ma offrono un buon livello di sicurezza ad un costo decisamente basso.
Un terzo aproccio al problema ci viene suggerito dal sito di Thomas Koetzing, che sul suo sito ci propone un metodo per limitare l’accesso alla Web Interface ad un determinato gruppo di utenti, impedendo di fatto di verificare le credenziali di utenti di sistema o comunque non abilitati all’utilizzo di applicazioni via internet.
Il problema della sicurezza è chiaramente molto più ampio di quanto si possa trattare in un breve articolo, tuttavia spero che queste poche considerazioni aiutino a valutare meglio l’utilizzodi misure protettive per evitare problemi che in realtà non sono legati a tecnologie come Presentation Server, ma all’utilizzo che ne facciamo.