Erreichen

Grow

Manage

Automate

Erreichen

Grow

Manage

Automate

Upgrade auf TLS 1.2

Vogel

20.05.2020

Ingenieurwissenschaft

1 min read

Upgrade auf TLS 1.2

Vogel

20.05.2020

Ingenieurwissenschaft

1 min read

Upgrade auf TLS 1.2

CUSTOMIZE Verwenden Sie eine TLS-Version älter als 1.2? Kein Problem, Wartungsupdates verzögern sich bei jedem mal. Wir verstehen das. Es ist jedoch an der Zeit, weiterzumachen.

Verwenden Sie TLS älter als 1.2?  Das ist in Ordnung, Wartungsupdate-Verzögerungen passieren jedem.  Wir verstehen das.  Dennoch ist es an der Zeit, weiterzugehen.

Erinnern Sie sich an Juni 2018, als wir die Nutzung von TLS 1.0 eingestellt haben? Wenn nicht, ist das okay, Sie können alles darüber in diesem Beitrag lesen.  Nun, hier sind wir, 2 Jahre später, und die nächste Version steht kurz davor, eingestellt zu werden, daher möchten wir, dass Sie vorbereitet sind und Unterbrechungen im Service vermeiden.  Dieser Beitrag soll Sie darauf vorbereiten, ohne die Nutzung von TLS 1.1 zu arbeiten, sodass wir den Zugriff nur auf TLS 1.2 beschränken können.  Wir zeigen Ihnen, wie Sie Ihre aktuelle Version überprüfen und auf die neueste aktualisieren können.  Nur zum Spaß möchten wir wirklich Ihr Feedback hören und Sie zu einer „Wall of Awesomeness“ hinzufügen, die all jene sicherheitsbewussten Unternehmen zeigt, die die Änderung frühzeitig vornehmen.

Betrifft mich das?

Bereits 2018 haben wir unsere Kunden gebeten, ein Upgrade durchzuführen, und TLS 1.2 wird seit einiger Zeit empfohlen, daher ist es sehr wahrscheinlich, dass Sie NICHT betroffen sind.  Wenn Sie jedoch irgendeine Methode zur Nachrichtenübermittlung (SMTP oder REST API) oder Datenerfassung (Metriken oder Webhooks, etc.) verwenden, sollten Sie jetzt unbedingt überprüfen, ob Ihr System TLS 1.2 unterstützen kann.  Stellen Sie sicher, dass Sie die folgenden Tests auf den Servern durchführen, die tatsächlich mit SparkPost verbinden.

Warum es wichtig ist

SparkPost wird ab September 2020 keine Verbindungen mehr mit TLS 1.1 akzeptieren

  1. Ältere Versionen sind nicht sicher

  2. TLS 1.2 ist seit über einem Jahrzehnt das empfohlene Protokoll

  3. Alle coolen Kids machen es so

  4. IETF sagt, es ist offiziell veraltet

SparkPost wird ab September 2020 keine Verbindungen mehr mit TLS 1.1 akzeptieren

  1. Ältere Versionen sind nicht sicher

  2. TLS 1.2 ist seit über einem Jahrzehnt das empfohlene Protokoll

  3. Alle coolen Kids machen es so

  4. IETF sagt, es ist offiziell veraltet

SparkPost wird ab September 2020 keine Verbindungen mehr mit TLS 1.1 akzeptieren

  1. Ältere Versionen sind nicht sicher

  2. TLS 1.2 ist seit über einem Jahrzehnt das empfohlene Protokoll

  3. Alle coolen Kids machen es so

  4. IETF sagt, es ist offiziell veraltet

Warum jetzt?

Tatsächlich sollte die Frage sein „warum unterstützen Sie es noch?“  TLS 1.2 ist seit mehr als einem Jahrzehnt der empfohlene sichere Standard, und wir sind kurz davor, dass tatsächlich noch jemand irgendetwas unterhalb TLS1.2 unterstützt. Es ist an der Zeit, dass schwache HTTPS-Unterstützungen endgültig sterben. Wenn Sie nach März 2020 immer noch TLS 1.1 verwenden, werden Sie Schwierigkeiten haben, eine Verbindung zu den meisten Diensten herzustellen.  SparkPost hat ausreichend Spielraum gegeben, um dies zu aktualisieren, und jetzt senden wir die letzten Benachrichtigungen heraus, um dies bis September zu aktualisieren, wenn wir es endgültig abschalten.

Aber wie, bitte schön, kann man es beheben?

