Da diversi anni a questa parte, soprattutto per via dell'affermazione dell'e-commerce e delle transazioni di denaro basate su internet, abbiamo assistito ad un crescente affermarsi del protocollo HTTPS. L'acronimo aggiunge una "S" che sta per "Secure" al più tradizionale protocollo HTTP: di fatto, HTTPS si propone proprio come versione sicura di HTTP, che è alla base di tutto il web così come lo conosciamo oggi.
Sebbene la sicurezza rappresenti il motivo principale per il quale tutti i principali siti web odierni stano virando verso HTTPS, ci sono anche altre ragioni per cui è bene migrare da HTTP ad HTTPS. Una su tutte riguarda l'ottimizzazione del posizionamento nei motori di ricerca (ovvero il cosiddetto ambito SEO): già da qualche anno, infatti, Google pone in una posizione privilegiata tutti i siti web che funzionano su HTTPS, conferendo di fatto a quest'ultimo protocollo anche l'abilità di accrescere la visibilità di un sito web.
A ciò si aggiunge un ulteriore fattore: la user experience. Molti utenti sono ormai a conoscenza dell'importanza di una connessione HTTPS, soprattutto quando effettuano transazioni di denaro o accedono ad aree private e/o a dati sensibili. La maggior parte dei browser moderni mostra icone o avvisi che specificano se una connessione è affidabile o meno, che sostanzialmente traducono in un linguaggio più user-friendly l'informazione sull'utilizzo o meno del procollo HTTPS.
Dal momento che sicurezza, visibilità ed user experience sono tra i principali aspetti che aumentano la qualità di un sito web, in questa guida cercheremo di riassumere le principali fasi del processo di migrazione di un sito web da HTTP ad HTTPS. Partiremo da qualche cenno introduttivo (che sarà utile più avanti), per poi capire cosa sono e come si ottengono i certificati SSL, come installarli sul nostro web server e quali altre operazioni sono necessarie per un corretto funzionamento del nostro sito web su HTTPS. Approfondiremo poi brevemente sia l'ambito SEO, sia quello dei CMS, riassumendo quali strumenti ci vengono offerti per effettuare (in modo semplice) un migrazione ad HTTPS di un'istanza di WordPress.
La Sicurezza di HTTPS
La sicurezza introdotta con HTTPS si basa su funzionalità principali, che descriviamo brevemente di seguito:
- cifratura dei dati: tutti i dati che transitano vengono cifrati;
- integrità dei dati: tutti i dati in transitano non possono essere corrotti (o, se lo sono, ciò può essere verificato facilmente);
- autenticazione: garantisce ad entrambe le parti in comunicazione che i dati sono stati inviati da una parte fidata nota, evitando attacchi man-in-the-middle.
Per potere implementare queste funzionalità, HTTPS (che è un protocollo di livello applicativo) non fa altro che sfruttare le funzionalità di un altro protocollo, di livello trasporto, che è in genere uno tra SSL (Secure Socket Layer) o TLS (Transport Layer Security, evoluzione di SSL). A onor del vero, HTTPS non è altro che il protocollo HTTP eseguito sopra uno dei protocolli sopra citati, che offrone le funzionalità di sicurezza descritte in precedenza.
Dal momento che questi protocolli di trasporto sicuri necessitano di un certificato SSL, nella guida vedremo come ottenerne uno e come utilizzarlo.