CUSTOMIZE Stai utilizzando TLS più vecchio di 1.2? Va bene, i ritardi negli aggiornamenti di manutenzione capitano a tutti. Lo capiamo. Tuttavia, è il momento di andare avanti.
Business in a box.
Scopri le nostre soluzioni.
Parla con il nostro team di vendita
Stai usando TLS più vecchio di 1.2? Va bene, i ritardi negli aggiornamenti di manutenzione capitano a tutti. Lo capiamo. Tuttavia, è ora di andare avanti.
Ti ricordi nel lontano giugno 2018 quando deprecammo l'uso di TLS 1.0? Se non lo ricordi, va bene, puoi leggere tutto su questo post. Bene, eccoci qui, 2 anni dopo e la versione successiva sta per essere messa da parte, quindi vogliamo che tu sia preparato ed eviti qualsiasi interruzione del servizio. Questo post riguarda la tua preparazione per funzionare senza l'uso di TLS1.1 in modo che possiamo limitare l'accesso solo a TLS1.2. Ti guideremo su come controllare la tua versione attuale e come aggiornare all'ultima versione. Solo per divertimento, ci piacerebbe davvero ricevere il tuo feedback e aggiungerti a un “muro della grandezza” con tutte quelle aziende attente alla sicurezza che effettuano il cambiamento in anticipo.
Questo mi riguarda?
Nel 2018 abbiamo chiesto ai nostri clienti di effettuare l'aggiornamento, e TLS 1.2 è stata la raccomandazione per un bel po' di tempo, quindi è molto probabile che NON siate coinvolti. Tuttavia, se utilizzate qualsiasi metodo per iniettare messaggi (SMTP o REST API) o raccogliere dati (metriche o webhook, ecc), allora è davvero necessario verificare ora per assicurarsi che il vostro sistema possa supportare TLS 1.2. Assicuratevi di eseguire i seguenti test sui server che si connettono effettivamente a SparkPost.
Perché è importante
SparkPost non accetterà connessioni su TLS 1.1 dopo settembre 2020
Le versioni precedenti non sono sicure
TLS 1.2 è stato il protocollo consigliato per oltre un decennio
Tutti i ragazzi cool lo stanno facendo
Perché adesso?
In realtà, la domanda dovrebbe essere "perché lo stai ancora supportando?" TLS 1.2 è stato lo standard sicuro raccomandato per più di un decennio e siamo arrivati al punto che nessuno offre effettivamente supporto per nulla di meno di TLS 1.2. È ora che il supporto HTTPS debole muoia una volta per tutte. Se stai ancora usando TLS 1.1 oltre marzo 2020 avrai difficoltà a connetterti alla maggior parte dei servizi. SparkPost ha concesso un ampio margine per aggiornare questo aspetto e ora stiamo inviando gli avvisi finali per aggiornare questo elemento prima di settembre, quando lo elimineremo definitivamente.
Ma come, per favore, puoi risolverlo?
È molto possibile che il tuo IT SysAdmin o WebAdmin lo abbia già fatto per te come parte della loro normale manutenzione. Se è così dovresti offrirgli una birra e dire grazie. In caso contrario, puoi seguire alcuni dei passaggi seguenti per farlo su Linux, Windows e Mac.
Nota che in tutto questo documento testeremo con il punto di fine US SparkPost
Se normalmente utilizzi il progetto europeo, dovresti usare invece il punto di fine EU.
Come puoi controllare? (Linux version)
Per prima cosa, controlliamo se il tuo amichevole SysAdmin del quartiere ha già gestito questo per te. Questo fa in realtà parte della configurazione SSL, quindi può essere gestito nella configurazione del tuo sistema. Supponendo che stai usando Linux, il metodo più descrittivo è usare nmap ma puoi anche usare openssl. Puoi usare nmap con Linux, Windows e Mac, ma esploreremo anche altri metodi per Windows e Mac se non vuoi installare nuovi software.
Per fare questo con nmap, testa i cifrari contro un host HTTPS noto. Poiché l'obiettivo è assicurarsi che ci stiamo collegando a SparkPost in modo sicuro, testiamo contro quell'endpoint. Assicurati di eseguire i seguenti test sui server che effettivamente si connettono a SparkPost.
nmap --script ssl-enum-ciphers -p 443 api.sparkpost.com
Questo è stato fatto sul mio server di sviluppo personale e puoi facilmente vedere che la mia configurazione supporta TLS 1.1 e 1.2 ma non 1.3. È importante notare a questo punto che AWS ALBs, e quindi le connessioni SparkPost, non supportano ancora TLS1.3, ma è sulla roadmap di AWS.
Avviando Nmap 6.40 ( http://nmap.org ) il 2020-05-06 alle 22:41 UTC Rapporto di scansione Nmap per api.sparkpost.com (52.13.246.255) Host è attivo (latenza di 0.00059s). Altri indirizzi per api.sparkpost.com (non scansionati): 34.211.102.211 52.43.22.201 54.213.185.174 100.20.154.199 52.43.110.79 52.40.215.39 52.40.175.169 record rDNS per 52.13.246.255: ec2-52-13-246-255.us-west-2.compute.amazonaws.com PORTA STATO SERVIZIO 443/tcp aperto https | ssl-enum-ciphers: | TLSv1.1: | cifrari: | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - forte | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - forte | TLS_RSA_WITH_AES_128_CBC_SHA - forte | TLS_RSA_WITH_AES_256_CBC_SHA - forte | compressori: | NULL | TLSv1.2: | cifrari: | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - forte | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 - forte | TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - forte | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - forte | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 - forte | TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - forte | TLS_RSA_WITH_AES_128_CBC_SHA - forte | TLS_RSA_WITH_AES_128_CBC_SHA256 - forte | TLS_RSA_WITH_AES_128_GCM_SHA256 - forte | TLS_RSA_WITH_AES_256_CBC_SHA - forte | TLS_RSA_WITH_AES_256_CBC_SHA256 - forte | TLS_RSA_WITH_AES_256_GCM_SHA384 - forte | compressori: | NULL |_ forza minima: forte Nmap fatto: 1 indirizzo IP (1 host attivo) scansionato in 0,11 secondi
A questo punto, puoi effettivamente fermarti se vuoi perché l'obiettivo è assicurarsi di poter connettersi a SparkPost utilizzando TLS 1.2. Se la tua connessione supporta TLS 1.2, è quello di cui abbiamo bisogno a questo punto, quindi siamo a posto. Vai a comprare una birra a quel SysAdmin e digli grazie.
Mandaci un email e facci sapere che hai avuto successo.
Controllo del supporto sul tuo Mac
Il motivo più comune per cui potresti dover controllare la supporto sul tuo Mac è che lo usi per lo sviluppo locale, quindi supponiamo che sia così e controlliamo il tuo supporto.
Il metodo meno invasivo è utilizzare curl che dovrebbe essere integrato in ogni Mac. Avvia l'applicazione Terminale e utilizza il flag del protocollo per testare specificamente TLS1.2.
curl https://api.sparkpost.com/ --tlsv1.2 --verbose * Tentativo di connessione a 54.213.185.174... * TCP_NODELAY impostato * Connesso a api.sparkpost.com (54.213.185.174) porta 443 (#0) * ALPN, offre h2 * ALPN, offre http/1.1 * Selezione del cipher: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH * set di posizione di verifica del certificato con successo: * CAfile: /etc/ssl/cert.pem CApath: nessuno * TLSv1.2 (OUT), stretta di mano TLS, Client hello (1): * TLSv1.2 (IN), stretta di mano TLS, Server hello (2): * TLSv1.2 (IN), stretta di mano TLS, Certificato (11): * TLSv1.2 (IN), stretta di mano TLS, Scambio chiavi del server (12): * TLSv1.2 (IN), stretta di mano TLS, Server terminato (14): * TLSv1.2 (OUT), stretta di mano TLS, Scambio chiavi del client (16): * TLSv1.2 (OUT), cambio del cifrario TLS, Client hello (1): * TLSv1.2 (OUT), stretta di mano TLS, Terminato (20): * TLSv1.2 (IN), cambio del cifrario TLS, Client hello (1): * TLSv1.2 (IN), stretta di mano TLS, Terminato (20): * Connessione SSL utilizzando TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256 * ALPN, il server ha accettato di usare h2 * Certificato del server: * soggetto: CN=*.sparkpost.com * data di inizio: 30 Gen 2020 00:00:00 GMT * data di scadenza: 28 Feb 2021 12:00:00 GMT * subjectAltName: host "api.sparkpost.com" corrisponde al cert "*.sparkpost.com" * emittente: C=US; O=Amazon; OU=Server CA 1B; CN=Amazon * Verifica del certificato SSL riuscita. * Utilizzo di HTTP2, il server supporta l'uso multiplo * Stato connessione cambiato (HTTP/2 confermato) * Copia di dati HTTP/2 nel buffer di connessione dopo l'upgrade: len=0 * Utilizzo ID del flusso: 1 (maniglia semplice 0x7fbd69805200) > GET / HTTP/2 > Host: api.sparkpost.com > User-Agent: curl/7.54.0 > Accept: */* > * Stato connessione cambiato (MAX_CONCURRENT_STREAMS aggiornato)! < HTTP/2 200 < data: Gio, 07 Mag 2020 15:14:30 GMT < content-type: text/plain < content-length: 95 < server: msys-http < * Connessione #0 all'host api.sparkpost.com lasciata intatta Oh hey! Dovresti venire a lavorare con noi e costruire cose fantastiche!
Se vuoi testare utilizzando la connessione SMTP, puoi farlo anche con questo comando:
openssl s_client -crlf -starttls smtp -tls1_2 -connect smtp.sparkpostmail.com:587
Restituisce una gran quantità di dati tra cui:
SSL-Session: Protocollo : TLSv1.2 Cipher : ECDHE-RSA-AES256-GCM-SHA384
Verifica del supporto in Windows
Simile al caso d'uso del Mac, il motivo più comune per cui potresti aver bisogno di verificare il supporto nel tuo Windows è che lo usi per lo sviluppo locale, quindi supponiamo questo e controlliamo il tuo supporto.
Windows 7 e Windows 10 usano fondamentalmente lo stesso processo. Se stai utilizzando una versione precedente, ti invitiamo ad aggiornare poiché le versioni precedenti non supportano TLS 1.2.
Inizia facendo clic su START nell'angolo in basso a sinistra (di solito).
Digita “Opzioni Internet” e seleziona la corrispondenza dall'elenco risultante.
Fai clic sulla scheda Avanzate e da lì scorri fino in fondo. Se TLS 1.2 è selezionato, sei già a posto. Se non lo è, seleziona la casella accanto a Usa TLS 1.2 e quindi fai clic su Applica.
Aspetta, cosa? No 1.2?
Che peccato amico. Il tuo lavoro non è ancora finito.
Se hai solo TLS1.1, dovresti aggiornare le tue impostazioni Cipher.
Supponendo che tu stia utilizzando Linux e Apache per la gestione delle connessioni TLS, puoi aggiornare la configurazione SSL modificando questa riga per aggiungere “+TLSv1.2 ”:
SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2
(Nota a margine: poiché non sono più realmente supportati ovunque, ha senso anche rimuovere le impostazioni 1.0 e 1.1 mentre sei qui.)
Questa configurazione si trova tipicamente in /etc/httpd/conf.d/ssl.conf
Riavvia Apache e sei pronto per partire.
service httpd restart
Se stai usando Nginx, vorrai modificare questa riga in modo simile:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
Questa configurazione si trova tipicamente in /etc/nginx/conf.d/
Riavvia Nginx e sei pronto per partire.
service nginx restart
Se incontri messaggi di errore con il riavvio, potresti avere una libreria SSL obsoleta. Assicurati di usare almeno openssl v1.0.1g.
Se stai usando Windows, le istruzioni per impostare TLS1.2 sono nella sezione “Verifica del supporto in Windows” sopra.
Tutto fatto ora? Inviaci un email e facci sapere se hai avuto successo.
Andando un passo oltre
Perché fermarsi a TLS 1.2 quando sai – lo sai solo – che dovremo tutti aggiornare a TLS 1.3 nel prossimo anno o giù di lì. Perché non aggiornare direttamente a TLSv1.3 mentre ci siamo?
Sfortunatamente, gli ALB di AWS non supportano ancora TLS1.3, quindi se aggiorni la tua configurazione, la tua connessione a SparkPost e qualsiasi altro servizio AWS che utilizza il livello ALB sarà ancora limitata a TLS1.2. Personalmente, penso ancora che sia una buona idea anticipare la curva e aggiornare a 1.3 mentre stai comunque apportando modifiche.
Se desideri aggiungere il supporto TLS 1.3 probabilmente dovrai aggiornare prima la tua libreria OpenSSL a V1.1.1 o successiva e quindi aggiungere +TLSv1.3 alla linea del protocollo menzionata sopra. Istruzioni simili possono essere trovate qui anche per Nginx e Cloudflare.
Stai al sicuro là fuori
Infine, sarebbe fantastico se potessi inviarci una rapida email per farci sapere che hai verificato di essere compatibile con TLS 1.2. Non vogliamo davvero escludere nessuno e la data di scadenza è settembre 2020. Se sappiamo che siete tutti nella zona sicura, ci sentiremo molto meglio a spegnere il vecchio supporto.