Come installare il certificato SSL di Let’s Encrypt con IIS su Windows Server

Come abbiamo già avuto modo di dire in altre occasioni il certificato SSL sul proprio server web non può più essere considerato un optional. E’ qualcosa che è ormai entrato nella prassi comune dei webmaster, ed anche i fornitori di servizi di hosting lo offrono insieme ai loro pacchetti commerciali.

Grazie al certificato SSL il tuo sito sarà reso disponibile agli utenti utilizzando non più il classico protocollo http ma la versione protetta del protocollo, quella denominata https. Utilizzando i dati presenti nel certificato, il server web restituirà al computer dell’utente i dati in forma criptata e protetta, in modo che non possano essere intercettati da nessuno.

Questo è quanto mai indispensabile se il tuo sito è un e-commerce o se richiede una autenticazione: in questo modo utente e password viaggeranno su internet in modalità sicura, e non sarà possibile intercettarli per sostituirsi all’utente e compiere azioni fraudolente.

Come funziona un certificato?

Intanto bisogna dire che esistono diversi tipi di certificati e si va da quelli che proteggono un singolo sotto-dominio (per esempio www.connectica.it) fino a quelli che proteggono un intero dominio (connectica.it) oppure una intera organizzazione e tutti i suoi sistemi. Pertanto il funzionamento è legato al tipo di certificato di cui stiamo parlando.

Quello relativo al sotto-dominio proteggerà solo le comunicazioni tra un utente ed il sotto-dominio stesso, quindi, nel nostro caso www.connectica.it

Quello associato ad un intero dominio proteggerà qualsiasi cosa sia all’interno del dominio stesso, quindi, per esempio un certificato rilasciato per connectica.it proteggerà sia www.connectica.it che blog.connectica.it e shop.connectica.it (nel caso esistessero).

Come si ottiene un certificato? A chi lo si deve richiedere?

Il certificato è una sorta di garanzia che viene rilasciata da enti autorizzati al loro rilascio, quelle che si chiamano autorità di certificazione, o con un termine tecnico, “CA” (certification authority).

Rilasciando un certificato, questi enti garantiscono che l’organizzazione con la quale si sta interagendo attraverso il browser (ma non solo) è realmente chi dice di essere. Fa quindi da garante sulla affidabilità ed autenticità di chi gestisce quel sito web (o applicazione, o qualsiasi altra cosa possa richiedere un certificato di sicurezza).

Esistono moltissime CA, e gli stessi provider dei servizi di hosting sono oggi, quasi tutti, delle certification authority.

In sostanza, quindi, possiamo dire che il certificato svolge una doppia funzione: da un lato garantisce sull’autenticità del fornitore del servizio che stiamo utilizzando (oggi può essere un sito, ma lo stesso vale per le app, o per tutti quei servizi che verranno resi disponibili nei prossimi anni tramite il canale internet), e dall’altro trasmette i dati in modo sicuro criptandoli prima di inviarli sul web.

 

Quanto costa un certificato SSL?

Fino a non molto tempo il costo dei certificati ne rendeva dispendioso l’utilizzo, motivo per cui la diffusione è rimasta ai minimi termini fin tanto che Google non ha deciso di mettere in guardia gli utenti con una bella dicitura “Sito non sicuro” per tutti quei siti sprovvisti del certificato.

Let's EncryptPer fortuna alcune aziende tra cui la stessa Google (con marchio “Chrome”), alcune C.A., Cisco ed altri importanti player hanno dato vita ad Internet Security Research Group (ISRG), che ha sviluppato e distribuito “Let’s Encrypt”, un certificato completamente gratuito, che è diventato subito una delle features proposte nei piani di hosting dei maggiori provider. Quindi, ad oggi, è possibile utilizzare questo certificato SSL gratuitamente per il proprio sito, ed in modo molto semplice se il proprio sito web è basato su tecnologie di derivazione Linux.

Per informazioni su questo certificato è possibile visitare direttamente il sito di Let’s Encrypt.

Installare Let’s Encrypt su Windows Server e IIS

Le cose cambiano se si sta utilizzando un server basato su sistema operativo Windows, ed il web server su Internet Information Server (IIS).

In effetti installare questo certificato su questi sistemi può risultare abbastanza ostico per chi non è un sistemista esperto. Ma per nostra fortuna c’è chi ci ha pensato ed ha sviluppato un tool in grado di aiutarci in modo molto semplice, facendo la richiesta di emissione del certificato, ed installandolo automaticamente sul sito di nostro interesse.

Vediamo come.

