Let’s Encrypt, https open-source
Let’s Encrypt e’ una autority CA che rilascia certificati SSL. Fin qui niente di nuovo, se non fosse che questo progetto e’ gratuito, automatico e open source. Dai primi di Dicembre Let’s Encrypt e’ passato in fase di beta pubblica, pertanto chiunque puo’ partecipare, beneficiare dei vantaggi derivati dall’ utilizzare il protocollo HTTPS e fare da tester per migliorare ulteriormente il progetto.
I certificati SSL consentono di far verificare da enti terzi l’ attendibilita’ di un sito internet e di cifrare la connessione tra browser e server. In pratica, ogni volta che un browser si imbatte in un sito che dichiara di poter utilizzare una connessione protetta HTTPS (HTTP over SSL) questo richiede al server che ospita tale sito un certificato SSL. Il browser si incarica prima di tutto di verificare che il certificato sia attendibile, confrontandolo con quello disponibile presso le varie Certificate Authority, dopodiche’, se l’identita’ del server viene confermata, il browser richiede al server una firma digitale che verra’ utilizzata per cifrare la sessione. In questo modo i dati che passano tra browser e server, anche quando dovessero essere intercettati, sarebbero illeggibili.
L’ adozione di questo protocollo su internet e’ fortemente incoraggiato da molti protagonisti del settore, a partire da Google che, ad esempio, promette un miglioramento di ranking per i domini in https. Il problema e’ che ottenere, installare e mantenere un certificato SSL, anche se economicamente alla portata di tutti, non e’ banale. Le varie CA hanno procedure diverse per gestire il rilascio e l’ installazione del certificato, con passaggi tecnici e formali che a volte obbligano ad effettuare se non inutili, discutibili operazioni.
Let’s Encrypt nasce per risolvere questi problemi, consentendo a tutti di fare un grosso passo avanti verso la sicurezza.
Per provare il sistema e’ sufficiente loggarsi sul server su cui vogliamo installare i certificati, scaricare da GitHub il client che mettono a disposizione, lanciare un comando che si occupa di effettuare installazione e configurazione e siamo pronti per gestire i nostri certificati. Anche la gestione del rinnovo del certificato, per adesso trimestrale, avverra’ attraverso questo client.
Esempio di installazione con CentOS e Apache
Installazione del client
al termine della configurazione creiamo il nostro certificato, Apache deve essere fermato durante questo passaggio.
Seguiamo le istruzioni del client e al termine annotiamoci il path del certificato, nel nostro esempio /etc/letsencrypt/live/pippo.it.
Fatto questo accediamo alla configurazione del vhost, modifichiamolo per gestire il nuovo certificato e aggiungiamo il redirect per le chiamate su http.
A questo punto riavviamo nuovamente apache, accediamo a http://pippo.it e verifichiamo che tutto funzioni correttamente.