Erreichen

Grow

Manage

Automate

Erreichen

Grow

Manage

Automate

Upgrade auf TLS 1.2

Ingenieurwissenschaft

1 min read

Upgrade auf TLS 1.2

Ingenieurwissenschaft

1 min read

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

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

Erinnern Sie sich noch 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 nachlesen.  Nun, hier sind wir, 2 Jahre später, und die nächste Version wird bald auf Eis gelegt, daher möchten wir, dass Sie vorbereitet sind und Unterbrechungen im Dienst vermeiden.  Dieser Beitrag dreht sich darum, Sie darauf vorzubereiten, ohne die Nutzung von TLS1.1 zu arbeiten, damit wir den Zugriff nur auf TLS1.2 beschränken können.  Wir werden Sie anleiten, wie Sie Ihre aktuelle Version überprüfen und auf die neueste Version aktualisieren können.  Einfach aus Spaß würden wir gerne Ihr Feedback hören und Sie zu einer „Wall of Awesomeness“ hinzufügen, die all jene sicherheitsbewussten Unternehmen zeigt, die frühzeitig die Änderung vollziehen.

Betrifft mich das?

Bereits im Jahr 2018 haben wir unsere Kunden gebeten, ein Upgrade durchzuführen, und TLS 1.2 wurde schon seit einiger Zeit empfohlen, daher ist es sehr wahrscheinlich, dass Sie NICHT betroffen sind.  Wenn Sie jedoch eine Methode verwenden, um Nachrichten zu injizieren (SMTP oder REST API) oder Daten zu sammeln (Metriken oder Webhooks, etc.), sollten Sie jetzt wirklich überprüfen, ob Ihr System TLS 1.2 unterstützen kann.  Stellen Sie sicher, dass Sie die folgenden Tests auf den Servern ausführen, die tatsächlich mit SparkPost verbunden sind.  

Warum es wichtig ist

SparkPost wird nach September 2020 keine Verbindungen über TLS 1.1 mehr akzeptieren

  1. Ältere Versionen sind nicht sicher

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

  3. Alle coolen Kinder machen es

  4. IETF sagt, es ist offiziell veraltet

Warum jetzt?

Eigentlich sollte die Frage lauten: „Warum unterstützen Sie es noch?“ TLS 1.2 ist seit mehr als einem Jahrzehnt der empfohlene Sicherheitsstandard und wir sind an dem Punkt, an dem tatsächlich niemand mehr Unterstützung für irgendetwas weniger als TLS 1.2 bietet. Es ist an der Zeit, dass schwache HTTPS-Unterstützung endgültig stirbt. Wenn Sie TLS 1.1 nach März 2020 noch verwenden, werden Sie Schwierigkeiten haben, sich mit den meisten Diensten zu verbinden. SparkPost hat großzügig Zeit zur Verfügung gestellt, um dies zu aktualisieren, und jetzt senden wir die letzten Benachrichtigungen, um dies vor 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 beim Mac-Anwendungsfall ist der häufigste Grund, warum Sie möglicherweise Unterstützung in Ihrem Windows benötigen, dass Sie es für die lokale Entwicklung verwenden. Nehmen wir also an, das ist der Fall, und überprüfen wir Ihre Unterstützung. 

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 (normalerweise) unten links auf START klicken.


Geben Sie „Internetoptionen“ ein und wählen Sie den Treffer aus der Ergebnisliste aus.


Klicken Sie auf die Registerkarte Erweitert und scrollen Sie von dort ganz nach unten. Wenn TLS 1.2 aktiviert ist, sind Sie bereits startklar. Wenn nicht, aktivieren Sie bitte das Kästchen neben Verwenden von TLS 1.2 und klicken Sie dann auf Übernehmen.

Warte, 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 man einfach weiß, dass wir alle in den nächsten ein oder zwei Jahren auf TLS 1.3 aufrüsten müssen. Warum nicht einfach auf TLSv1.3 upgraden, während wir dabei sind?

Leider unterstützen AWS ALBs noch kein TLS1.3, sodass Ihre Verbindung zu SparkPost und jedem anderen AWS-Dienst, der die ALB-Schicht verwendet, bei einer Konfigurationsänderung weiterhin auf TLS1.2 beschränkt bleibt. Persönlich denke ich, dass es eine gute Idee ist, der Kurve voraus zu sein und auf 1.3 aufzurüsten, während Sie ohnehin Ä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 Anleitungen 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.

Abonnieren Sie unseren Newsletter.

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

Siehe Birds Datenschutzerklärung für Details zur Datenverarbeitung.

Abonnieren Sie unseren Newsletter.

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

Siehe Birds Datenschutzerklärung für Details zur Datenverarbeitung.

Abonnieren Sie unseren Newsletter.

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

Siehe Birds Datenschutzerklärung für Details zur Datenverarbeitung.

Erreichen

Grow

Manage

Automate

Ressourcen

Unternehmen

Newsletter

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

Siehe Birds Datenschutzerklärung für Details zur Datenverarbeitung.