Scaricare il tool di installazione del certificato ed eseguirlo

Come prima cosa ti ricordiamo che queste operazioni devono essere svolte direttamente sul server dove è presente IIS ed il sito per cui si vuole generare ed installare il certificato, e che il sito web in questione deve essere raggiungibile dall’esterno della rete (quindi da internet) esattamente come si presenta (per esempio   www.pincopallo.it   oppure   blog.nomedominio.it  ecc…). Se così non è, il tool non sarà in grado di collegarsi con il server di Let’s Encrypt il quale non sarà in grado di verificare l’url per cui si sta chiedendo il certificato.

Una volta verificate queste condizioni è necessario scaricare il tool dal sito di GitHub. Salvare il file compresso con estensione .zip in una cartella a proprio piacimento. Dopo di che creare una cartella dove ci farà più comodo avere il tool ed estrarre in questa cartella tutto il contenuto del file zip (se non sai come fare, puoi seguire le istruzioni che trovi in questo video).

Una volta estratti i file necessari nella cartella dove vuoi lavorare (nel nostro caso abbiamo utilizzato la cartella LE all’interno del disco D: del nostro server (quindi:   D:\LE), devi aprire una finestra “Comandi DOS” in modalità amministratore (ed anche in questo caso, se non sai come fare, puoi trovare qui le istruzioni per fare questa operazione) e poi eseguire il file di Let’s Encrypt, come indicato nella figura seguente:

Let's Encrypt esecuzione

Avviare la procedura per la creazione ed installazione del certificato

Il tool ti presenterà una serie di opzioni tra le quali scegliere, e siccome stiamo creando il nostro primo certificato, dobbiamo scegliere “N”:

Le opzioni di Let's Encrypt

A questo punto il tool ci chiede come collegare il certificato ad uno dei siti web ospitati sul server IIS. Ti consigliamo di utilizzare la prima opzione. Questo farà si che il tool ti presenti l’elenco dei siti ospitati da IIS su questo server e ti chieda semplicemente per quale richiedere ed installare il certificato:

Let's Encrypt - scelta del sito per cui richiedere ed installare il certificato

Indichiamo quindi qual’è il sito per cui vogliamo installare il certificato selezionando semplicemente il numero sequenziale della prima colonna, quello con cui il server IIS lo riconosce. Questo è il momento in cui il tool entra in azione: prima di tutto si collega con il sistema di Let’s Encrypt ed emette la richiesta di rilascio del certificato. Una volta ottenuto, lo salva in una cartella apposita, in modo che possa essere a disposizione e successivamente lo installa nello store dei certificati del server, disponibile per essere associato al sito su IIS, e passa a creare il binding tra il sito ed il nuovo certificato, utilizzando la porta TCP/IP standard per il protocollo http, la porta 443

Let's Encrypt in azione: richiesta ed installazione del certificato nell'archivio di IIS

E per non lasciarci da soli, al termine di queste operazioni si auto-programma per il rinnovo del certificato alla sua scadenza, che di default per i certificati Let’s Encrypt è di 90 giorni.

Associazione del certificato SSL al sito su IIS

A questo punto sarebbe necessario associare il certificato al sito utilizzando la console di gestione di IIS, ma questo bellissimo tool ha già fatto tutto per noi, pertanto se apriamo la console di IIS e navighiamo fino al nostro sito ed entriamo nella gestione dei binding vedremo che sarà già stato aggiunto il bind sulla porta 443 dell’https con l’associazione al nuovo certificato appena installato.

Let's Encrypt - certificato associato al sito

Fine dei giochi! Il nostro sito sarà ora protetto da un bel certificato SSL che proteggerà le comunicazioni e che garantirà che quel sito è proprio lui.

Possiamo verificarlo aprendo il sito in questione con Google Chrome, cliccare sul lucchetto a fianco della url del nostro sito, e vedere tutte le informazioni del certificato che abbiamo appena creato.

Let's Encrypt - Verifica del certificato

 

Installazione del certificato su hosting condiviso Windows

Se invece hai un sito ospitato su hosting condiviso basato su server Windows e vuoi installare il certificato su quel tipo di ambiente, allora puoi trovare maggiori informazioni su questo articolo in cui si parla proprio di certificato SSL su hosting condiviso Windows.

 

Se questo articolo ti è piaciuto non dimenticare di segnalarlo ai tuoi amici e conoscenti che potrebbero aver bisogno di queste informazioni!

E se hai bisogno di ulteriori informazioni non esitare a contattarci. In questa pagina troverai anche il nostro CNNBot tramite il quale puoi contattarci su Messenger