HTTPS per tutti: Let’s Encrypt raggiunge il miliardo di certificati emessi

53

La comunicazione Enlarge / Encrypted è passata da “solo se è importante” a “a meno che tu non sia incredibilmente pigro” in quattro brevi anni, e Let’s Encrypt merita gran parte del merito per questo.

Let’s Encrypt, l’autorità gratuita per la firma dei certificati dell’Internet Security Research Group, ha emesso il suo primo certificato poco più di quattro anni fa. Oggi ha emesso il suo miliardesimo.

L’obiettivo dell’ISRG per Let’s Encrypt è portare il Web a un tasso di crittografia del 100%. Quando Let’s Encrypt è stato lanciato nel 2015, l’idea era piuttosto stravagante: a quel tempo, poco più di un terzo di tutto il traffico Web era crittografato, mentre il resto era HTTP in chiaro. C’erano ostacoli significativi all’adozione di HTTPS: per prima cosa, costava denaro. Ma ancora più importante, è costato una notevole quantità di tempo e impegno umano, entrambi in offerta limitata.

Let’s Encrypt ha risolto la barriera del denaro offrendo i suoi servizi gratuitamente. Ancora più importante, stabilendo un protocollo stabile per accedervi, ha consentito alla Electronic Frontier Foundation di creare e fornire Certbot, uno strumento open source e gratuito che automatizza il processo di ottenimento dei certificati, installazione e configurazione dei server web per utilizzarli e rinnovandoli automaticamente.

Gestire HTTPS in modo tradizionale

Quando Let’s Encrypt è stato lanciato nel 2015, i certificati convalidati dal dominio potevano essere ottenuti per soli $ 9 all’anno, ma il tempo e lo sforzo necessari per mantenerli erano una storia diversa. Un certificato doveva essere acquistato, le informazioni dovevano essere compilate in diversi moduli, quindi si potevano aspettare ore prima che venissero emessi anche certificati economici convalidati dal dominio.

Una volta che il certificato è stato emesso, esso (e la sua chiave e tutti i certificati della catena necessari) dovevano essere scaricati, quindi spostati sul server, quindi collocati nella directory corretta e infine il server Web poteva essere riconfigurato per SSL.

Annuncio

Sul server Web Apache ampiamente utilizzato, la parte SSL della configurazione, da sola!, potrebbe assomigliare a questa:

SSLEngine su SSLCertificateFile /etc/apache2/certs/sitename.crt SSLCertificateChainFile /etc/apache2/certs/sitename.ca-bundle SSLCertificateKeyFile /etc/apache2/certs/sitename.key SSLCACertificatePath /etc/ssl/certs/ # configurazione intermedia, tweak SSLProtocol all -SSLv3 SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE- RSA-AES128-GCM-SHA256:AND-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA- AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:AND-RSA-AES128-SHA256:AND-RSA-AES128- SHA SHA:AND-DSS-AES128-SHA256:AND-RSA-AES256-SHA256:AND-DSS-AES256-SHA:AND-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256 : AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH- DSS -DES-CBC3-SHA:!EDH-RSA-DES -CBC3-SHA:!KRB5-DES-CBC3-SHA SSLHonorCipherOrder on SSLCompression off # OCSP Stapling, solo in httpd 2.3.3 e versioni successive #SSLUseStapling on #SSLStaplingResponderTimeout 5 #SSLStaplingReturnResponderErrors off # HSTS (mod_headers è richiesto) (15768000 secondi = 6 ) mesi) L’intestazione è sempre impostata su Strict-Transport-Security “max-age=15768000”

Nessuna di queste configurazioni è stata fatta per te. Nel mondo reale, una quantità sconcertante di configurazione del culto del carico è stata eseguita tramite taglia e incolla dal primo sito che affermava di offrire un set funzionante di configurazioni.

Se un amministratore inesperto ha sbagliato a cercare qualcosa da copiare e incollare, o un amministratore più esperto è diventato sciatto e non ha notato quando gli standard sono cambiati, anche l’insicurezza sotto forma di protocollo errato e argomenti di cifratura potrebbe facilmente insinuarsi.