Es ist sehr wahrscheinlich, dass Ihr IT SysAdmin oder WebAdmin dies bereits für Sie im Rahmen ihrer normalen Wartung erledigt hat. Wenn ja, sollten Sie ihnen ein Bier kaufen und Danke sagen. Wenn nicht, können Sie einige der folgenden Schritte befolgen, um es in Linux, Windows und Mac zu erledigen.

Beachten Sie, dass wir in diesem Dokument mit dem US-SparkPost-Endpunkt testen werden.

Wenn Sie normalerweise die europäische Bereitstellung nutzen, sollten Sie stattdessen den EU-Endpunkt verwenden.

Wie können Sie das überprüfen? (Linux-Version)

Zuerst sollten wir überprüfen, ob Ihr freundlicher Systemadministrator in der Nähe diese Aufgabe bereits für Sie erledigt hat. Dies ist tatsächlich Teil der SSL-Konfiguration, sodass es in Ihrer Systemkonfiguration verwaltet werden kann. Angenommen, Sie verwenden Linux, ist die aussagekräftigste Methode die Verwendung von nmap, aber Sie können auch openssl verwenden. Sie können nmap mit Linux, Windows und Mac verwenden, aber wir werden auch andere Methoden für Windows und Macs erkunden, falls Sie keine neue Software installieren möchten.

Um dies mit nmap zu tun, testen Sie die Chiffren gegen einen bekannten HTTPS-Host. Da es darum geht, sicherzustellen, dass wir sicher mit SparkPost verbinden, testen wir gegen diesen Endpunkt. Stellen Sie sicher, dass Sie die folgenden Tests auf den Servern durchführen, die tatsächlich mit SparkPost verbinden.

nmap --script ssl-enum-ciphers -p 443 api.sparkpost.com

Dies wurde auf meinem eigenen Entwicklungsserver durchgeführt und Sie können leicht sehen, dass meine Konfiguration TLS 1.1 und 1.2 unterstützt, aber nicht 1.3. Es ist wichtig zu beachten, dass AWS ALBs und daher SparkPost-Verbindungen noch kein TLS1.3 unterstützen, aber es steht auf der AWS-Roadmap.

