Ecco come utilizzare SSL/TLS, S/Mime, certificati e crittografia a chiave pubblica per rendere più sicuri servizi Web e comunicazioni email

Nonostante molte tecnologie legate ai protocolli SSL/TLS siano state spesso oggetto di attacchi negli ultimi 3 anni, un buon sistemista o manager IT nel 2016 non può pensare che la sua organizzazione utilizzi ancora sistemi che trasmettono in chiaro tutte le informazioni. L’uso del Transport Layer Security (e del suo predecessore SSL) – sia ben chiaro – è tutt’altro che sufficiente a garantire la confidenzialità dei dati trasmessi via Internet e basta una rapida ricerca bibliografica per scoprire una vastità di casistiche e le tipologie di attacchi possibili a questi protocolli (ad esempio qui e qui). TLS rappresenta comunque un primo livello di sicurezza irrinunciabile per i dati che vengono trasmessi, sia nell’accesso a un servizio Web aziendale, sia nell’accesso alla posta elettronica via Webmail o IMAP/POP3/Exchange.
TLS lavora come un tunnel e non modifica la comunicazione che avviene, ad esempio, tra client e server: aggiunge solo – appunto – un Layer che si occupa di cifrare i dati tra la sorgente e la destinazione. Lo fa sfruttando alcuni concetti alla base della cifratura a chiave pubblica. Chi svolge il ruolo di server deve avere un certificato, rilasciato da una autorità di certificazione o – nel peggiore dei casi – autofirmato: solo chi ha comprato il certificato ne ha anche la chiave privata che permette di cifrare la comunicazione.

startssl startcom tool

I certificati autofirmati non garantiscono l’autenticità della connessione, ma quantomeno ne garantiscono la cifratura. In pratica se voi state navigando sul sito www.example.com e vedete un certificato autofirmato il certificato è comunque firmato, ma non avete alcuna certezza che il sito che vi sta rispondendo sia effettivamente www.example.com. Potrebbe esserci qualcuno che si è messo tra voi e quel sito e che sta fingendo di essere www.example.com per rubarvi le credenziali. Finchè vi trovate in situazioni controllate come nel caso di collegamento all’interfaccia Web del Nas locale o a qualche servizio Intranet, questo tipo di errore potrebbe anche essere accettabile, poiché probabilmente non usate un nome a dominio bensì un indirizzo IP. In questi casi siete ragionevolmente sicuri (per via della natura stessa della destinazione) che chi vi risponde sia chi dice di essere.


E’ invece inaccettabile se si tratta di qualsiasi servizio di Webmail o Web di altro tipo usare un certificato autofirmato. Non vi permette infatti di avere la garanzia di chi vi sta rispondendo dall'altra parte della connessione.


I certificati rilasciati da una autorità di certificazione possono essere di tre tipi: possono certificare soltanto il dominio (cioè confermarvi solo che effettivamente il sito remoto è www.example.com), oppure possono certificare la persona o l’organizzazione che risponde dall’altra parte. Ad esempio l’autorità di certificazione potrebbe certificare che il sito è quello di Mario Rossi, oppure che è quello dell’azienda Rossi Spa. Per questa certificazione naturalmente il costo è più alto poiché l’ente certificatore non ha semplicemente verificato i titolari del dominio, ma ha controllato le carte d’identità e la documentazione inerente la persona o l’organizzazione. Una certificazione simile ad esempio è fondamentale per i siti delle banche o dei servizi finanziari, poiché vi garantisce anche sull’organizzazione che ha comprato il certificato.


