Proteggi il tuo sito web con Let's Encrypt!
Pubblicato: 2016-11-22Let's Encrypt è un'iniziativa che fornisce un modo gratuito e automatizzato per proteggere il traffico HTTP del tuo sito web. La configurazione di HTTPS sicuro è sempre stata un processo complicato e siamo felici di supportare qualsiasi sforzo che renda l'intero processo più semplice e diretto per le persone.
In generale, per abilitare HTTPS sul tuo sito web, devi acquisire un certificato di sicurezza da un'autorità di certificazione (CA). Un'autorità di certificazione è considerata una terza parte affidabile in grado di verificare l'identità di un sito Web per i tuoi visitatori. Il certificato di sicurezza (chiamato anche certificato SSL) è installato sul server web e fornisce due funzioni: a) crittografa tutto il traffico HTTP tra il tuo sito web e i tuoi visitatori b) autentica l'identità del tuo sito web, in modo che i tuoi visitatori sappiano che lo sono non visitarne uno fasullo.
La protezione dell'identità del tuo sito Web e del traffico dei visitatori è l'ovvio vantaggio in questo caso, ma ce ne sono anche altri che richiedono ulteriori spiegazioni.
Prima di Let's Encrypt, dovevi scegliere il tipo di certificato che volevi, un processo che creava un po' di confusione per gli utenti che non avevano familiarità con i sistemi a chiave pubblica, quindi dovevi generare le tue chiavi, firmare una richiesta di generazione del certificato e infine spendere una cifra considerevole di soldi per acquistarne uno.
Aspetta, ma cos'è SSL?
Il Secure Sockets Layer, o SSL, è un protocollo crittografico che protegge la comunicazione di una rete. Garantisce la riservatezza della comunicazione, il che significa che i dati scambiati tra due parti sono crittografati e non possono essere intercettati da terzi. Autentica anche l'identità delle parti comunicanti, solitamente il server, utilizzando il certificato SSL di cui abbiamo parlato in precedenza.
Come puoi sapere se un sito web è sicuro?
I siti Web protetti da SSL sono facilmente identificabili da un paio di cose:
- C'è un'icona a forma di lucchetto verde accanto all'indirizzo URL (a seconda del browser che stai utilizzando)
- L'URL inizia con https invece di http.
Tuttavia, i certificati SSL hanno anche una data di scadenza. Trascorsa tale data, la comunicazione non è più sicura e il certificato deve essere rinnovato. Puoi facilmente verificare se il certificato SSL del tuo sito web è scaduto o meno cliccando prima sull'icona del lucchetto e, a seconda del browser che utilizzi, procedi come segue:
In Firefox, fare clic sul pulsante freccia a destra, quindi sul collegamento Ulteriori informazioni . Infine, fai clic sul pulsante Visualizza certificato nella scheda Sicurezza per visualizzare i dettagli del certificato.
Se utilizzi Chrome, fai clic sul collegamento Dettagli , quindi sul pulsante Visualizza certificato nella scheda Panoramica sicurezza .
Nella sezione Periodo di validità , ci sono due date relative al certificato. L' emissione e la scadenza il . La prima è la data di attivazione del certificato, mentre la seconda è la data di scadenza. Se la data Scadenza il è scaduta, il certificato deve essere rinnovato e la comunicazione non è più sicura!
Perché preoccuparsi di SSL?
Bene, ci sono una serie di ragioni! Garantire la comunicazione tra il tuo sito Web e i tuoi visitatori, autenticare l'identità del tuo sito Web, garantire l'integrità dei dati tra browser e server Web e persino ottenere un posizionamento SEO più elevato.
La comunicazione sicura e l'identità autenticata sembrano cose belle da avere, ma da cosa stanno proteggendo il tuo sito web? Il concetto potrebbe sembrare nebuloso ad alcuni. In realtà quei due lavorano insieme nel combattere forse uno dei metodi di attacco più classici documentati nella sicurezza informatica. L'attacco "man-in-the-middle" (o abbreviato, MitM).
Supponiamo di avere un sito web gestito da Alice, che viene visitato da Bob (l'attacco funziona anche su diversi servizi, non solo sui siti web). Fin qui tutto bene. Poi, c'è questo cattivo chiamato Charles (i cattivi della sicurezza informatica di solito vengono chiamati Charles per qualche motivo. Vengono in mente martini secchi e nascondigli segreti.)
Charles, utilizzando una serie di tecniche diverse che sono troppo complesse per essere trattate in questo articolo, prende il controllo del canale di comunicazione tra Alice e Bob. Si siede in silenzio e invisibile, tra di loro.
Quando Bob visita il sito Web di Alice, pensa di inviare e ricevere dati da Alice. In realtà i dati che invia passano attraverso Charles, che a sua volta li inoltra ad Alice (assicurandosi prima di farlo di archiviarli o di manometterli in qualche modo malvagio). Quando il sito web di Alice risponde, i dati passano di nuovo da Charles a Bob. È esattamente come avere una potente intercettazione. Oltre a essere in grado di archiviare dati sensibili come e-mail, password e carte di credito, Charles può persino impersonare parti del sito Web di Alice o la sessione di navigazione Web di Bob.
Quindi qui vediamo dove vengono in soccorso i nostri due alleati SSL, l'identità autenticata e la comunicazione sicura!
Quando il tuo sito web è protetto da SSL, gli attacchi Man-in-the-middle diventano molto più difficili da realizzare. Quando Bob si connette al sito Web di Alice, riceve il certificato del server e lo convalida rispetto alla CA. Dopo che il certificato è stato convalidato, il server e il client si scambiano alcune informazioni aggiuntive e quindi inizia la comunicazione dei dati (come il tipo di crittografia che utilizzeranno, un processo chiamato handshaking). Se Charles tentasse di impersonare Alice inviando a Bob la sua chiave pubblica, non andrebbe molto lontano. All'interno del certificato è presente una stringa di dati denominata firma digitale, che garantisce l'integrità del file. Se una qualsiasi parte del certificato cambia, cambia anche la firma.
Quindi, se Charles tentasse di modificare la chiave pubblica, la CA rifiuterebbe il certificato e avviserebbe Bob (perché la firma digitale calcolata dalla CA non corrisponderebbe a quella corrente sul certificato). Poiché Charles non ha la chiave privata di Alice, non può decifrare la comunicazione. L'unico modo per Charles di essere in grado di fare qualsiasi cosa è provare a compromettere anche i server della CA.
Ma oltre a proteggerti dai cattivi che bevono martini, migliora anche il tuo posizionamento SEO! Secondo un post sul blog di Google Webmasters di Zineb Ait Bahajji e Gary Illyes, HTTPS viene utilizzato come segnale di ranking:
“ Abbiamo visto risultati positivi, quindi stiamo iniziando a utilizzare HTTPS come segnale di ranking. Per ora è solo un segnale molto leggero. Ma nel tempo potremmo decidere di rafforzarlo, perché vorremmo incoraggiare tutti i proprietari di siti Web a passare da HTTP a HTTPS per mantenere tutti al sicuro sul Web. “
Inoltre, a partire da settembre, il blog sulla sicurezza di Google ha annunciato che il browser Chrome inizierà a etichettare esplicitamente i siti Web come "Non sicuri". Ciò viene fatto nel tentativo di "muoversi verso un Web più sicuro" e sensibilizzare gli utenti.
Come funziona tutto?
Finora abbiamo parlato dei certificati SSL e di quanto siano importanti nel fornire sicurezza e autenticazione dell'identità. In questa sezione ci rimboccheremo le maniche ed entreremo nel nocciolo della questione!
SSL funziona utilizzando un sistema chiamato infrastruttura a chiave pubblica (o PKI, per l'ordinamento).
PKI è un sistema di sicurezza del computer utilizzato per risolvere il problema di come comunicare in modo sicuro su una rete non sicura. In poche parole, se Alice e Bob vogliono comunicare in modo sicuro su Internet, devono scambiarsi una chiave di crittografia di qualche tipo. Ma se lo fanno, e qualcuno che si trova in mezzo a loro e possiede un computer ottiene quella chiave, sarà in grado di leggere tutte le comunicazioni future! (potrebbe non essere un tipo di persona Charles; gli amministratori di sistema a causa della natura del loro lavoro hanno accesso anche a tutti i dati in chiaro che passano attraverso i loro server).
Questo potrebbe sembrare un problema paradossale, ma viene risolto attraverso l'uso non solo di una, ma di una coppia di chiavi. Uno pubblico e uno privato:
- Alice e Bob si scambiano le chiavi pubbliche . Poiché questi sono pubblici, possono essere inviati su una rete non sicura senza preoccupazioni. In effetti, pubblicarli in pubblico è il loro uso previsto!
- Alice quindi crittografa il messaggio che desidera inviare a Bob utilizzando la sua chiave privata con la chiave pubblica di Bob .
- Bob riceve il messaggio e lo decodifica usando la sua chiave privata con la chiave pubblica di Alice .
Le chiavi private sono solitamente archiviate localmente sul tuo computer (o unità USB o da qualche parte dove sai che sono al sicuro). Indipendentemente da chi legge la tua e-mail o le comunicazioni di rete, riceverà solo un testo confuso senza la tua chiave privata.
Un altro aspetto utile della crittografia a chiave pubblica è il concetto di firma digitale. Ne abbiamo parlato prima, quando Charles avrebbe cercato di manomettere il certificato.
Quando Alice invia un messaggio a Bob, può anche firmarlo digitalmente utilizzando la sua chiave privata. Ciò garantisce che il messaggio venga effettivamente inviato da Alice e non da nessun altro. La firma digitale è in realtà una lunga stringa di numeri esadecimali che viene calcolata utilizzando le informazioni del certificato. Anche se un byte cambia nel certificato, cambierà anche la firma digitale e la CA la rifiuterà.
Un certificato SSL è semplicemente un file di dati che viene installato su un sistema (tipicamente su un server web) e funziona allo stesso modo. Crittografa la comunicazione e garantisce l'identità di un'entità (nel nostro caso, un sito Web). Contiene informazioni quali:
- il nome del titolare del certificato
- indirizzo e-mail
- durata di validità
- il nome di dominio completo del server web
- la chiave pubblica del proprietario
- una firma digitale che garantisce che il certificato non sia stato alterato in alcun modo.
Utilizza tutte queste informazioni per associare efficacemente un'entità/organizzazione a quel sistema.
Ci sono due modi per rilasciare un certificato. Il primo è firmarlo da soli (autofirmato), mentre il secondo è acquisirlo tramite un'autorità di certificazione (fidabile).
Qual è la differenza tra un certificato autofirmato e un certificato attendibile?
Un certificato autofirmato fornisce lo stesso livello di crittografia di un certificato attendibile, ma non garantisce l'identità del proprietario. Viene utilizzato principalmente per i test o in un'infrastruttura di rete locale in cui non è necessario avere un proprietario collegato a un sistema.
Un certificato affidabile, d'altra parte, fornisce sia la crittografia che l'autenticazione dell'identità. Il certificato viene emesso da una terza parte (CA) che verifica l'identità del proprietario del certificato utilizzando una serie di controlli in background.
Quindi questo significa che devi fidarti della CA. E se fosse una canaglia e come si può saperlo?
Questo può certamente accadere, ed è successo numerose volte in passato. Poiché si tratta effettivamente di una questione di fiducia, l'unica soluzione è assicurarsi che la CA che si sta utilizzando sia un'organizzazione nota, consolidata e rispettabile. Le CA addebitano denaro per l'emissione della certificazione (di solito da un minimo di $ 10 a somme a tre cifre), ma non si dovrebbe cadere nella trappola di pensare che una CA costosa significhi più fiducia e sicurezza!
Come proteggere SSL il tuo sito Web utilizzando Let's Encrypt
Esistono molti modi per generare un certificato Let's Encrypt e installarlo sul tuo server web. Il processo dipende dal fatto che lavorerai da una shell Unix o meno, dal tipo di server web che stai utilizzando, ecc. Punta il tuo browser alla pagina introduttiva di Let's Encrypt per scoprire ulteriori informazioni.
Se sei già un cliente Pressidium, le cose non potrebbero essere più facili!
Innanzitutto, accedi al tuo account del Portale Pressidium:
- Fare clic sulla scheda Certificati SSL .
- Fare clic sul pulsante Genera un certificato Let's Encrypt gratuito .
- Seleziona il sito Web in cui desideri installare il certificato scegliendolo dal menu a discesa Install Let's Encrypt .
- Infine, fai clic sul pulsante Crea e installa certificato SSL e il gioco è fatto!
Per verificare se l'SSL è abilitato sul tuo sito web, apri il browser e visita l'URL del tuo sito web utilizzando https nell'indirizzo. Se il tuo browser mostra il familiare segno verde del lucchetto di sicurezza, sei a posto!
Il tuo nuovo certificato Let's Encrypt ha un arco di tempo di 90 giorni ma si rinnoverà automaticamente. Puoi anche gestire e installare i tuoi certificati acquistati dal Portale. Leggi questo post della Knowledge Base per trovare tutto a riguardo!
La sicurezza è un processo, non una soluzione chiavi in mano
La dura verità è che non puoi semplicemente acquistare qualcosa o installare un software e dimenticartene e pensare di aver affrontato con successo tutti i problemi di sicurezza. La sicurezza informatica è un enorme puzzle che coinvolge meccanismi tecnici, politiche, computer e soprattutto persone e psicologia umana! Devi mettere a posto tutti i pezzi del puzzle e prenderti cura di esso continuamente. È un processo e non una soluzione chiavi in mano.
Il fattore umano è qualcosa che è stato sfruttato più e più volte da utenti malevoli. Sosteniamo al 100% qualsiasi iniziativa che cerchi di informare, fornire strumenti e aumentare la consapevolezza del pubblico sulle questioni relative alla sicurezza di Internet. Nei post futuri approfondiremo gli aspetti della sicurezza di WordPress in modo più approfondito e completo. WordPress è utilizzato da persone e aziende per fornire valore e cibo in tavola per molti. Gli incidenti di sicurezza non riguardano più il deturpamento del sito Web e i cyber-graffiti, ma influenzano tangibilmente la vita degli altri. E questo è qualcosa che prendiamo molto sul serio.