Da qualche tempo stò lavorando al completamento della messa in sicurezza dei sistemi su cui lavoro per rendere finalmente disponibili anche via internet (extranet) alcuni servizi che ho preparato.
Parlando di Web e di Internet ovviamente si parla di HTTPS e di SSL. I sistemi in questione sono vari e sinteticamente posso dirvi che ci stanno dentro:
- Sito Web
- E-Commerce
- Portal
- Connections
- Quickr
- Sametime
- Altri servizi minori su base domino/php/websphere
Stò parlando quindi di proteggere con HTTPS almeno 7 hostname (in realtà sono di più) e qui nascono i "problemi".
Da un lato potrei generarmi in casa tutti i certificati SSL usando la OTTIMA PKI di Domino server (Public Key Infrastructure) oppure comprare i certificati digitali da un fornitore "serio" tipo Verisign/Geotrust ed altri.
In entrambi i casi ho vantaggi e svantaggi da valutare:
Soluzione 1: Domino based usando la Certificate Authority e i servizi domino
Vantaggi | Svantaggi |
|
|
Soluzione 2: Compro i certificati da un provider
Vantaggi | Svantaggi |
|
|
Le possibilità quindi non mancano, da una parte posso risparmiare, avere sicurezza ma devo gestire e spiegare all'utente che deve installare il mio certificato (diventa presto un incubo, e in alcune realtà gli utenti non hanno questi diritti), dall'altra posso avere tutta la comodità per gli utenti ma mi tocca spendere parecchi soldi.
Va inoltre tenuto conto che per avere sicurezza "vera" tutto deve essere protetto. Potrebbe sembrare furbo proteggere solo i servizi principali... ma se su un servizio secondario la form di login non fosse protetta andrei a compromettere tutto il lavoro fatto. Basterebbe che qualcuno compromettesse / intercettasse le form di quel servizio per rendere vano tutto il lavoro di messa in sicurezza.
Ovviamente l'ideale sarebbe quello di avere tutto, certificati digitali firmati da fonti attendibili (costoso) e sicurezza su tutti gli host... (costoso).
Approfondendo bene la cosa ho trovato la soluzione (magari già nota ad altri).
I certificati digitali per HTTPS sono identificati da un DN (distinguished name) che ha una forma simile alla seguente:
CN=hostname,OU=organization unit,O=organization,C=country
L'hostname identifica l'host protetto dal certificato (infatti se accedete ad un host https e non c'è corrispondenza i browser vi segnalano che si potrebbe trattare di un trucco).
E qui c'è il trucco, all'interno del DN del sito potete usare una wildcard, per es.
CN=*.vistalli.it,OU=labs,O=vistalli.it,C=IT
Con un siffatto certificato potrò proteggere "qualunque" hostname del dominio vistalli.it riducendo drasticamente il numero dei certificati che mi servirà creare o comprare.
In sintesi mi stò apprestando a comprare dei certificati digitali wildcard per l'ambiente da mettere in sicurezza e ad installarli su TUTTI (ricordate che è imporante) i miei serve in modo da avere tutti i vantaggi:
- Costo contenuto (per esempio un certificato wildcard su rapidSSL costa solo 199$ per un anno, una spesa DA FARE).
- Massima flessibilità, con un solo certificato posso proteggere qualunque numero di host e sapendo lavorare con i certificati li posso usare per domino / apache / IHS / websphere
- Massima praticità, i certificati sono creati con delle root già note ai browser e non è necessario installare sui browser degli utenti nessun certificato aggiuntivo.
Detto questo.. buona messa in sicurezza a tutti... fatelo prima che sia troppo tardi.
Ciao,
Daniele
Comments (0)
Daniele Vistalli March 8th, 2008 15:06:42