Una guida per conoscere, generare ed installare certificati SSL che garantiscano al tuo sito una connessione protetta https
Premessa
Questa guida nasce dall’esigenza di rispondere ad una domanda ricorrente dei clienti, specie quando i progetti sono low budget: “Sto migrando da http ad https, come posso ottenere ed installare un certificato SSL gratis?“
Prima di vedere come ottenere ed installare un certificato SSL gratuito, però, è opportuno comprendere cosa sia un certificato SSL e perché sia così importante installarlo per il proprio sito web.
Ugualmente importante è capire cosa siano e come operano le Autorità di Certificazione, nonché quali tipi di certificati SSL queste rilascino.
Certificato SSL cos’è
SSL (Secure Sockets Layer) – così come TLS (Transport Layer Security) – è un protocollo creato per garantire la sicurezza delle comunicazioni che avvengono via internet mediante il loro criptaggio.
I certificati SSL sono parte di questo protocollo, nello specifico sono documenti elettronici che certificano che ad una chiave pubblica di cifratura è associato un certo soggetto.
Nel certificato digitale è quindi contenuta la chiave, l’identità del suo proprietario (detto oggetto) e la firma digitale di chi ha verificato i contenuti del certificato (detto emittente).
Quando si avvia la prima comunicazione tra client server (il computer/dispositivo da cui accedi alla rete) ed il server web (il luogo dove sono ospitati i file che stai consultando in rete), quest’ultimo invia al browser (il programma che usi per navigare in internet) il proprio certificato SSL verificandone la validità. Se non vengono riscontrati problemi viene avviata una connessione criptata sicura tra client e server web.
Come riconoscere una connessione SSL
Verificare se la connessione in corso si basi su protocollo SSL o TLS è molto semplice, basta dare un’occhiata alla barra di navigazione del browser, in cui dovrà essere presente l’icona di un lucchetto. Anche il protocollo nell’indirizzo della risorsa consultata sarà diverso: non più http (Hyper Text Transfer Protocol) ma https (Hyper Text Transfer Protocol Secure).
Perché è così importante navigare in internet mediante connessioni protette
Per quanto già illustrato, una connessione protetta garantisce che nel collegamento che si instaura tra un client ed un server (durante il quale vengono comunicati dati personali, anche sensibili) non si intrometta un terzo malintenzionato.
Lato utente i vantaggi sono dunque misurabili in un consistente innanzamento dei livelli di tutela della privacy e di protezione dalle possibili truffe online, specie se si parla di siti e-commerce ovvero che eroghino servizi per i quali è necessaria la comunicazione di dati sensibili.
Dal punto di vista di chi gestisce il sito web, invece, oltre ad una maggiore protezione dalle attività cibercriminali e ad un accrescimento della credibilità agli occhi degli utenti, c’è un vantaggio in termini di migliore visibilità sui motori di ricerca, in primis su Google. A parità di condizioni tra due siti, infatti, il motore di ricerca di Mountain View dichiara di preferire nel posizionamento quello tra i due che garantisce una connessione protetta. Da qui il riferimento costante nell’ambiente SEO alla disponibilità del protocollo https come nuovo fattore di posizionamento.
Chi rilascia i certificati SSL
I certificati vengono emessi da un’Autorità di Certificazione o CA (Certification Authority) che può essere un soggetto pubblico o privato, in ogni caso, si tratta di soggetto abilitato ad emettere certificati digitali secondo pocedure standard definite dalla normativa comunitaria e nazionale.
Come funziona il sistema di certificazione
La certificazione si basa su un sistema crittografico a doppia chiave (si parla anche di crittografia asimmetrica). In pratica ci sono due chiavi, una resa pubblica nel certificato rilasciato e l’altra privata, collegata in modo univoco alla prima ed associata al titolare. Ciascuna coppia di chiavi viene attribuita ad un solo titolare. La CA dispone di una certificato mediante il quale firma tutti i certificati emessi.
Quali sono i tipi di certificati SSL
- Certificati SSL DV (Domain Validation) validazione del solo dominio.
In questo caso ad essere validato è unicamente il dominio (esempio: tuosito.it) ma non viene fornita nessuna informazione sul soggetto che ha chiesto tale validazione. Per ottenere il certificato bisogna dimostrare di avere il controllo del dominio. - Certificati SSL OV (Organization Validation) validazione dell’organizzazione.
In questo secondo caso, prima del rilascio della certificazione, la Certification Authority non solo controllerà la disponibilità del dominio, ma anche chi è il soggetto richiedente, mostrandolo nello stesso certificato. - Certificati SSL EV (Extended Validation) validazione estesa.
Con la validazione estesa, oltre alle verifiche già citate, la CA effettuerà verifiche approfondite sul soggetto richiedente. Il risultato sarà la visualizzazione in verde della barra degli indirizzi del browser.
Acquisto certificato SSL VS certificato SSL free di Let’s Encrypt
Ci sono diverse CA cui rivolgersi per l’acquisto di un certificato SSL e come sempre accade, un servizio a pagamento offre una serie variabile di servizi con relativi costi. Spulciando in rete, è possibile trovare anche qualche certificato SSL economico. Nel nostro caso, però, ci siamo orientati verso una soluzione di certificato SSL gratis, come quello offerto da Let’s Encrypt.
Let’s Encripr è una CA che in modo totalmente gratuito automatizza la creazione, validazione, il rilascio ed il rinnovo di certificati di tipo X.509 utilizzati per i protocolli TLS ed SSL.
Creare certificato SSL con Let’s Encrypt
Come abbiamo già detto, per creare un certificato SSL una CA deve essere certa che il richiedente controlli il dominio. Let’s Encrypt lo fa eseguendo un software sul web host del dominio richiedente, mediante due procedure:
- Con accesso Shell (accesso SSH) al proprio web host.
- Senza accesso Shell, sfruttando funzioni ad hoc offerte dal proprio provider hosting (se disponibili).
Scaricare ed installare certificato SSL gratuito di Let’s Encrypt con il servizio offerto da SSL For Free
Nel nostro caso, pur avendo deciso per l’installazione di un certificato Let’s Encrypt, né possiamo sfruttare un accesso Shell né la disponiamo di un servizio preimpostato dall’hosting provider – in realtà per disporne dovremmo fare un upgrade di servizio, ma non sarebbe più un’operazione low budget 🙂
La soluzione arriva dal servizio gratuito SSL For Free e richiede l’accesso cPanel al server host.
Come funziona SSL For Free
Questo servizio ti consente di ottenere certificati SSL emessi da Let’s Encrypt effettuando in modo alternativo una verifica della disponibilità del dominio per cui chiedi la certificazione.
Le chiavi private, inoltre, vengono generate all’interno del browser web sfruttando la Web Cryptography API senza mai essere trasmesse. Le stesse chiavi vengono cancellate subito dopo la generazione del certificato.
Ecco come creare ed installare un certificato SSL gratis in pochi clic
Inserire il nome del dominio e generare il certificato
- Visita il sito di SSL For Free www.sslforfree.com
- Riempi il campo dove si legge “enter your website to secure” con il tuo dominio (es. miosito.it www.miosito.it)
Puoi creare Free Wildcard Certificates per proteggere sia domini che sottodomini inserendo un asterisco al posto del www (es. *.miosito.it miosito.it). In questo caso però occorrerà una verifica manuale del dominio tramite DNS. - Fai clic sul pulsante verde “Create Free SSL Certificate”
Verificare il dominio e scaricare il certificato
Puoi verificare il tuo dominio in tre diversi modi:
- In modo automatico via FTP (occorre fornire le credenziali di un accesso)
- Manualmente caricando un file sul tuo web server
- Manualmente mediante l’aggiunta di records TXT ai DNS
Scegliendo la seconda opzione compare il pulsante verde “Manually Verify Domain” su cui dovrai fare clic.
Successivamente, occorrerà seguire i seguenti passaggi:
- Scarica i due files “Download File #1” e “Download File #2”
- Crea una cartella nella “root” del tuo sito e chiamala “.well-known” (nota il punto in apertura del nome);
- Crea una sottocartella in “.well-known” e chiamala “acme-challenge”;
- Nella sottocartella “acme-challenge” carica i due file che hai scaricato precedentemente;
- Apri i due link per verificare che il caricamento dei file sia avvenuto correttamente (dovresti vedere una pagina bianca con un codice alfanumerico nella parte alta);
- Clicca sul pulsante “Download SSL Certificate”
Se la verifica va a buon fine, dopo aver fatto clic su “Download SSL Certificate” si aprirà una pagina dal titolo “Certificate Successfully Generated”.
Scorri la pagina verso il basso per visualizzare il certificato, la chiave privata e il bundle CA. Sono questi i codici che dovrai copiare ed incollare nella sezione “SSL/TLS Manager” del tuo pannello cPanel.
A questo punto, ti consiglio di lasciare aperta questa finestra del browser per poter copiare comodamente i codici (in alternativa puoi fare clic sul pulsante verde “Download ALL SSL Certificate Files” per scaricare tutti i file sul tuo computer).
Apri una seconda finestra nel browser per accedere alla sezione “SSL/TLS Manager” del tuo pannello cPanel.
- Fai clic su SSL/TLS
- Fai clic su “Gestione siti SSL” (Manage SSL sites)
Incolla i codici che hai scaricato da SSL For Free negli spazi corrispondenti.
Fai clic su “Installa certificato”
Attenzione alla scadenza dei certificati
Questo tipo di certificato gratuito offerto da Let’s Encrypt ha una validità limitata a 3 mesi dall’installazione. Successivamente occorrerà rinnovare il certificato. Medainte la registrazione a SSL For Free, però, è possibile ricevere un alert via mail a ridosso della scadenza e procedere semplicemente e velocemente al rinnovo dei certificati.
Nella sezione “Tutorials” presente sulla home page del sito SSL For Free sono disponibili guide anche video con le istruzioni per procedere all’instazione dei certificati SSL sui vari tipi di server.