Mise à niveau vers TLS 1.2
Oiseau
20 mai 2020
Ingénierie
1 min read

Points Clés
TLS 1.1 est officiellement obsolète. Bird (anciennement SparkPost) ne prend plus en charge les connexions utilisant TLS 1.1 après septembre 2020. Tous les systèmes doivent prendre en charge TLS 1.2 ou supérieur pour maintenir une connectivité sécurisée.
Pourquoi la mise à niveau est importante : TLS 1.2 est le protocole recommandé depuis plus d'une décennie. Il offre un chiffrement plus fort, de meilleures performances et une conformité avec les normes de sécurité modernes, tandis que les versions plus anciennes sont vulnérables aux attaques.
Comment vérifier votre système :
Linux : Utilisez nmap --script ssl-enum-ciphers -p 443 api.sparkpost.com ou openssl pour vérifier la prise en charge du protocole.
macOS : Exécutez curl https://api.sparkpost.com/ --tlsv1.2 --verbose dans Terminal.
Windows : Accédez à Options Internet → Avancé et assurez-vous que « Utiliser TLS 1.2 » est coché.
Comment activer TLS 1.2 :
Sur Apache, mettez à jour la configuration SSL : SSLProtocol -all +TLSv1.2
Sur Nginx, modifiez ssl_protocols TLSv1.2 ; et redémarrez votre service.
Pourquoi pas encore TLS 1.3 ? Bien que TLS 1.3 soit la prochaine étape, les Application Load Balancers AWS (utilisés par SparkPost/Bird) ne le prenaient pas encore en charge à l'époque. Pourtant, mettre à niveau OpenSSL à v1.1.1+ vous prépare pour une transition future facile.
Reconnaissance des conscients de la sécurité. Bird a encouragé les premiers adoptants à partager leur succès de mise à niveau et à rejoindre leur « mur de l'excellence » — célébrant la conformité proactive à la sécurité.
Points forts des Q&A
Pourquoi TLS 1.2 est-il requis ?
Parce que les versions antérieures (1.0 et 1.1) sont non sécurisées et déconseillées par l'IETF. TLS 1.2 offre un chiffrement plus fort et une meilleure protection de l'intégrité pour les connexions API et SMTP.
Qui cela affecte-t-il ?
N'importe quel client se connectant à Bird (via REST API, SMTP, webhooks, ou points de terminaison de métriques) en utilisant une version TLS obsolète.
Comment puis-je tester ma connexion ?
Exécutez l'une des commandes de vérification pour votre système d'exploitation (Linux, macOS ou Windows). Si la sortie montre une poignée de main TLSv1.2 réussie, votre connexion est conforme.
Que se passe-t-il si je ne fais pas d'upgrade ?
Vos connexions échoueront une fois que TLS 1.1 sera désactivé. Vous perdrez la capacité d'envoyer des messages ou d'accéder aux APIs jusqu'à ce que votre système supporte TLS 1.2.
Puis-je activer TLS 1.3 maintenant ?
Vous pouvez le faire, mais cela peut ne pas encore être pris en charge par AWS ALBs. La mise à jour d'OpenSSL vers la version 1.1.1+ garantit la compatibilité lorsque TLS 1.3 sera disponible.
Do I need to change anything si j’utilise Bird via une bibliothèque ou SDK ?
La plupart des SDK modernes utilisent déjà par défaut TLS 1.2. Cependant, vérifiez la configuration SSL de votre environnement ou la version de la bibliothèque si elle est antérieure à la mi-2018.
Y a-t-il un moyen de confirmer le succès ?
Oui — après avoir testé votre connexion, Bird a invité les utilisateurs à envoyer un email de confirmation à leur équipe de support, vérifiant leur disponibilité avant la date limite.
Utilisez-vous une version de TLS antérieure à 1.2 ? Ce n'est pas grave, les retards de mise à jour de maintenance arrivent à tout le monde. Nous comprenons. Cependant, il est temps de passer à autre chose.
Vous vous souvenez en juin 2018 lorsque nous avons déprécié l'utilisation de TLS 1.0 ? Si vous ne vous en souvenez pas, c'est normal, vous pouvez tout lire à ce sujet dans cet article. Eh bien, nous y sommes, 2 ans plus tard et la prochaine version est sur le point d'être mise de côté, donc nous voulons que vous soyez préparé et évitiez toute interruption de service. Cet article est destiné à vous préparer à fonctionner sans l'utilisation de TLS1.1 afin que nous puissions restreindre l'accès à TLS1.2 uniquement. Nous allons vous expliquer comment vérifier votre version actuelle et comment passer à la dernière version. Juste pour le plaisir, nous aimerions vraiment avoir vos retours et vous ajouter à un “mur de l'impressionnant” avec toutes ces entreprises soucieuses de la sécurité qui ont effectué le changement tôt.
Utilisez-vous une version de TLS antérieure à 1.2 ? Ce n'est pas grave, les retards de mise à jour de maintenance arrivent à tout le monde. Nous comprenons. Cependant, il est temps de passer à autre chose.
Vous vous souvenez en juin 2018 lorsque nous avons déprécié l'utilisation de TLS 1.0 ? Si vous ne vous en souvenez pas, c'est normal, vous pouvez tout lire à ce sujet dans cet article. Eh bien, nous y sommes, 2 ans plus tard et la prochaine version est sur le point d'être mise de côté, donc nous voulons que vous soyez préparé et évitiez toute interruption de service. Cet article est destiné à vous préparer à fonctionner sans l'utilisation de TLS1.1 afin que nous puissions restreindre l'accès à TLS1.2 uniquement. Nous allons vous expliquer comment vérifier votre version actuelle et comment passer à la dernière version. Juste pour le plaisir, nous aimerions vraiment avoir vos retours et vous ajouter à un “mur de l'impressionnant” avec toutes ces entreprises soucieuses de la sécurité qui ont effectué le changement tôt.
Utilisez-vous une version de TLS antérieure à 1.2 ? Ce n'est pas grave, les retards de mise à jour de maintenance arrivent à tout le monde. Nous comprenons. Cependant, il est temps de passer à autre chose.
Vous vous souvenez en juin 2018 lorsque nous avons déprécié l'utilisation de TLS 1.0 ? Si vous ne vous en souvenez pas, c'est normal, vous pouvez tout lire à ce sujet dans cet article. Eh bien, nous y sommes, 2 ans plus tard et la prochaine version est sur le point d'être mise de côté, donc nous voulons que vous soyez préparé et évitiez toute interruption de service. Cet article est destiné à vous préparer à fonctionner sans l'utilisation de TLS1.1 afin que nous puissions restreindre l'accès à TLS1.2 uniquement. Nous allons vous expliquer comment vérifier votre version actuelle et comment passer à la dernière version. Juste pour le plaisir, nous aimerions vraiment avoir vos retours et vous ajouter à un “mur de l'impressionnant” avec toutes ces entreprises soucieuses de la sécurité qui ont effectué le changement tôt.
Vérification du support dans Windows
Similaire au cas d'utilisation sur Mac, la raison la plus courante pour laquelle vous pourriez avoir besoin de vérifier le support dans votre Windows est que vous l'utilisez pour le développement local, donc supposons cela et vérifions votre support.
Windows 7 et Windows 10 utilisent essentiellement le même processus. Si vous utilisez quelque chose de plus ancien, veuillez mettre à niveau car les versions antérieures ne prennent pas en charge TLS 1.2.
Commencez par cliquer sur DÉMARRER dans le coin inférieur gauche (habituellement).
Tapez "Options Internet" et sélectionnez la correspondance dans la liste résultante.
Cliquez sur l'onglet Avancé et à partir de là, faites défiler jusqu'en bas. Si TLS 1.2 est coché, vous êtes déjà prêt. Si ce n'est pas le cas, veuillez cocher la case à côté de Utiliser TLS 1.2 et ensuite Appliquer.
Similaire au cas d'utilisation sur Mac, la raison la plus courante pour laquelle vous pourriez avoir besoin de vérifier le support dans votre Windows est que vous l'utilisez pour le développement local, donc supposons cela et vérifions votre support.
Windows 7 et Windows 10 utilisent essentiellement le même processus. Si vous utilisez quelque chose de plus ancien, veuillez mettre à niveau car les versions antérieures ne prennent pas en charge TLS 1.2.
Commencez par cliquer sur DÉMARRER dans le coin inférieur gauche (habituellement).
Tapez "Options Internet" et sélectionnez la correspondance dans la liste résultante.
Cliquez sur l'onglet Avancé et à partir de là, faites défiler jusqu'en bas. Si TLS 1.2 est coché, vous êtes déjà prêt. Si ce n'est pas le cas, veuillez cocher la case à côté de Utiliser TLS 1.2 et ensuite Appliquer.
Similaire au cas d'utilisation sur Mac, la raison la plus courante pour laquelle vous pourriez avoir besoin de vérifier le support dans votre Windows est que vous l'utilisez pour le développement local, donc supposons cela et vérifions votre support.
Windows 7 et Windows 10 utilisent essentiellement le même processus. Si vous utilisez quelque chose de plus ancien, veuillez mettre à niveau car les versions antérieures ne prennent pas en charge TLS 1.2.
Commencez par cliquer sur DÉMARRER dans le coin inférieur gauche (habituellement).
Tapez "Options Internet" et sélectionnez la correspondance dans la liste résultante.
Cliquez sur l'onglet Avancé et à partir de là, faites défiler jusqu'en bas. Si TLS 1.2 est coché, vous êtes déjà prêt. Si ce n'est pas le cas, veuillez cocher la case à côté de Utiliser TLS 1.2 et ensuite Appliquer.
Cela me concerne-t-il ?
En 2018, nous avons demandé à nos clients de mettre à niveau, et TLS 1.2 a été la recommandation depuis un certain temps, il est donc très probable que vous ne soyez PAS affecté. Cependant, si vous utilisez une méthode pour injecter des messages (SMTP ou REST API) ou collecter des données (métriques ou webhooks, etc.), alors vous devriez vraiment vérifier maintenant pour vous assurer que votre système peut prendre en charge TLS 1.2. Assurez-vous de lancer les tests suivants sur les serveurs qui se connectent réellement à SparkPost.
En 2018, nous avons demandé à nos clients de mettre à niveau, et TLS 1.2 a été la recommandation depuis un certain temps, il est donc très probable que vous ne soyez PAS affecté. Cependant, si vous utilisez une méthode pour injecter des messages (SMTP ou REST API) ou collecter des données (métriques ou webhooks, etc.), alors vous devriez vraiment vérifier maintenant pour vous assurer que votre système peut prendre en charge TLS 1.2. Assurez-vous de lancer les tests suivants sur les serveurs qui se connectent réellement à SparkPost.
En 2018, nous avons demandé à nos clients de mettre à niveau, et TLS 1.2 a été la recommandation depuis un certain temps, il est donc très probable que vous ne soyez PAS affecté. Cependant, si vous utilisez une méthode pour injecter des messages (SMTP ou REST API) ou collecter des données (métriques ou webhooks, etc.), alors vous devriez vraiment vérifier maintenant pour vous assurer que votre système peut prendre en charge TLS 1.2. Assurez-vous de lancer les tests suivants sur les serveurs qui se connectent réellement à SparkPost.
Pourquoi c'est important
Pourquoi la mise à niveau vers TLS 1.2 est importante
Pourquoi la mise à niveau vers TLS 1.2 est importante | Détails |
|---|---|
Le support TLS 1.1 se termine | SparkPost n'acceptera plus les connexions TLS 1.1 après septembre 2020 |
Les versions plus anciennes sont peu sûres | Les protocoles TLS hérités sont vulnérables aux méthodes d'attaque modernes |
Conformité aux normes de l'industrie | TLS 1.2 est le protocole sécurisé recommandé depuis des années |
Meilleure performance et fiabilité | Connexions cryptées plus rapides et plus stables |
Officiellement obsolète | Les normes IETF classifient TLS 1.1 comme dépassé |
Pourquoi la mise à niveau vers TLS 1.2 est importante
Pourquoi la mise à niveau vers TLS 1.2 est importante | Détails |
|---|---|
Le support TLS 1.1 se termine | SparkPost n'acceptera plus les connexions TLS 1.1 après septembre 2020 |
Les versions plus anciennes sont peu sûres | Les protocoles TLS hérités sont vulnérables aux méthodes d'attaque modernes |
Conformité aux normes de l'industrie | TLS 1.2 est le protocole sécurisé recommandé depuis des années |
Meilleure performance et fiabilité | Connexions cryptées plus rapides et plus stables |
Officiellement obsolète | Les normes IETF classifient TLS 1.1 comme dépassé |
Pourquoi la mise à niveau vers TLS 1.2 est importante
Pourquoi la mise à niveau vers TLS 1.2 est importante | Détails |
|---|---|
Le support TLS 1.1 se termine | SparkPost n'acceptera plus les connexions TLS 1.1 après septembre 2020 |
Les versions plus anciennes sont peu sûres | Les protocoles TLS hérités sont vulnérables aux méthodes d'attaque modernes |
Conformité aux normes de l'industrie | TLS 1.2 est le protocole sécurisé recommandé depuis des années |
Meilleure performance et fiabilité | Connexions cryptées plus rapides et plus stables |
Officiellement obsolète | Les normes IETF classifient TLS 1.1 comme dépassé |
Pourquoi maintenant?
En fait, la question devrait être «pourquoi continuez-vous à le soutenir ?» TLS 1.2 a été la norme sécurisée recommandée pendant plus d'une décennie et nous sommes arrivés au point où presque personne n'offre de soutien pour quoi que ce soit en dessous de TLS1.2. Il est temps pour le soutien HTTPS faible de disparaître une fois pour toutes. Si vous utilisez encore TLS 1.1 après mars 2020, vous aurez du mal à vous connecter à la plupart des services. SparkPost a fourni suffisamment de temps pour effectuer cette mise à jour et maintenant nous envoyons les derniers avis pour effectuer cette mise à niveau avant septembre, lorsque nous l'éliminerons définitivement.
En fait, la question devrait être «pourquoi continuez-vous à le soutenir ?» TLS 1.2 a été la norme sécurisée recommandée pendant plus d'une décennie et nous sommes arrivés au point où presque personne n'offre de soutien pour quoi que ce soit en dessous de TLS1.2. Il est temps pour le soutien HTTPS faible de disparaître une fois pour toutes. Si vous utilisez encore TLS 1.1 après mars 2020, vous aurez du mal à vous connecter à la plupart des services. SparkPost a fourni suffisamment de temps pour effectuer cette mise à jour et maintenant nous envoyons les derniers avis pour effectuer cette mise à niveau avant septembre, lorsque nous l'éliminerons définitivement.
En fait, la question devrait être «pourquoi continuez-vous à le soutenir ?» TLS 1.2 a été la norme sécurisée recommandée pendant plus d'une décennie et nous sommes arrivés au point où presque personne n'offre de soutien pour quoi que ce soit en dessous de TLS1.2. Il est temps pour le soutien HTTPS faible de disparaître une fois pour toutes. Si vous utilisez encore TLS 1.1 après mars 2020, vous aurez du mal à vous connecter à la plupart des services. SparkPost a fourni suffisamment de temps pour effectuer cette mise à jour et maintenant nous envoyons les derniers avis pour effectuer cette mise à niveau avant septembre, lorsque nous l'éliminerons définitivement.
Mais comment, je vous prie, pouvez-vous le réparer ?
Il est très possible que votre IT SysAdmin ou WebAdmin l'ait déjà fait pour vous dans le cadre de leur maintenance habituelle. Si c'est le cas, vous devriez leur offrir une bière et dire merci. Sinon, vous pouvez suivre certaines des étapes ci-dessous pour l'effectuer sous Linux, Windows et Mac.
Notez qu'au cours de ce document, nous testerons avec le point de terminaison US SparkPost.
Si vous utilisez normalement le déploiement européen, vous devriez utiliser le point de terminaison EU à la place.
Il est très possible que votre IT SysAdmin ou WebAdmin l'ait déjà fait pour vous dans le cadre de leur maintenance habituelle. Si c'est le cas, vous devriez leur offrir une bière et dire merci. Sinon, vous pouvez suivre certaines des étapes ci-dessous pour l'effectuer sous Linux, Windows et Mac.
Notez qu'au cours de ce document, nous testerons avec le point de terminaison US SparkPost.
Si vous utilisez normalement le déploiement européen, vous devriez utiliser le point de terminaison EU à la place.
Il est très possible que votre IT SysAdmin ou WebAdmin l'ait déjà fait pour vous dans le cadre de leur maintenance habituelle. Si c'est le cas, vous devriez leur offrir une bière et dire merci. Sinon, vous pouvez suivre certaines des étapes ci-dessous pour l'effectuer sous Linux, Windows et Mac.
Notez qu'au cours de ce document, nous testerons avec le point de terminaison US SparkPost.
Si vous utilisez normalement le déploiement européen, vous devriez utiliser le point de terminaison EU à la place.
Comment pouvez-vous vérifier ? (version Linux)
Tout d'abord, vérifions si votre sympathique SysAdmin local s'est déjà occupé de cela pour vous. Cela fait en réalité partie de la configuration SSL, il peut donc être géré dans votre configuration système. En supposant que vous utilisez Linux, la méthode la plus descriptive est d'utiliser nmap, mais vous pouvez également utiliser openssl. Vous pouvez utiliser nmap avec Linux, Windows et Mac, mais nous explorerons également d'autres méthodes pour Windows et Mac si vous ne souhaitez pas installer de nouveau logiciel.
Pour faire cela avec nmap, testez les chiffrement contre un hôte HTTPS connu. Comme le but est de s'assurer que nous nous connectons à SparkPost en toute sécurité, testons cet endpoint. Assurez-vous d'exécuter les tests suivants sur les serveurs qui se connectent réellement à SparkPost.
nmap --script ssl-enum-ciphers -p 443 api.sparkpost.com
Cela a été fait sur mon propre serveur de développement et vous pouvez facilement voir que ma configuration prend en charge TLS 1.1 et 1.2 mais pas 1.3. Il est important de noter à ce stade que les ALB AWS, et donc les connexions SparkPost, ne prennent pas encore en charge TLS1.3, mais c'est sur la feuille de route AWS.
Starting Nmap 6.40 ( http://nmap.org ) at 2020-05-06 22:41 UTC Nmap scan report for api.sparkpost.com (52.13.246.255) Host is up (0.00059s latency). Other addresses for api.sparkpost.com (not scanned): 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 record for 52.13.246.255: ec2-52-13-246-255.us-west-2.compute.amazonaws.com PORT STATE SERVICE 443/tcp open https | ssl-enum-ciphers: | TLSv1.1: | ciphers: | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong | TLS_RSA_WITH_AES_128_CBC_SHA - strong | TLS_RSA_WITH_AES_256_CBC_SHA - strong | compressors: | NULL | TLSv1.2: | ciphers: | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 - strong | TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - strong | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 - strong | TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - strong | TLS_RSA_WITH_AES_128_CBC_SHA - strong | TLS_RSA_WITH_AES_128_CBC_SHA256 - strong | TLS_RSA_WITH_AES_128_GCM_SHA256 - strong | TLS_RSA_WITH_AES_256_CBC_SHA - strong | TLS_RSA_WITH_AES_256_CBC_SHA256 - strong | TLS_RSA_WITH_AES_256_GCM_SHA384 - strong | compressors: | NULL |_ least strength: strong Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds
À ce stade, vous pouvez en fait vous arrêter si vous le souhaitez car le point est de vous assurer que vous êtes capable de vous connecter à SparkPost en utilisant TLS 1.2. Si votre connexion prend en charge TLS 1.2, c'est ce dont nous avons besoin à ce stade, donc tout est bon ici. Allez acheter une bière à ce SysAdmin et dites-lui merci.
Envoyez-nous un e-mail et faites-nous savoir que vous avez réussi.
Tout d'abord, vérifions si votre sympathique SysAdmin local s'est déjà occupé de cela pour vous. Cela fait en réalité partie de la configuration SSL, il peut donc être géré dans votre configuration système. En supposant que vous utilisez Linux, la méthode la plus descriptive est d'utiliser nmap, mais vous pouvez également utiliser openssl. Vous pouvez utiliser nmap avec Linux, Windows et Mac, mais nous explorerons également d'autres méthodes pour Windows et Mac si vous ne souhaitez pas installer de nouveau logiciel.
Pour faire cela avec nmap, testez les chiffrement contre un hôte HTTPS connu. Comme le but est de s'assurer que nous nous connectons à SparkPost en toute sécurité, testons cet endpoint. Assurez-vous d'exécuter les tests suivants sur les serveurs qui se connectent réellement à SparkPost.
nmap --script ssl-enum-ciphers -p 443 api.sparkpost.com
Cela a été fait sur mon propre serveur de développement et vous pouvez facilement voir que ma configuration prend en charge TLS 1.1 et 1.2 mais pas 1.3. Il est important de noter à ce stade que les ALB AWS, et donc les connexions SparkPost, ne prennent pas encore en charge TLS1.3, mais c'est sur la feuille de route AWS.
Starting Nmap 6.40 ( http://nmap.org ) at 2020-05-06 22:41 UTC Nmap scan report for api.sparkpost.com (52.13.246.255) Host is up (0.00059s latency). Other addresses for api.sparkpost.com (not scanned): 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 record for 52.13.246.255: ec2-52-13-246-255.us-west-2.compute.amazonaws.com PORT STATE SERVICE 443/tcp open https | ssl-enum-ciphers: | TLSv1.1: | ciphers: | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong | TLS_RSA_WITH_AES_128_CBC_SHA - strong | TLS_RSA_WITH_AES_256_CBC_SHA - strong | compressors: | NULL | TLSv1.2: | ciphers: | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 - strong | TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - strong | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 - strong | TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - strong | TLS_RSA_WITH_AES_128_CBC_SHA - strong | TLS_RSA_WITH_AES_128_CBC_SHA256 - strong | TLS_RSA_WITH_AES_128_GCM_SHA256 - strong | TLS_RSA_WITH_AES_256_CBC_SHA - strong | TLS_RSA_WITH_AES_256_CBC_SHA256 - strong | TLS_RSA_WITH_AES_256_GCM_SHA384 - strong | compressors: | NULL |_ least strength: strong Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds
À ce stade, vous pouvez en fait vous arrêter si vous le souhaitez car le point est de vous assurer que vous êtes capable de vous connecter à SparkPost en utilisant TLS 1.2. Si votre connexion prend en charge TLS 1.2, c'est ce dont nous avons besoin à ce stade, donc tout est bon ici. Allez acheter une bière à ce SysAdmin et dites-lui merci.
Envoyez-nous un e-mail et faites-nous savoir que vous avez réussi.
Tout d'abord, vérifions si votre sympathique SysAdmin local s'est déjà occupé de cela pour vous. Cela fait en réalité partie de la configuration SSL, il peut donc être géré dans votre configuration système. En supposant que vous utilisez Linux, la méthode la plus descriptive est d'utiliser nmap, mais vous pouvez également utiliser openssl. Vous pouvez utiliser nmap avec Linux, Windows et Mac, mais nous explorerons également d'autres méthodes pour Windows et Mac si vous ne souhaitez pas installer de nouveau logiciel.
Pour faire cela avec nmap, testez les chiffrement contre un hôte HTTPS connu. Comme le but est de s'assurer que nous nous connectons à SparkPost en toute sécurité, testons cet endpoint. Assurez-vous d'exécuter les tests suivants sur les serveurs qui se connectent réellement à SparkPost.
nmap --script ssl-enum-ciphers -p 443 api.sparkpost.com
Cela a été fait sur mon propre serveur de développement et vous pouvez facilement voir que ma configuration prend en charge TLS 1.1 et 1.2 mais pas 1.3. Il est important de noter à ce stade que les ALB AWS, et donc les connexions SparkPost, ne prennent pas encore en charge TLS1.3, mais c'est sur la feuille de route AWS.
Starting Nmap 6.40 ( http://nmap.org ) at 2020-05-06 22:41 UTC Nmap scan report for api.sparkpost.com (52.13.246.255) Host is up (0.00059s latency). Other addresses for api.sparkpost.com (not scanned): 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 record for 52.13.246.255: ec2-52-13-246-255.us-west-2.compute.amazonaws.com PORT STATE SERVICE 443/tcp open https | ssl-enum-ciphers: | TLSv1.1: | ciphers: | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong | TLS_RSA_WITH_AES_128_CBC_SHA - strong | TLS_RSA_WITH_AES_256_CBC_SHA - strong | compressors: | NULL | TLSv1.2: | ciphers: | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 - strong | TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - strong | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 - strong | TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - strong | TLS_RSA_WITH_AES_128_CBC_SHA - strong | TLS_RSA_WITH_AES_128_CBC_SHA256 - strong | TLS_RSA_WITH_AES_128_GCM_SHA256 - strong | TLS_RSA_WITH_AES_256_CBC_SHA - strong | TLS_RSA_WITH_AES_256_CBC_SHA256 - strong | TLS_RSA_WITH_AES_256_GCM_SHA384 - strong | compressors: | NULL |_ least strength: strong Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds
À ce stade, vous pouvez en fait vous arrêter si vous le souhaitez car le point est de vous assurer que vous êtes capable de vous connecter à SparkPost en utilisant TLS 1.2. Si votre connexion prend en charge TLS 1.2, c'est ce dont nous avons besoin à ce stade, donc tout est bon ici. Allez acheter une bière à ce SysAdmin et dites-lui merci.
Envoyez-nous un e-mail et faites-nous savoir que vous avez réussi.
Vérification du support sur votre Mac
La raison la plus courante pour laquelle vous pourriez avoir besoin de vérifier le support sur votre Mac est que vous l'utilisez pour le développement local, donc supposons cela et vérifions votre support.
La méthode la moins invasive consiste à utiliser curl, qui devrait être intégré à chaque Mac. Lancez l'application Terminal et utilisez l'indicateur de protocole pour tester spécifiquement le TLS1.2.
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 Oh hey! You should come work with us and build awesome stuff
Si vous voulez tester en utilisant la connexion SMTP, vous pouvez aussi le faire avec cette commande :
openssl s_client -crlf -starttls smtp -tls1_2 -connect smtp.sparkpostmail.com:587
Retourne une grande quantité de données, y compris :
SSL-Session: Protocol : TLSv1.2 Cipher : ECDHE-RSA-AES256-GCM-SHA384
La raison la plus courante pour laquelle vous pourriez avoir besoin de vérifier le support sur votre Mac est que vous l'utilisez pour le développement local, donc supposons cela et vérifions votre support.
La méthode la moins invasive consiste à utiliser curl, qui devrait être intégré à chaque Mac. Lancez l'application Terminal et utilisez l'indicateur de protocole pour tester spécifiquement le TLS1.2.
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 Oh hey! You should come work with us and build awesome stuff
Si vous voulez tester en utilisant la connexion SMTP, vous pouvez aussi le faire avec cette commande :
openssl s_client -crlf -starttls smtp -tls1_2 -connect smtp.sparkpostmail.com:587
Retourne une grande quantité de données, y compris :
SSL-Session: Protocol : TLSv1.2 Cipher : ECDHE-RSA-AES256-GCM-SHA384
La raison la plus courante pour laquelle vous pourriez avoir besoin de vérifier le support sur votre Mac est que vous l'utilisez pour le développement local, donc supposons cela et vérifions votre support.
La méthode la moins invasive consiste à utiliser curl, qui devrait être intégré à chaque Mac. Lancez l'application Terminal et utilisez l'indicateur de protocole pour tester spécifiquement le TLS1.2.
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 Oh hey! You should come work with us and build awesome stuff
Si vous voulez tester en utilisant la connexion SMTP, vous pouvez aussi le faire avec cette commande :
openssl s_client -crlf -starttls smtp -tls1_2 -connect smtp.sparkpostmail.com:587
Retourne une grande quantité de données, y compris :
SSL-Session: Protocol : TLSv1.2 Cipher : ECDHE-RSA-AES256-GCM-SHA384
Aller un pas plus loin
Pourquoi s'arrêter à TLS 1.2 quand vous savez – vous savez juste – que nous allons tous devoir passer à TLS 1.3 dans l'année ou les prochains mois. Pourquoi ne pas simplement passer à TLSv1.3 pendant qu'on y est ?
Malheureusement, les ALB d'AWS ne supportent pas encore TLS1.3, donc si vous mettez à jour votre configuration, votre connexion à SparkPost et à tout autre service AWS utilisant la couche ALB restera limitée à TLS1.2. Personnellement, je pense toujours que c’est une bonne idée d'anticiper et de passer à 1.3 pendant que vous apportez des modifications de toute façon.
Si vous souhaitez ajouter la prise en charge de TLS 1.3, vous devrez probablement mettre à jour votre bibliothèque OpenSSL d'abord à V1.1.1 ou ultérieure, puis ajouter +TLSv1.3 à la ligne de protocole mentionnée ci-dessus. Des instructions similaires peuvent être trouvées ici pour Nginx et Cloudflare également.
Pourquoi s'arrêter à TLS 1.2 quand vous savez – vous savez juste – que nous allons tous devoir passer à TLS 1.3 dans l'année ou les prochains mois. Pourquoi ne pas simplement passer à TLSv1.3 pendant qu'on y est ?
Malheureusement, les ALB d'AWS ne supportent pas encore TLS1.3, donc si vous mettez à jour votre configuration, votre connexion à SparkPost et à tout autre service AWS utilisant la couche ALB restera limitée à TLS1.2. Personnellement, je pense toujours que c’est une bonne idée d'anticiper et de passer à 1.3 pendant que vous apportez des modifications de toute façon.
Si vous souhaitez ajouter la prise en charge de TLS 1.3, vous devrez probablement mettre à jour votre bibliothèque OpenSSL d'abord à V1.1.1 ou ultérieure, puis ajouter +TLSv1.3 à la ligne de protocole mentionnée ci-dessus. Des instructions similaires peuvent être trouvées ici pour Nginx et Cloudflare également.
Pourquoi s'arrêter à TLS 1.2 quand vous savez – vous savez juste – que nous allons tous devoir passer à TLS 1.3 dans l'année ou les prochains mois. Pourquoi ne pas simplement passer à TLSv1.3 pendant qu'on y est ?
Malheureusement, les ALB d'AWS ne supportent pas encore TLS1.3, donc si vous mettez à jour votre configuration, votre connexion à SparkPost et à tout autre service AWS utilisant la couche ALB restera limitée à TLS1.2. Personnellement, je pense toujours que c’est une bonne idée d'anticiper et de passer à 1.3 pendant que vous apportez des modifications de toute façon.
Si vous souhaitez ajouter la prise en charge de TLS 1.3, vous devrez probablement mettre à jour votre bibliothèque OpenSSL d'abord à V1.1.1 ou ultérieure, puis ajouter +TLSv1.3 à la ligne de protocole mentionnée ci-dessus. Des instructions similaires peuvent être trouvées ici pour Nginx et Cloudflare également.
Restez en sécurité dehors
Enfin, ce serait formidable si vous pouviez nous envoyer un email rapide pour nous faire savoir que vous avez vérifié que vous êtes capable de TLS 1.2. Nous ne voulons vraiment pas couper qui que ce soit et la date limite est septembre 2020. Si nous savons que vous êtes tous en zone de sécurité, nous nous sentirons beaucoup mieux d'arrêter l'ancien support.
Enfin, ce serait formidable si vous pouviez nous envoyer un email rapide pour nous faire savoir que vous avez vérifié que vous êtes capable de TLS 1.2. Nous ne voulons vraiment pas couper qui que ce soit et la date limite est septembre 2020. Si nous savons que vous êtes tous en zone de sécurité, nous nous sentirons beaucoup mieux d'arrêter l'ancien support.
Enfin, ce serait formidable si vous pouviez nous envoyer un email rapide pour nous faire savoir que vous avez vérifié que vous êtes capable de TLS 1.2. Nous ne voulons vraiment pas couper qui que ce soit et la date limite est septembre 2020. Si nous savons que vous êtes tous en zone de sécurité, nous nous sentirons beaucoup mieux d'arrêter l'ancien support.



