Richiedi informazioni

I campi contrassegnati con * sono obbligatori

Sito protetto da Google reCAPTCHA.Privacy Policy Termini di servizio

certificati ssl tls

Internet di oggi è parecchio diverso per forma, scopi e contenuti da come i suoi ideatori l’avevano pensato negli anni 70 e 80. Con l’apertura al pubblico avvenuta ad inizio anni ’90 è stato spalancato un vero e proprio mondo, digitale, parallelo a quello reale, in costante crescita e pieno di insidie e pericoli.

Le grosse realtà operanti nel mondo IT hanno da sempre a cuore l’argomento della sicurezza online. Con l’inizio del 2017 Google ha fatto una mossa rivelatasi decisiva per incentivare l’adozione di connessioni criptate tra client e server tramite protocollo HTTPS nella navigazione web.

La mossa di Google

Google già da tempo ha reso l’adozione di certificato SSL e protocollo HTTPS da parte dei siti web fattore di ranking. Il giro di vite decisivo è però stato fatto ad inizio 2017, modificando il comportamento del browser Chrome. Da gennaio infatti Chrome evidenzia i siti web non protetti da protocollo HTTPS e li etichetta come “non sicuri”.

Questa novità ha avuto un notevole risalto mediatico, tanto che tutti i principali browser si sono adeguati ed hanno implementato la stessa funzionalità, anche in maniera più evidente ed invasiva.

Forzare la mano in questo modo ha costretto tutti gli operatori (grandi e piccoli) nel mercato IT ad adeguarsi. Notizie di questi giorni parlano che con il 2018 Google rincarerà la dose, bloccando direttamente la connessione a siti web contenti form e non protetti da protocollo HTTPS.

Perché un sito web senza certificato è insicuro?

Quando tramite il nostro browser consultiamo un sito web stabiliamo una serie di connessioni con un server web remoto. Queste connessioni hanno l’obbiettivo di richiedere la pagina che vogliamo visitare (e tutti i relativi assets). Ovviamente queste richieste e le risposte che il server genera viaggiano sulla rete internet dal luogo sorgente fino alla destinazione, potrebbero quindi essere soggette a manomissione o essere intercettate lungo il percorso.

Fino a quando si richiedono semplici pagine web la cosa è abbastanza irrilevante, il tutto acquista importanza in caso il client invii informazioni al server allegate alla richiesta di una risorsa. Solitamente queste informazioni sono dati sensibili come credenziali di autenticazione o peggio informazioni relative a metodi di pagamento. Chiaro che uno sniffing di queste informazioni potrebbe portare a conseguenze piuttosto gravi.

A cosa serve un certificato SSL?

Il certificato SSL o TLS non è altro che una certificazione dell’identità del server con cui stiamo interloquendo ed è composto dalle seguenti informazioni:

  • Numero seriale del certificato: un identificativo univoco assegnato al certificato alla creazione ed usato soprattutto per controllare una eventuale revoca del certificato.
  • Soggetto: l’entità che viene certificata, sia essa un’azienda, una persona, o una macchina.
  • Certificate Authority: l’entità che ha emesso il certificato e che lo ha firmato.
  • Data di inizio validità: la data da cui il certificato è valido.
  • Data di scadenza: la data da cui il certificato non va più ritenuto valido.
  • Key Usage: lista di scenari in cui la chiave pubblica fornita con il certificato può essere utilizzata.
  • Extended Key Usage: una lista di applicazioni in cui il certificato può essere usato.
  • Public Key: la chiave pubblica appartenete al soggetto del certificato.
  • Algoritmo usato per la firma: l’algoritmo utilizzato per firmare il certificato.
  • Firma: non è altro che il contenuto del certificato criptato con la chiave privata della CA che ha emesso il certificato.

In pratica non è altro che un meccanismo per fornire una chiave pubblica da usare per negoziare una chiave di sessione con cui criptare tutte le informazioni che client e server si scambiano.  Il problema che si è dovuto risolvere è stato quello di autenticare queste chiavi pubbliche, rendendole quindi affidabili. Per questo esistono le Certificate Authority, ovvero entità di terze parti ritenute affidabili e autorizzate quindi ad emettere e firmare i certificati.

Una volta ottenuto il certificato per il mio sito web?

Una volta ottenuto un certificato valido, è necessario configurare adeguatamente il webserver per la gestione delle richieste sulla porta 443 (quella assegnata al protocollo HTTPS) e per servire il certificato con ogni richiesta di SSL Handshake. L’SSL Handsahke è il primo passo per la negoziazione di una chiave di sessione simmetrica con cui poi verranno criptate tutte le informazioni.

È molto importante anche gestire correttamente i redirect (magari in maniera permanente) per le richieste fatte con l’utilizzo di protocollo HTTP verso l’indirizzo corrispettivo con HTTPS.

Il browser, in automatico (tutti i browser moderni lo fanno) si occuperà di verificare la validità del certificato fornito dal server. Per farlo i browser hanno una lista di Certificate Authority valide, il certificato quindi viene esaminato controllando chi lo ha rilasciato, date di scadenza ed evenutali revoche.

Ovviamente il vostro sito web dovrà avere tutte le risorse interne riferite con indirizzo corretto, ovvero utilizzando HTTPS come protocollo.

In conclusione

Qui in Retorica per tutti gli hosting Linux abbiamo deciso di fornire in maniera gratuita a tutti i nostri clienti (anche quelli futuri) un certificato SSL ottenuto tramite l’utilizzo del servizio Let’s Encrypt.

Se desiderate approfondire l’argomento potete commentare o contattarci in privato, abbiamo anche in programma di fare altri articoli sull’argomento in futuro.