Il valore di un certificato è poi legato anche ai servizi accessori che può fornire o al numero di dispositivi mobili che supporta: ad esempio alcuni certificati gratuiti hanno evidenti problemi con i cellulari più datati, poiché questi dispositivi non vengono aggiornati e riconoscono solo alcune autorità di certificazione.
Chi fornisce un servizio di posta elettronica dovrebbe dunque tenere presenti queste considerazioni e comportarsi di conseguenza. Il primo punto è evitare di fornire servizi che non abbiano l’opzione SSL, come un servizio di posta solo con IMAP, POP3 o Activesync in chiaro. La strada migliore è chiudere le porte non cifrate e usare solo quelle con TLS, ma naturalmente non si può far così con tutti i clienti: alcuni usano purtroppo ancora dispositivi datati che non supportano i protocolli più recenti.
Chi vende qualsiasi tipo di servizio non dovrebbe poi proporre servizi con certificati autofirmati. I certificati dovrebbero essere tutti almeno con verifica del dominio. Si trovano persino alcuni fornitori di certificati di questo tipo a costo zero, anche se con svariati limiti, dunque non ci sono scuse valide per non usarli.


Chi cercasse invece un modo per aumentare la confidenzialità della posta elettronica dovrebbe valutare la possibilità di usare S/Mime perlomeno con i contatti con cui trasmette informazioni riservate o strategiche. Questa tecnologia – sempre basata su chiavi pubbliche e private – può essere facilmente implementata su tutti i client moderni (Outlook, Thunderbird e così via), compresi alcuni client specifici per Android e IOS. Con questa tecnologia non è solo la trasmissione a essere incapsulata in un canale sicuro, ma i messaggi email possono essere completamente cifrati da mittente a destinatario, mentre la firma può garantire la provenienza e il fatto che nessuno ha modificato il messaggio durante il transito.


Chi si trovasse per la prima volta ad avere a che fare con i certificati potrebbe avere qualche difficoltà, ecco un piccolo glossario da tenere sottomano.

  • Codifica DER: l’estensione è DER, CER o CRT ed è uno dei formati più usati per la codifica di certificati x.509 v3

  • Codifica PEM: l’estensione è PEM ed è usata per vari certificati x.590 v3 memorizzati in ASCII (base 64) con la classica stringa “--- BEGIN…” a inizio file.

  • CRT è la classica estensione dei certificati sui sistemi Linux/Unix. Ad esempio per la configurazione di Apache su Linux, insieme naturalmente alla chiave privata (KEY) decifrata.

  • CER è una convenzione Microsoft per i certificati, viene riconosciuta da Windows e da Internet Explorer. I file con questa estensione sono codificati come DER o in Base64. Si possono importare facilmente in Windows ma includono appunto SOLO il certificato, senza la rispettiva chiave. Potrebbe contenere una catena di certificati.

  • KEY è l’estensione usata abitualmente per le chiavi pubbliche e private PKCS#8. Le chiavi possono essere codificate in formato binario DER o in ASCII PEM e possono essere in chiaro o cifrate.

  • PKCS: Public Key Cryptography Standards sono delle specifiche dei laboratori RSA per una PKI (infrastruttura a chiave pubblica). I formati sono identificati da un numero, ad esempio PKCS#15

  • P7B o P7C: strutture SignedData PKCS#7 senza dati che contengono solo il certificato o i certificati o le Certificate Revokation List. Vengono usate per imbustare (enveloping) i dati di una sctruttura PKI.

  • P12: struttura PKCS#12 che può contenere certificati, chiavi pubbliche e private. Le chiavi private sono protette da password.

  • PFX: formato PKCS#12 che include certificato, chiave pubblica e privata. Le chiavi private possonop essere protette da password. Può essere creato a partire da chiave e certificato in altri formati usando OpenSSL o altri tool specifici. Se dovete configurare un sistema Windows probabilmente cercherete di creare o scaricare questo formato.

  • CA abbreviazione per Certification Authority, autorità di certificazione

  • CSR (Certificate Signing Request) è una richiesta di certificato da mandare a una CA per avere un certificato firmato. Il formato più diffuso è quello stabilito dallo standard PKCS#10. La richiesta viene redatta usando una chiave privata, così il certificato fornito sarà utilizzabile solo con la chiave privata usata per creare la CSR. La CSR include la chiave pubblica della chiave privata con cui è stato firmato.

  • OpenSSL: libreria open source per la gestione di varie funzioni di cifratura legate ai protocolli SSL e TLS, da NON confondere con OpenSSH. La sua vulnerabilità più nota tra le numerose trovate di recente è Heartbleed. Con i tool inclusi nella libreria e disponibili da riga di comando su Linux si possono facilmente convertire tutti i formati di certificato/chiave citati.