Ogni uno o tre anni, dovresti rifare tutto da capo, forse solo sostituendo il certificato e la chiave, forse anche sostituendo o aggiungendo nuovi certificati della catena intermedia.

L’intera faccenda era (ed è) francamente, un casino… e può facilmente portare a tempi di inattività se una procedura praticata di rado non si svolge senza intoppi.

Gestire HTTPS con Let’s Encrypt e Certbot

Sia eliminando i costi che stabilendo un protocollo stabile e affidabile, Let’s Encrypt ha anche rimosso barriere significative all’automazione. L’EFF è intervenuto per fornire tale automazione agli utenti finali e agli amministratori con Certbot, uno dei modi più diffusi per gestire l’acquisizione, l’installazione e il rinnovo dei certificati Let’s Encrypt.

Su un sistema Ubuntu 18.04 o più recente, Certbot di EFF e i suoi vari plug-in sono disponibili nei principali repository di sistema. Può essere installato con due comandi di shell: uno, se sei disposto a confondere un po ‘e usare un punto e virgola:

root@web:~# aggiornamento apt ; apt install -y python3-certbot-apache

  • Se stai utilizzando il server web Apache, esegui certbot –apache. Nginx? certbot –nginx. Questo è tutto.

    Jim Salter

  • Tutti i siti Web configurati verranno visualizzati in un menu ed è possibile selezionarne uno o tutti per l’aggiornamento da utilizzare con Let’s Encrypt.

    Jim Salter

  • Ero solito scrivere a mano le configurazioni per reindirizzare HTTP a HTTPS sui miei server web. Non è stato difficile, ma è stato noioso e non è sempre successo. Certbot lo farà per te.

    Jim Salter

  • Questo è tutto. Hai finito e i tuoi siti sono ora configurati correttamente per HTTPS.

    Jim Salter

Fatto ciò, un singolo comando attiva Certbot. Mentre interagisci con un semplice sistema di menu di testo semplice, recupera i certificati per uno o tutti i tuoi siti, configura il tuo server Web (correttamente!) per te e aggiunge un cron job per rinnovare automaticamente i certificati quando sono in esaurimento 30 giorni prima della scadenza. Il tutto dura ben meno di cinque minuti.

Annuncio

Come tocco in più, Certbot offre persino, ma non richiede, di configurare automaticamente il tuo server Web per reindirizzare le richieste HTTP a HTTPS per te. È così facile.

Fornire privacy e sicurezza su larga scala

Nel giugno del 2017, Let’s Encrypt aveva due anni e ha servito il suo diecimilionesimo certificato. Il Web era passato da meno del 40% di HTTPS a, negli Stati Uniti, il 64% di HTTPS e Let’s Encrypt serviva 46 milioni di siti web.

Oggi è stato emesso il miliardesimo certificato di Let’s Encrypt, serve 192 milioni di siti Web e la porzione di Internet degli Stati Uniti è crittografata al 91%. Il progetto gestisce tutto questo con quasi lo stesso personale e budget del 2017: è passato da 11 dipendenti a tempo pieno e un budget di 2,61 milioni di dollari a 13 dipendenti a tempo pieno e un budget di 3,35 milioni di dollari oggi.

Niente di tutto ciò sarebbe possibile senza un impegno per l’automazione e gli standard aperti. Abbiamo parlato della facilità con cui Certbot di EFF consente di implementare e rinnovare i certificati Let’s Encrypt, ma tale contributo è possibile solo grazie all’attenzione di Let’s Encrypt sulla standardizzazione di un protocollo ACME aperto che chiunque può creare un client per far funzionare.

Oltre a costruire e pubblicare un protocollo stabile e capace, Let’s Encrypt si è impegnata a sottoporlo e ratificarlo con l’Internet Engineering Task Force (IETF), dando vita a RFC 8555.

Conclusioni

Non ci sono davvero molte scuse per non fornire più comunicazioni sicure, end-to-end crittografate (e autenticate!) dai siti web agli utenti. Let’s Encrypt, il suo protocollo ACME e la legione di client che sono sorti per facilitarne l’utilizzo, incluso ma non limitato a Certbot, hanno semplificato la configurazione e l’implementazione di HTTPS.

Immagine dell’elenco di nternet1.jpg di Rock1997 modificata.