Certificati HTTPS e SSL Rendi il tuo sito sicuro (e perché dovresti)
Sebbene non tutti capiscano come funziona, quel piccolo lucchetto nella barra degli indirizzi segnala agli utenti Web che hanno una connessione affidabile a un sito Web legittimo. Se i visitatori non lo vedono nella barra degli indirizzi quando aprono il tuo sito web, non devi e non devi fare affari.
Per ottenere il lucchetto della barra degli indirizzi per il tuo sito web, è necessario un certificato SSL. Come si ottiene? Continuate a leggere per scoprirlo.
Schema dell'articolo:
- Che cos'è SSL / TLS?
- Come usare HTTPS?
- Cos'è un certificato SSL e Come ottenerne uno?
- Guida all'acquisto del certificato SSL
- Autorità di certificazione
- Validazione del dominio vs convalida estesa
- SSL condiviso vs SSL privato
- Fidati di fiducia
- Certificati SSL Wildcard
- garanzie
- Certificati SSL gratuiti e certificati SSL autofirmati
- Installazione di un certificato SSL
- Pro e contro HTTPS
Che cos'è SSL / TLS?
Sul Web, i dati vengono trasferiti utilizzando l'Hypertext Transfer Protocol. Ecco perché tutti gli URL delle pagine web hanno "http: //" o "httpS://" di fronte a loro.
Qual è la differenza tra http e https? Quel piccolo extra ha grandi implicazioni: sicurezza.
Lasciatemi spiegare.
HTTP è la "lingua" utilizzata dal computer e dal server per comunicare tra loro. Questo linguaggio è universalmente compreso, il che è conveniente, ma ha anche i suoi svantaggi. Quando i dati vengono passati tra te e un server tramite Internet, effettueranno alcune soste lungo il percorso prima di raggiungere la destinazione finale. Questo pone tre grandi rischi:
- Che qualcuno potrebbe origliare sulla tua conversazione (una specie di intercettazione digitale).
- Che qualcuno potrebbe impersonare una (o entrambe) delle parti alle due estremità.
- Che qualcuno potrebbe manomettere con i messaggi trasferiti.
Gli hacker e i cretini usano una combinazione di quanto sopra per un numero di truffe e furti, compresi attacchi di phishing, attacchi man-in-the-middle e una buona pubblicità antiquata. Gli attacchi dannosi potrebbero essere semplici come annusare le credenziali di Facebook intercettando i cookie non criptati (intercettazioni), oppure potrebbero essere più sofisticati. Ad esempio, potresti pensare di dire alla tua banca: "Per favore, trasferisci $ 100 al mio ISP", ma qualcuno nel mezzo potrebbe modificare il messaggio da leggere: "Si prega di trasferire $ 100 tutti i miei soldi al mio ISP Peggy in Siberia" (manomissione dei dati e imitazione).
Quindi, questi sono i problemi con HTTP. Per risolvere questi problemi, HTTP può essere stratificato con un protocollo di sicurezza, risultante in HTTP Secure (HTTPS). Più comunemente, la S in HTTPS è fornita dal protocollo Secure Sockets Layer (SSL) o dal più recente protocollo TLS (Transport Layer Security). Quando implementato, HTTPS offre bidirezionale crittografia (per evitare intercettazioni), server autenticazione (per evitare la rappresentazione) e autenticazione dei messaggi (per prevenire la manomissione dei dati).
Come usare HTTPS
Come una lingua parlata, HTTPS funziona solo se entrambe le parti scelgono di parlarla. Sul lato client, la scelta di utilizzare HTTPS può essere effettuata digitando "https" nella barra degli indirizzi del browser prima dell'URL (ad esempio, invece di digitare http://www.facebook.com, digitare https: // www. facebook.com), o installando un'estensione che forza automaticamente HTTPS, come HTTPS Everywhere per Firefox e Chrome. Quando il tuo browser web utilizza HTTPS, vedrai un'icona a forma di lucchetto, una barra del browser verde, un pollice in su o un altro segno rassicurante che la tua connessione con il server è sicura.
Tuttavia, per utilizzare HTTPS, il server Web deve supportarlo. Se sei un webmaster e vuoi offrire HTTPS ai tuoi visitatori web, avrai bisogno di un certificato SSL o certificato TLS. Come si ottiene un certificato SSL o TLS? Continua a leggere.
Ulteriori letture: alcune popolari app Web ti consentono di scegliere HTTPS nelle impostazioni utente. Leggi i nostri articoli su Facebook, Gmail e Twitter.
Cos'è un certificato SSL e Come ottenerne uno?
Per utilizzare HTTPS, il tuo server web deve avere un certificato SSL o certificato TLS installato. Un certificato SSL / TLS è un po 'come un ID foto per il tuo sito web. Quando un browser che utilizza HTTPS accede alla tua pagina web, eseguirà un "handshake" durante il quale il computer client richiede il certificato SSL. Il certificato SSL viene quindi convalidato da un'autorità di certificazione (CA) affidabile, che verifica che il server sia quello che dice di essere. Se tutto si verifica, il tuo visitatore web riceve il rassicurante segno di spunta verde o l'icona del lucchetto. Se qualcosa va storto, riceveranno un avviso dal browser web, affermando che l'identità del server non può essere confermata.
Shopping per un certificato SSL
Quando si tratta di installare un certificato SSL sul tuo sito web, ci sono una miriade di parametri su cui decidere. Andiamo oltre il più importante:
Autorità di certificazione
L'autorità di certificazione (CA) è la società che emette il certificato SSL ed è quella che convaliderà il certificato ogni volta che un visitatore arriva al tuo sito web. Mentre ogni fornitore di certificati SSL competerà sul prezzo e le caratteristiche, la prima cosa da considerare quando si esaminano le autorità di certificazione è se hanno o meno certificati preinstallati sui browser più popolari. Se l'autorità di certificazione che emette il certificato SSL non si trova in tale elenco, all'utente verrà richiesto di avvertire che il certificato di sicurezza del sito non è attendibile. Ovviamente, questo non significa che il tuo sito web sia illegittimo, significa solo che la tua CA non è ancora nella lista. Questo è un problema perché la maggior parte degli utenti non si preoccuperà di leggere l'avviso o di ricercare la CA non riconosciuta. Probabilmente si limiteranno a fare clic.
Fortunatamente, l'elenco delle CA preinstallate sui principali browser è abbastanza consistente. Include alcuni grandi nomi di marchi e CA meno conosciuti e più convenienti. I nomi delle famiglie comprendono Verisign, Go Daddy, Comodo, Thawte, Geotrust e Entrust.
Puoi anche cercare nelle impostazioni del tuo browser per vedere quali autorità di certificazione sono preinstallate.
- Per Chrome, vai su Impostazioni -> Mostra impostazioni avanzate ... -> Gestisci certificati.
- Per Firefox, fai Opzioni -> Avanzate -> Visualizza certificati.
- Per IE, Opzioni Internet -> Contenuto -> Certificati.
- Per Safari, vai su Finder e scegli Vai -> Utilità -> Accesso KeyChain e fai clic su Sistema.
Per una rapida consultazione, consulta questa discussione, in cui sono elencati i certificati SSL accettabili per Google Checkout.
Validazione del dominio vs convalida estesa
Tempo di emissione tipico | Costo | Barra degli indirizzi | |
Validazione del dominio | Quasi istantaneamente | Basso | HTTPS normale (icona del lucchetto) |
Convalida dell'organizzazione | Pochi giorni | medio | HTTPS normale (icona del lucchetto) |
Extended Validation | Una settimana o più | alto | Barra degli indirizzi verde, informazioni sulla verifica dell'ID aziendale |
Un certificato SSL ha lo scopo di dimostrare l'identità del sito Web al quale si stanno inviando le informazioni. Per garantire che la gente non stia prendendo i certificati SSL fasulli per i domini che non controllano correttamente, un'autorità di certificazione convaliderà che la persona che richiede il certificato è effettivamente il proprietario del nome di dominio. In genere, ciò avviene tramite una rapida convalida di e-mail o di chiamata telefonica, simile a quando un sito Web ti invia un'email con un link di conferma dell'account. Questo è chiamato a dominio validato Certificato SSL Il vantaggio di questo è che consente di rilasciare certificati SSL quasi immediatamente. Probabilmente potresti andare e ottenere un certificato SSL valido per il dominio in meno tempo di quello che ti ha portato a leggere questo post sul blog. Con un certificato SSL convalidato dal dominio, ottieni il lucchetto e la capacità di crittografare il traffico del tuo sito web.
I vantaggi di un certificato SSL validato dal dominio è che sono veloci, facili ed economici da ottenere. Questo è anche il loro svantaggio. Come puoi immaginare, è più facile ingannare un sistema automatizzato di uno gestito da esseri umani vivi. È come se un ragazzino delle scuole superiori entrasse nel DMV dicendo che era Barack Obama e voleva ottenere un documento di identità rilasciato dal governo. la persona alla scrivania potrebbe dare un'occhiata a lui e chiamare i federali (o il cestino dei pazzi). Ma se fosse un robot che lavora con un chiosco di ID foto, potrebbe avere un po 'di fortuna. In modo simile, i phisher possono ottenere "ID falsi" per siti Web come Paypal, Amazon o Facebook ingannando i sistemi di convalida dei domini. Nel 2009, Dan Kaminsky ha pubblicato un esempio di un modo per truffare le CA per ottenere certificati che facciano sembrare un sito Web di phishing una connessione sicura e legittima. Per un umano, questa truffa sarebbe facile da individuare. Ma la convalida del dominio automatizzata al momento mancava dei controlli necessari per prevenire qualcosa di simile.
In risposta alle vulnerabilità di SSL e dei certificati SSL convalidati dal dominio, il settore ha introdotto il Extended Validation certificato. Per ottenere un certificato EV SSL, la tua azienda o organizzazione deve sottoporsi a rigorosi controlli per assicurarsi che sia in regola con il tuo governo e controlli correttamente il dominio per il quale ti stai candidando. Questi controlli, tra gli altri, richiedono un elemento umano, e quindi richiedono più tempo e sono più costosi.
In alcuni settori è richiesto un certificato EV. Ma per gli altri, il vantaggio va solo fino a ciò che i tuoi visitatori riconosceranno. Per i visitatori del Web di tutti i giorni, la differenza è sottile. Oltre all'icona del lucchetto, la barra degli indirizzi diventa verde e visualizza il nome della tua azienda. Se fai clic per ulteriori informazioni, vedi che l'identità dell'azienda è stata verificata, non solo il sito web.
Ecco un esempio di un normale sito HTTPS:
Ed ecco un esempio di un sito HTTPS certificato EV:
A seconda del settore, un certificato EV potrebbe non valerne la pena. Inoltre, devi essere un business o un'organizzazione per averne uno. Sebbene le grandi aziende stiano tendendo verso la certificazione EV, noterete che la maggior parte dei siti HTTPS presenta ancora il sapore non EV. Se è abbastanza buono per Google, Facebook e Dropbox, forse è abbastanza buono per te.
Un'altra cosa: c'è un mezzo dell'opzione strada chiamato un organizzazione convalidata o affari convalidati certificazione. Si tratta di un controllo più approfondito rispetto alla convalida automatica del dominio, ma non raggiunge il limite delle normative del settore per un certificato di convalida estesa (notare come la convalida estesa è in maiuscolo e la "convalida organizzativa" non lo è?). Una certificazione OV o business convalidata costa di più e impiega più tempo, ma non ti fornisce la barra degli indirizzi verde e le informazioni verificate sull'identità aziendale. Francamente, non riesco a pensare a un motivo per pagare un certificato OV. Se riesci a pensarne uno, per favore mi illumini nei commenti.
SSL condiviso vs SSL privato
Alcuni host Web offrono un servizio SSL condiviso, che è spesso più conveniente di un SSL privato. Oltre al prezzo, il vantaggio di un SSL condiviso è che non è necessario ottenere un indirizzo IP privato o un host dedicato. Lo svantaggio è che non puoi usare il tuo nome di dominio. Invece, la parte sicura del tuo sito sarà qualcosa del tipo:
https://www.hostgator.com/~yourdomain/secure.php
Confrontalo con un indirizzo SSL privato:
https://www.yourdomain.com/secure.php
Per i siti rivolti al pubblico, come i siti di e-commerce e i siti di social network, questo è ovviamente un trascinamento, dal momento che sembra che tu sia stato reindirizzato dal sito principale. Ma per le aree che di solito non sono viste dal pubblico, come l'interno di un sistema di posta o un'area di amministrazione, allora un SSL condiviso potrebbe essere un buon affare.
Fidati di fiducia
Molte autorità di certificazione ti consentono di inserire un marchio di fiducia sulla tua pagina web dopo esserti iscritto a uno dei loro certificati. Questo dà più o meno le stesse informazioni che farebbe clic sul lucchetto nella finestra del browser, ma con maggiore visibilità. L'inclusione di un marchio di fiducia non è richiesta, né amplifica la tua sicurezza, ma se dà ai tuoi visitatori il caldo sfocato sapendo chi ha rilasciato il certificato SSL, con tutti i mezzi, buttalo lì.
Certificati SSL Wildcard
Un certificato SSL verifica l'identità di un dominio. Pertanto, se si desidera avere HTTPS su più sottodumazioni, ad esempio groovypost.com, mail.groovypost.com e answer.groovypost.com, è necessario acquistare tre diversi certificati SSL. A un certo punto, un certificato SSL con caratteri jolly diventa più economico. Cioè, un certificato per coprire un dominio e tutti i sottodomini, ad esempio * .groovypost.com.
garanzie
Non importa quanto lunga sia la reputazione di un'azienda, ci sono vulnerabilità. Anche le CA di fiducia possono essere prese di mira dagli hacker, come dimostra la violazione di VeriSign che non è stata segnalata nel 2010. Inoltre, lo stato di una CA nell'elenco di fiducia può essere rapidamente revocato, come abbiamo visto con il DigiNotar nel 2011. Stuff succede.
Per placare ogni disagio sul potenziale di tali atti casuali di dissolutezza SSL, molte CA ora offrono garanzie. La copertura varia da poche migliaia di dollari a oltre un milione di dollari e comprende le perdite derivanti dall'abuso del certificato o da altri contrattempi. Non ho idea se queste garanzie in realtà aggiungono valore o no, o se qualcuno ha mai vinto con successo un reclamo. Ma sono lì per la tua considerazione.
Certificati SSL gratuiti e certificati SSL autofirmati
Sono disponibili due tipi di certificati SSL gratuiti. Autofirmato, utilizzato principalmente per test privati e certificati SSL rivolti al pubblico in piena regola emessi da un'autorità certificante valida. La buona notizia è che, nel 2018, ci sono alcune opzioni per ottenere certificati SSL validi al 100%, validi per 90 giorni sia da SSL per Free sia da Let's Encrypt. SSL for Free è principalmente una GUI per l'API Let's Encrypt. Il vantaggio del sito SSL per il sito gratuito è semplice da utilizzare poiché ha una buona interfaccia grafica. Let's Encrypt, tuttavia, è bello perché puoi automatizzare completamente la richiesta di certificati SSL da loro. Ideale se hai bisogno di certificati SSL per più siti Web / server.
Un certificato SSL autofirmato è gratuito per sempre. Con un certificato autofirmato, sei la tua CA. Tuttavia, poiché non sei tra le CA di fiducia integrate nei browser web, i visitatori riceveranno un avviso che l'autorità non è riconosciuta dal sistema operativo. In quanto tale, non c'è alcuna garanzia che tu sia chi dici di essere (è un po 'come emettersi un documento d'identità con foto e provare a passarlo al negozio di liquori). Il vantaggio di un certificato SSL autofirmato, tuttavia, è che consente la crittografia per il traffico web. Può essere utile per l'uso interno, in cui è possibile che il personale aggiunga la propria organizzazione come CA attendibile per eliminare il messaggio di avviso e lavorare su una connessione protetta su Internet.
Per istruzioni sull'impostazione di un certificato SSL autofirmato, consultare la documentazione di OpenSSL. (Oppure, se c'è abbastanza richiesta, scriverò un tutorial.)
Installazione di un certificato SSL
Una volta acquistato il certificato SSL, è necessario installarlo sul tuo sito web. Un buon host web offrirà di farlo per te. Alcuni potrebbero persino arrivare a comprarlo per te. Spesso, questo è il modo migliore per andare, dal momento che semplifica la fatturazione e garantisce che sia configurato correttamente per il tuo server web.
Tuttavia, hai sempre la possibilità di installare un certificato SSL acquistato da te. Se lo fai, potresti voler iniziare a consultare la knowledgebase del tuo host web o aprendo un ticket helpdesk. Ti indirizzeranno alle migliori istruzioni per l'installazione del certificato SSL. Dovresti anche consultare le istruzioni fornite dalla CA. Questi ti daranno una guida migliore di qualsiasi consiglio generico che posso darti qui.
Potresti anche voler controllare le seguenti istruzioni per l'installazione di un certificato SSL:
- Installa un certificato SSL e imposta il dominio in cPanel
- Come implementare SSL in IIS (Windows Server)
- Crittografia SSL / TLS Apache
Tutte queste istruzioni comporteranno la creazione di una richiesta di firma del certificato SSL (CSR). In effetti, avrai bisogno di un CSR solo per ottenere un certificato SSL emesso. Ancora una volta, il tuo host web può aiutarti con questo. Per informazioni più specifiche sul fai-da-te sulla creazione di una CSR, consulta questo articolo di DigiCert.
Pro e contro di HTTPS
Abbiamo già stabilito saldamente i vantaggi di HTTPS: sicurezza, sicurezza, sicurezza. Ciò non solo riduce il rischio di una violazione dei dati, ma infonde fiducia e aumenta la reputazione sul tuo sito web. I clienti esperti non possono nemmeno preoccuparsi di registrarsi se vedono un "http: //" nella pagina di accesso.
Ci sono, tuttavia, alcuni svantaggi per HTTPS. Data la necessità di HTTPS per determinati tipi di siti Web, ha più senso pensare a questi come "considerazioni "piuttosto che negativi.
- HTTPS costa denaro. Per cominciare, c'è il costo di acquistare e rinnovare il certificato SSL per garantire la validità anno dopo anno. Ma ci sono anche alcuni "requisiti di sistema" per HTTPS, come un indirizzo IP dedicato o un piano di hosting dedicato, che può essere più costoso di un pacchetto di hosting condiviso.
- HTTPS può rallentare la risposta del server. Esistono due problemi relativi a SSL / TLS che potrebbero rallentare la velocità di caricamento della pagina. Innanzitutto, per iniziare a comunicare con il tuo sito Web per la prima volta, il browser dell'utente deve passare attraverso la procedura di handshake, che rimbalza sul sito Web dell'autorità di certificazione per verificare il certificato. Se il server Web della CA è lento, si verificherà un ritardo nel caricamento della pagina. Questo è in gran parte fuori dal tuo controllo. In secondo luogo, HTTPS utilizza la crittografia, che richiede più potenza di elaborazione. Ciò può essere risolto ottimizzando il contenuto per la larghezza di banda e aggiornando l'hardware sul server. CloudFare ha un buon post sul blog su come e perché SSL potrebbe rallentare il tuo sito web.
- L'HTTPS può influire sugli sforzi SEO Quando si passa da HTTP a HTTPS; ti stai trasferendo su un nuovo sito web. Ad esempio, https://www.groovypost.com non sarebbe lo stesso di http://www.groovypost.com. È importante assicurarsi di aver reindirizzato i vecchi collegamenti e scritto le regole corrette sotto il cofano del server per evitare di perdere alcun prezioso link.
- Il contenuto misto può lanciare una bandiera gialla. Per alcuni browser, se si dispone della parte principale di una pagina Web caricata da HTTPS, ma le immagini e altri elementi (come fogli di stile o script) caricati da un URL HTTP, potrebbe apparire un popup che avvisa che la pagina include contenuti non protetti. Certo, avere alcuni il contenuto sicuro è meglio che non averne nessuno, anche se quest'ultimo non risulta in un popup. Tuttavia, potrebbe valere la pena di assicurarti di non avere "contenuti misti" nelle tue pagine.
- A volte è più semplice ottenere un processore di pagamento di terze parti. Non c'è da vergognarsi nel lasciare che Google Checkout, Paypal o Checkout di Amazon gestiscano i tuoi pagamenti. Se tutto questo sembra troppo complicato, puoi permettere ai tuoi clienti di scambiarsi informazioni di pagamento sul sito sicuro di Paypal o sul sito sicuro di Google e salvarti dai guai.
Hai altre domande o commenti sui certificati HTTPS e SSL / TLS? Fammi sentire nei commenti.