L'autore

Filippo Moriggia

Dopo 10 anni di esperienza nel settore del giornalismo tecnico collaborando con  PC Professionale, Panorama e altre testate del gruppo Mondadori, Filippo Moriggia ha fondato Guru Advisor, il sito italiano di riferimento per professionisti del settore IT, system integrator e managed service provider.
È laureato in Ingegneria delle Telecomunicazioni e svolge attività di libero professionista come consulente presso aziende e studi professionali. Si occupa in particolare di software, virtualizzazione, reti e sicurezza. È certificato VMware VCA for Data Center Virtualization.

banner5

fb icon evo twitter icon evo

Parola del giorno

L'acronimo SoC  (System on a Chip) nasce per descrivere quei circuiti integrati che, all'interno di un singolo chip fisico, contengono un...

>

YAML è un formato utilizzato per serializzare (ovvero salvare oggetti su supporti di memoria ad accesso seriale) dati, in modo...

>

Il termine Edge Computing descrive, all'interno di infrastrutture cloud-based, l'insieme di dispositivi e di tecnologie che permettono l'elaborazione dei dati ai...

>

L'acronimo FPGA  (Field Programmable Gate Array), descrive quei dispositivi hardware formati da un circuito integrato e con funzionalità programmabili tramite...

>

Il termine Agentless (computing) descrive operazioni dove non è necessaria la presenza e l'esecuzione di un servizio software (demone o...

>
Leggi anche le altre...

Download del giorno

Fiddler

Fiddler è un server proxy che può girare in locale per consentire il debug delle applicazioni e il...

>

Adapter Watch

Adapter Watch è uno strumento che permette di visualizzare un riepilogo completo e dettagliato delle informazioni riguardanti una determinata...

>

DNS DataView

DNS Lookup  è un tool a interfaccia grafica per effettuare il lookup DNS dal proprio PC, sfruttando i...

>

SolarWinds Traceroute NG

SolarWinds Traceroute NG è un tool a linea di comando per effettuare traceroute avanzati in ambiente Windows...

>

Network Inventory Advisor

Network Inventory Advisor  è uno strumento che permette di scansionare la rete e acquisire informazioni riguardanti tutti i...

>
Tutti i Download del giorno...

Archivio numeri

  • GURU advisor: numero 21 - maggio 2019

    GURU advisor: numero 21 - maggio 2019

  • GURU advisor: numero 20 - dicembre 2018

    GURU advisor: numero 20 - dicembre 2018

  • GURU advisor: numero 19 - luglio 2018

    GURU advisor: numero 19 - luglio 2018

  • GURU advisor: numero 18 - aprile 2018

    GURU advisor: numero 18 - aprile 2018

  • GURU advisor: numero 17 - gennaio 2018

    GURU advisor: numero 17 - gennaio 2018

  • GURU advisor: numero 16 - ottobre 2017

    GURU advisor: numero 16 - ottobre 2017

  • GURU advisor: numero 15 - luglio 2017

    GURU advisor: numero 15 - luglio 2017

  • GURU advisor: numero 14 - maggio 2017

    GURU advisor: numero 14 - maggio 2017

  • 1
  • 2
  • 3
  • Teslacrypt: rilasciata la chiave

    Gli sviluppatori del temuto ransomware TeslaCrypt hanno deciso di terminare il progetto di diffusione e sviluppo e consegnare al pubblico la chiave universale per decifrare i file. Read More
  • Proxmox 4.1 sfida vSphere

    Proxmox VE (da qui in avanti semplicemente Proxmox) è basato sul sistema operativo Debian e porta con sé vantaggi e svantaggi di questa nota distribuzione Linux: un sistema operativo stabile, sicuro, diffuso e ben collaudato. Read More
  • Malware: risvolti legali

    tutti i virus e in particolare i più recenti Ransomware, che rubano i vostri dati e vi chiedono un riscatto, violano la legge. Vediamo insieme come comportarsi, per capire anche se e quando bisogna sporgere denuncia. Read More
  • 1