Start von Nmap 6.40 ( http://nmap.org ) am 2020-05-06 22:41 UTC Nmap-Scanbericht für api.sparkpost.com (52.13.246.255) Host ist online (0.00059s Latenz). Andere Adressen für api.sparkpost.com (nicht gescannt): 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 rDNS-Eintrag für 52.13.246.255: ec2-52-13-246-255.us-west-2.compute.amazonaws.com PORT STATE SERVICE 443/tcp geöffnet https | ssl-enum-ciphers: | TLSv1.1: | Chiffren: | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - stark | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - stark | TLS_RSA_WITH_AES_128_CBC_SHA - stark | TLS_RSA_WITH_AES_256_CBC_SHA - stark | Kompressoren: | NULL | TLSv1.2: | Chiffren: | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - stark | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 - stark | TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - stark | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - stark | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 - stark | TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - stark | TLS_RSA_WITH_AES_128_CBC_SHA - stark | TLS_RSA_WITH_AES_128_CBC_SHA256 - stark | TLS_RSA_WITH_AES_128_GCM_SHA256 - stark | TLS_RSA_WITH_AES_256_CBC_SHA - stark | TLS_RSA_WITH_AES_256_CBC_SHA256 - stark | TLS_RSA_WITH_AES_256_GCM_SHA384 - stark | Kompressoren: | NULL |_ geringste Stärke: stark Nmap abgeschlossen: 1 IP-Adresse (1 Host online) in 0,11 Sekunden gescannt

An diesem Punkt können Sie tatsächlich aufhören, wenn Sie möchten, denn es geht darum sicherzustellen, dass Sie in der Lage sind, sich mit SparkPost unter Verwendung von TLS 1.2 zu verbinden. Wenn Ihre Verbindung TLS 1.2 unterstützt, ist das genau das, was wir zu diesem Zeitpunkt benötigen, also ist alles gut. Gehen Sie und kaufen Sie diesem SysAdmin ein Bier und bedanken Sie sich.

Senden Sie uns eine E-Mail und lassen Sie uns wissen, dass Sie erfolgreich waren.

Überprüfung der Unterstützung auf Ihrem Mac

Der häufigste Grund, warum Sie möglicherweise Unterstützung auf Ihrem Mac benötigen, ist, dass Sie ihn für lokale Entwicklung verwenden. Nehmen wir das also an und überprüfen wir Ihre Unterstützung. 

Die am wenigsten invasive Methode ist die Verwendung von curl, die in jedem Mac eingebaut sein sollte. Starten Sie das Terminal und verwenden Sie das Protokoll-Flag, um speziell für TLS1.2 zu testen.

curl https://api.sparkpost.com/ --tlsv1.2 --verbose * Trying 54.213.185.174... * TCP_NODELAY set * Connected to api.sparkpost.com (54.213.185.174) port 443 (#0) * ALPN, offering h2 * ALPN, offering http/1.1 * Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH * successfully set certificate verify locations: * CAfile: /etc/ssl/cert.pem CApath: none * TLSv1.2 (OUT), TLS handshake, Client hello (1): * TLSv1.2 (IN), TLS handshake, Server hello (2): * TLSv1.2 (IN), TLS handshake, Certificate (11): * TLSv1.2 (IN), TLS handshake, Server key exchange (12): * TLSv1.2 (IN), TLS handshake, Server finished (14): * TLSv1.2 (OUT), TLS handshake, Client key exchange (16): * TLSv1.2 (OUT), TLS change cipher, Client hello (1): * TLSv1.2 (OUT), TLS handshake, Finished (20): * TLSv1.2 (IN), TLS change cipher, Client hello (1): * TLSv1.2 (IN), TLS handshake, Finished (20): * SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256 * ALPN, server accepted to use h2 * Server certificate: * subject: CN=*.sparkpost.com * start date: Jan 30 00:00:00 2020 GMT * expire date: Feb 28 12:00:00 2021 GMT * subjectAltName: host "api.sparkpost.com" matched cert's "*.sparkpost.com" * issuer: C=US; O=Amazon; OU=Server CA 1B; CN=Amazon * SSL certificate verify ok. * Using HTTP2, server supports multi-use * Connection state changed (HTTP/2 confirmed) * Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0 * Using Stream ID: 1 (easy handle 0x7fbd69805200) > GET / HTTP/2 > Host: api.sparkpost.com > User-Agent: curl/7.54.0 > Accept: */* > * Connection state changed (MAX_CONCURRENT_STREAMS updated)! < HTTP/2 200 < date: Thu, 07 May 2020 15:14:30 GMT < content-type: text/plain < content-length: 95 < server: msys-http < * Connection #0 to host api.sparkpost.com left intact Oh hey! Du solltest bei uns arbeiten und großartige Sachen bauen!

Wenn Sie die SMTP-Verbindung testen möchten, können Sie dies auch mit diesem Befehl tun:

openssl s_client -crlf -starttls smtp -tls1_2 -connect smtp.sparkpostmail.com:587

Gibt eine Menge an Daten zurück, darunter:

SSL-Session: Protokoll : TLSv1.2 Cipher : ECDHE-RSA-AES256-GCM-SHA384

Überprüfung der Unterstützung in Windows

Ähnlich wie bei der Mac-Nutzung ist der häufigste Grund, warum Sie in Ihrem Windows nach Support suchen müssen, dass Sie es für die lokale Entwicklung verwenden. Lassen Sie uns das annehmen und Ihren Support überprüfen. 

Windows 7 und Windows 10 verwenden im Grunde denselben Prozess.  Wenn Sie etwas Älteres verwenden, aktualisieren Sie bitte, da frühere Versionen TLS 1.2 nicht unterstützen.

Beginnen Sie, indem Sie unten links auf START klicken (normalerweise).

Geben Sie „Internetoptionen“ ein und wählen Sie das passende Ergebnis aus der angezeigten Liste.

Klicken Sie auf die Registerkarte Erweitert und scrollen Sie dort ganz nach unten. Wenn TLS 1.2 aktiviert ist, sind Sie bereits einsatzbereit. Wenn nicht, aktivieren Sie bitte das neben „Use TLS 1.2“ stehende Kontrollkästchen und klicken Sie dann auf Übernehmen.

Warten, was? Kein 1.2?

Schade, Kumpel. Deine Arbeit ist noch nicht erledigt.

Wenn du nur TLS1.1 hast, solltest du deine Cipher-Einstellungen aktualisieren.

Angenommen, du verwendest Linux und Apache für das TLS-Verbindungsmanagement, kannst du die SSL-Konfiguration aktualisieren, indem du diese Zeile änderst, um „+TLSv1.2“ hinzuzufügen:

SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2

(Nebennotiz: Da sie fast nirgendwo mehr unterstützt werden, macht es Sinn, die 1.0- und 1.1-Einstellungen ebenfalls zu entfernen, während du hier bist.)

Diese Konfiguration befindet sich typischerweise in /etc/httpd/conf.d/ssl.conf

Starte Apache neu und alles ist gut.

service httpd restart

Wenn du Nginx verwendest, solltest du diese Zeile auf ähnliche Weise ändern:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

Diese Konfiguration befindet sich typischerweise in /etc/nginx/conf.d/

Starte Nginx neu und alles ist gut.

service nginx restart

Wenn beim Neustart Fehlermeldungen auftreten, könnte es sein, dass du eine veraltete SSL-Bibliothek hast. Stelle sicher, dass du mindestens openssl v1.0.1g verwendest.

Wenn du Windows verwendest, findest du die Anweisungen zum Einstellen von TLS1.2 im Abschnitt „Prüfen auf Unterstützung in Windows“ oben.

Alles fertig jetzt? Sende uns eine E-Mail und lasse uns wissen, dass du erfolgreich warst.

Einen Schritt weiter gehen

Warum bei TLS 1.2 aufhören, wenn Sie wissen – Sie wissen es einfach – dass wir alle in den nächsten ein bis zwei Jahren auf TLS 1.3 upgraden müssen.  Warum nicht einfach auf TLSv1.3 upgraden, während wir dabei sind?

Leider unterstützen AWS ALBs noch kein TLS1.3, daher wird Ihre Verbindung zu SparkPost und jedem anderen AWS-Dienst, der die ALB-Schicht verwendet, weiterhin auf TLS1.2 beschränkt sein, wenn Sie Ihre Konfiguration aktualisieren. Persönlich denke ich trotzdem, dass es eine gute Idee ist, der Entwicklung voraus zu sein und auf 1.3 zu aktualisieren, während Sie sowieso Änderungen vornehmen. 

Wenn Sie TLS 1.3-Unterstützung hinzufügen möchten, müssen Sie wahrscheinlich zuerst Ihre OpenSSL-Bibliothek auf V1.1.1 oder höher aktualisieren und dann +TLSv1.3  zur oben erwähnten Protokollzeile hinzufügen.  Ähnliche Anweisungen finden Sie hier auch für Nginx und Cloudflare.

Bleib da draußen sicher

Schließlich wäre es großartig, wenn Sie uns eine kurze E-Mail schicken könnten, um uns mitzuteilen, dass Sie TLS 1.2-fähig sind.  Wir möchten wirklich niemanden abschneiden und das endgültige Datum ist September 2020.  Wenn wir wissen, dass Sie sich alle in der sicheren Zone befinden, werden wir uns viel besser fühlen, um die alte Unterstützung abzuschalten.

Lassen Sie uns Sie mit einem Bird-Experten verbinden.
Erleben Sie die volle Macht des Bird in 30 Minuten.

Durch die Übermittlung stimmen Sie zu, dass Bird Sie bezüglich unserer Produkte und Dienstleistungen kontaktieren darf.

Sie können sich jederzeit abmelden. Weitere Informationen zur Datenverarbeitung finden Sie in Birds Datenschutzerklärung.

Unternehmen

Newsletter

Bleiben Sie mit Bird auf dem Laufenden durch wöchentliche Updates in Ihrem Posteingang.

Lassen Sie uns Sie mit einem Bird-Experten verbinden.
Erleben Sie die volle Macht des Bird in 30 Minuten.

Durch die Übermittlung stimmen Sie zu, dass Bird Sie bezüglich unserer Produkte und Dienstleistungen kontaktieren darf.

Sie können sich jederzeit abmelden. Weitere Informationen zur Datenverarbeitung finden Sie in Birds Datenschutzerklärung.

Unternehmen

Newsletter

Bleiben Sie mit Bird auf dem Laufenden durch wöchentliche Updates in Ihrem Posteingang.

Lassen Sie uns Sie mit einem Bird-Experten verbinden.
Erleben Sie die volle Macht des Bird in 30 Minuten.

Durch die Übermittlung stimmen Sie zu, dass Bird Sie bezüglich unserer Produkte und Dienstleistungen kontaktieren darf.

Sie können sich jederzeit abmelden. Weitere Informationen zur Datenverarbeitung finden Sie in Birds Datenschutzerklärung.

R

Erreichen

G

Grow

M

Manage

A

Automate

Unternehmen

Newsletter

Bleiben Sie mit Bird auf dem Laufenden durch wöchentliche Updates in Ihrem Posteingang.