ترقية إلى TLS 1.2
طائر
20/05/2020
الهندسة
1 min read

النقاط الرئيسية
تم إلغاء TLS 1.1 رسميًا. لم يعد دعم Bird (المعروفة سابقًا باسم SparkPost) الاتصالات باستخدام TLS 1.1 بعد سبتمبر 2020. يجب أن تدعم جميع الأنظمة TLS 1.2 أو أعلى للحفاظ على الاتصال الآمن.
لماذا يهم التحديث: كانت TLS 1.2 هي البروتوكول الموصى به لأكثر من عقد من الزمان. إنها تقدم تشفيرًا أقوى وأداءً أفضل، وامتثالًا لمعايير الأمان الحديثة، بينما الإصدارات الأقدم معرضة للهجمات.
كيف تتحقق من نظامك:
لينكس: استخدم nmap --script ssl-enum-ciphers -p 443 api.sparkpost.com أو openssl للتحقق من دعم البروتوكول.
macOS: قم بتشغيل curl https://api.sparkpost.com/ --tlsv1.2 --verbose في Terminal.
ويندوز: انتقل إلى خيارات الإنترنت → متقدمة وتأكد من تحديد “استخدام TLS 1.2”.
كيف يمكن تفعيل TLS 1.2:
على Apache، قم بتحديث إعداد SSL: SSLProtocol -all +TLSv1.2
على Nginx، عدل ssl_protocols TLSv1.2; وأعد تشغيل خدمتك.
لماذا لا TLS 1.3 (حتى الآن)؟ على الرغم من أن TLS 1.3 هو الخطوة التالية إلى الأمام، إلا أن AWS Application Load Balancers (التي تستخدمها SparkPost/Bird) لم تدعمه بعد في ذلك الوقت. ومع ذلك، فإن ترقية OpenSSL إلى v1.1.1+ تعدك لانتقال مستقبلي سهل.
الاعتراف الحذر بالأمان. شجعت Bird المتبنين الأوائل على مشاركة نجاح ترقيةهم والانضمام إلى “حيطان روعتهم” - احتفالًا بالتوافق النشط مع الأمان.
أهم النقاط في الأسئلة والأجوبة
لماذا يُطلب استخدام TLS 1.2؟
لأن الإصدارات السابقة (1.0 و 1.1) غير آمنة وتم إلغاء دعمها من قبل IETF. يوفر TLS 1.2 تشفيرًا أقوى وحماية من السلامة لواجهات برمجة التطبيقات و اتصالات SMTP.
من يتأثر بهذا؟
أي عميل يتصل بـ Bird (عبر واجهة برمجة تطبيقات REST أو SMTP أو نقاط نهاية الويب أو مقاييس البيانات) باستخدام إصدار TLS قديم.
كيف يمكنني اختبار اتصالي؟
قم بتشغيل أحد أوامر التحقق لنظام التشغيل الخاص بك (Linux أو macOS أو Windows). إذا كانت النتيجة تظهر مصافحة ناجحة لـ TLSv1.2، فإن اتصالك متوافق.
ماذا يحدث إذا لم أحدث؟
ستفشل اتصالاتك بمجرد تعطيل TLS 1.1. ستفقد القدرة على إرسال الرسائل أو الوصول إلى واجهات برمجة التطبيقات حتى يدعم نظامك TLS 1.2.
هل يمكنني تفعيل TLS 1.3 الآن؟
يمكنك ذلك، لكن قد لا تدعمه AWS ALBs بعد. إن تحديث OpenSSL إلى v1.1.1+ يضمن التوافق عند توفر TLS 1.3.
هل أحتاج إلى تغيير أي شيء إذا كنت أستخدم طائرًا من خلال مكتبة أو SDK؟
تقوم معظم SDKs الحديثة بالفعل بالإعداد الافتراضي على TLS 1.2. ومع ذلك، تحقق من تكوين SSL لبيئتك أو إصدار المكتبة إذا كان أقدم من منتصف عام 2018.
هل هناك طريقة لتأكيد النجاح؟
نعم — بعد اختبار اتصالك، دعت بيرد المستخدمين إلى إرسال تأكيد عبر البريد الإلكتروني إلى فريق الدعم الخاص بهم، للتحقق من الجاهزية قبل تاريخ الإنهاء.
هل تستخدم TLS أقدم من 1.2؟ لا بأس، تأخيرات تحديث الصيانة تحدث للجميع. نحن نتفهم ذلك. ومع ذلك، حان الوقت للمضي قدمًا.
تذكر عندما أوقفنا استخدام TLS 1.0 في يونيو 2018؟ إذا لم تتذكر، لا بأس، يمكنك قراءة كل شيء عنه في هذه المقالة. حسنًا، ها نحن هنا، بعد عامين والنسخة التالية على وشك التوقف، لذا نريدك أن تكون مستعدًا لتجنب أي انقطاع في الخدمة. تتعلق هذه المقالة بكيفية استعدادك للعمل بدون استخدام TLS1.1 حتى نتمكن من تقييد الوصول لـ TLS1.2 فقط. سنساعدك في كيفية التحقق من إصدارك الحالي وكيفية الترقية إلى الأحدث. لمزيد من المتعة، نود حقًا سماع آرائك وإضافتك إلى "جدار الروعة" الذي يضم جميع تلك الشركات الواعقة أمنيًا التي قامت بهذا التغيير مبكرًا.
هل تستخدم TLS أقدم من 1.2؟ لا بأس، تأخيرات تحديث الصيانة تحدث للجميع. نحن نتفهم ذلك. ومع ذلك، حان الوقت للمضي قدمًا.
تذكر عندما أوقفنا استخدام TLS 1.0 في يونيو 2018؟ إذا لم تتذكر، لا بأس، يمكنك قراءة كل شيء عنه في هذه المقالة. حسنًا، ها نحن هنا، بعد عامين والنسخة التالية على وشك التوقف، لذا نريدك أن تكون مستعدًا لتجنب أي انقطاع في الخدمة. تتعلق هذه المقالة بكيفية استعدادك للعمل بدون استخدام TLS1.1 حتى نتمكن من تقييد الوصول لـ TLS1.2 فقط. سنساعدك في كيفية التحقق من إصدارك الحالي وكيفية الترقية إلى الأحدث. لمزيد من المتعة، نود حقًا سماع آرائك وإضافتك إلى "جدار الروعة" الذي يضم جميع تلك الشركات الواعقة أمنيًا التي قامت بهذا التغيير مبكرًا.
هل تستخدم TLS أقدم من 1.2؟ لا بأس، تأخيرات تحديث الصيانة تحدث للجميع. نحن نتفهم ذلك. ومع ذلك، حان الوقت للمضي قدمًا.
تذكر عندما أوقفنا استخدام TLS 1.0 في يونيو 2018؟ إذا لم تتذكر، لا بأس، يمكنك قراءة كل شيء عنه في هذه المقالة. حسنًا، ها نحن هنا، بعد عامين والنسخة التالية على وشك التوقف، لذا نريدك أن تكون مستعدًا لتجنب أي انقطاع في الخدمة. تتعلق هذه المقالة بكيفية استعدادك للعمل بدون استخدام TLS1.1 حتى نتمكن من تقييد الوصول لـ TLS1.2 فقط. سنساعدك في كيفية التحقق من إصدارك الحالي وكيفية الترقية إلى الأحدث. لمزيد من المتعة، نود حقًا سماع آرائك وإضافتك إلى "جدار الروعة" الذي يضم جميع تلك الشركات الواعقة أمنيًا التي قامت بهذا التغيير مبكرًا.
التحقق من الدعم في ويندوز
بالنسبة للحالة المماثلة لاستخدام جهاز ماك، فإن السبب الأكثر شيوعًا الذي قد يجعلك تحتاج للتحقق من الدعم في نظام الويندوز لديك هو أنك تستخدمه للتطوير المحلي، فلنفترض ذلك ولنتحقق من الدعم لديك.
تستخدم أنظمة ويندوز 7 وويندوز 10 بشكل أساسي نفس العملية. إذا كنت تستخدم شيئًا أقدم، يرجى الترقية حيث أن الإصدارات السابقة لا تدعم TLS 1.2.
ابدأ بالنقر على زر البدء في الزاوية السفلية اليسرى (عادة).
اكتب
بالنسبة للحالة المماثلة لاستخدام جهاز ماك، فإن السبب الأكثر شيوعًا الذي قد يجعلك تحتاج للتحقق من الدعم في نظام الويندوز لديك هو أنك تستخدمه للتطوير المحلي، فلنفترض ذلك ولنتحقق من الدعم لديك.
تستخدم أنظمة ويندوز 7 وويندوز 10 بشكل أساسي نفس العملية. إذا كنت تستخدم شيئًا أقدم، يرجى الترقية حيث أن الإصدارات السابقة لا تدعم TLS 1.2.
ابدأ بالنقر على زر البدء في الزاوية السفلية اليسرى (عادة).
اكتب
بالنسبة للحالة المماثلة لاستخدام جهاز ماك، فإن السبب الأكثر شيوعًا الذي قد يجعلك تحتاج للتحقق من الدعم في نظام الويندوز لديك هو أنك تستخدمه للتطوير المحلي، فلنفترض ذلك ولنتحقق من الدعم لديك.
تستخدم أنظمة ويندوز 7 وويندوز 10 بشكل أساسي نفس العملية. إذا كنت تستخدم شيئًا أقدم، يرجى الترقية حيث أن الإصدارات السابقة لا تدعم TLS 1.2.
ابدأ بالنقر على زر البدء في الزاوية السفلية اليسرى (عادة).
اكتب
هل يؤثر هذا عليّ؟
في عام 2018 طلبنا من عملائنا الترقية، وكان TLS 1.2 هو التوصية لفترة طويلة جدًا، لذا من المحتمل جدًا أنك لست متأثرًا. ومع ذلك، إذا كنت تستخدم أي طريقة لإدخال رسائل (SMTP أو REST API) أو جمع البيانات (المقاييس أو الويب هوكس، إلخ)، فعليك حقًا التحقق الآن للتأكد من أن نظامك يمكنه دعم TLS 1.2. تأكد من إجراء الاختبارات التالية على الخوادم التي تتصل فعليًا بـ SparkPost.
في عام 2018 طلبنا من عملائنا الترقية، وكان TLS 1.2 هو التوصية لفترة طويلة جدًا، لذا من المحتمل جدًا أنك لست متأثرًا. ومع ذلك، إذا كنت تستخدم أي طريقة لإدخال رسائل (SMTP أو REST API) أو جمع البيانات (المقاييس أو الويب هوكس، إلخ)، فعليك حقًا التحقق الآن للتأكد من أن نظامك يمكنه دعم TLS 1.2. تأكد من إجراء الاختبارات التالية على الخوادم التي تتصل فعليًا بـ SparkPost.
في عام 2018 طلبنا من عملائنا الترقية، وكان TLS 1.2 هو التوصية لفترة طويلة جدًا، لذا من المحتمل جدًا أنك لست متأثرًا. ومع ذلك، إذا كنت تستخدم أي طريقة لإدخال رسائل (SMTP أو REST API) أو جمع البيانات (المقاييس أو الويب هوكس، إلخ)، فعليك حقًا التحقق الآن للتأكد من أن نظامك يمكنه دعم TLS 1.2. تأكد من إجراء الاختبارات التالية على الخوادم التي تتصل فعليًا بـ SparkPost.
لماذا هو مهم
لماذا يعد الترقية إلى TLS 1.2 مهمة
لماذا يعد الترقية إلى TLS 1.2 مهمة | التفاصيل |
|---|---|
دعم TLS 1.1 سينتهي | لن تقبل SparkPost اتصالات TLS 1.1 بعد سبتمبر 2020 |
الإصدارات القديمة غير آمنة | بروتوكولات TLS القديمة عرضة لأساليب الهجوم الحديثة |
امتثال قياسي للصناعة | TLS 1.2 هو البروتوكول الآمن الموصى به منذ سنوات |
أداء وموثوقية أفضل | اتصالات مشفرة أسرع وأكثر استقرارًا |
منسوخ رسميًا | تعتبر معايير IETF TLS 1.1 قديمة |
لماذا يعد الترقية إلى TLS 1.2 مهمة
لماذا يعد الترقية إلى TLS 1.2 مهمة | التفاصيل |
|---|---|
دعم TLS 1.1 سينتهي | لن تقبل SparkPost اتصالات TLS 1.1 بعد سبتمبر 2020 |
الإصدارات القديمة غير آمنة | بروتوكولات TLS القديمة عرضة لأساليب الهجوم الحديثة |
امتثال قياسي للصناعة | TLS 1.2 هو البروتوكول الآمن الموصى به منذ سنوات |
أداء وموثوقية أفضل | اتصالات مشفرة أسرع وأكثر استقرارًا |
منسوخ رسميًا | تعتبر معايير IETF TLS 1.1 قديمة |
لماذا يعد الترقية إلى TLS 1.2 مهمة
لماذا يعد الترقية إلى TLS 1.2 مهمة | التفاصيل |
|---|---|
دعم TLS 1.1 سينتهي | لن تقبل SparkPost اتصالات TLS 1.1 بعد سبتمبر 2020 |
الإصدارات القديمة غير آمنة | بروتوكولات TLS القديمة عرضة لأساليب الهجوم الحديثة |
امتثال قياسي للصناعة | TLS 1.2 هو البروتوكول الآمن الموصى به منذ سنوات |
أداء وموثوقية أفضل | اتصالات مشفرة أسرع وأكثر استقرارًا |
منسوخ رسميًا | تعتبر معايير IETF TLS 1.1 قديمة |
لماذا الآن؟
في الواقع، يجب أن يكون السؤال هو “لماذا لا تزال تدعمه؟” لقد كانت TLS 1.2 هي المعايير الأمنية الموصى بها لأكثر من عقد من الزمن ونحن في اللحظة الأخيرة بشأن أي دعم يقدمه أي شخص على الإطلاق لأي شيء أقل من TLS1.2. حان الوقت لت موت دعم HTTPS الضعيف مرة واحدة وإلى الأبد. إذا كنت لا تزال تستخدم TLS 1.1 بعد مارس 2020، فسوف تجد صعوبة في الاتصال بمعظم الخدمات. لقد قدمت SparkPost فترة كافية للحصول على هذا التحديث والآن نحن نرسل إشعارات نهائية للترقية قبل سبتمبر عندما نوقفه للأبد.
في الواقع، يجب أن يكون السؤال هو “لماذا لا تزال تدعمه؟” لقد كانت TLS 1.2 هي المعايير الأمنية الموصى بها لأكثر من عقد من الزمن ونحن في اللحظة الأخيرة بشأن أي دعم يقدمه أي شخص على الإطلاق لأي شيء أقل من TLS1.2. حان الوقت لت موت دعم HTTPS الضعيف مرة واحدة وإلى الأبد. إذا كنت لا تزال تستخدم TLS 1.1 بعد مارس 2020، فسوف تجد صعوبة في الاتصال بمعظم الخدمات. لقد قدمت SparkPost فترة كافية للحصول على هذا التحديث والآن نحن نرسل إشعارات نهائية للترقية قبل سبتمبر عندما نوقفه للأبد.
في الواقع، يجب أن يكون السؤال هو “لماذا لا تزال تدعمه؟” لقد كانت TLS 1.2 هي المعايير الأمنية الموصى بها لأكثر من عقد من الزمن ونحن في اللحظة الأخيرة بشأن أي دعم يقدمه أي شخص على الإطلاق لأي شيء أقل من TLS1.2. حان الوقت لت موت دعم HTTPS الضعيف مرة واحدة وإلى الأبد. إذا كنت لا تزال تستخدم TLS 1.1 بعد مارس 2020، فسوف تجد صعوبة في الاتصال بمعظم الخدمات. لقد قدمت SparkPost فترة كافية للحصول على هذا التحديث والآن نحن نرسل إشعارات نهائية للترقية قبل سبتمبر عندما نوقفه للأبد.
لكن كيف، أرجوك، يمكنك إصلاحه؟
من المحتمل جداً أن يكون مسؤول تكنولوجيا المعلومات أو مسؤول الشبكة لديك قد قام بذلك بالفعل كجزء من صيانة التشغيل العادية الخاصة بهم. إذا كان الأمر كذلك، يجب عليك شراء بيرة لهم وقول شكرًا. إذا لم يكن الأمر كذلك، يمكنك اتباع بعض الخطوات أدناه لإنجاز ذلك في نظام لينكس، ويندوز، وماك.
لاحظ أنه طوال هذا المستند سنجري اختبارًا مع نقطة النهاية الخاصة بـ SparkPost في الولايات المتحدة
إذا كنت عادةً تستخدم النشر الأوروبي، فيجب عليك استخدام نقطة النهاية الخاصة بالاتحاد الأوروبي بدلاً من ذلك.
من المحتمل جداً أن يكون مسؤول تكنولوجيا المعلومات أو مسؤول الشبكة لديك قد قام بذلك بالفعل كجزء من صيانة التشغيل العادية الخاصة بهم. إذا كان الأمر كذلك، يجب عليك شراء بيرة لهم وقول شكرًا. إذا لم يكن الأمر كذلك، يمكنك اتباع بعض الخطوات أدناه لإنجاز ذلك في نظام لينكس، ويندوز، وماك.
لاحظ أنه طوال هذا المستند سنجري اختبارًا مع نقطة النهاية الخاصة بـ SparkPost في الولايات المتحدة
إذا كنت عادةً تستخدم النشر الأوروبي، فيجب عليك استخدام نقطة النهاية الخاصة بالاتحاد الأوروبي بدلاً من ذلك.
من المحتمل جداً أن يكون مسؤول تكنولوجيا المعلومات أو مسؤول الشبكة لديك قد قام بذلك بالفعل كجزء من صيانة التشغيل العادية الخاصة بهم. إذا كان الأمر كذلك، يجب عليك شراء بيرة لهم وقول شكرًا. إذا لم يكن الأمر كذلك، يمكنك اتباع بعض الخطوات أدناه لإنجاز ذلك في نظام لينكس، ويندوز، وماك.
لاحظ أنه طوال هذا المستند سنجري اختبارًا مع نقطة النهاية الخاصة بـ SparkPost في الولايات المتحدة
إذا كنت عادةً تستخدم النشر الأوروبي، فيجب عليك استخدام نقطة النهاية الخاصة بالاتحاد الأوروبي بدلاً من ذلك.
كيف يمكنك التحقق؟ (إصدار لينكس)
أولاً، دعنا نتحقق مما إذا كان مدير النظام الودود في منطقتك قد اعتنى بذلك بالفعل نيابةً عنك. في الواقع، هذه جزء من تكوين SSL بحيث يمكن إدارتها في تكوين نظامك. بافتراض أنك تستخدم نظام Linux، فإن الطريقة الأكثر وصفية هي استخدام nmap ولكن يمكنك استخدام openssl أيضاً. يمكنك استخدام nmap مع نظامي Linux وWindows وMac، ولكننا سوف نستكشف طرقاً أخرى لنظامي Windows وMac أيضاً إذا لم ترغب في تثبيت برامج جديدة.
للقيام بذلك باستخدام nmap، اختبر التشفيرات ضد مضيف HTTPS المعروف. حيث أن الهدف هو التأكد من أننا نتصل بـ SparkPost بشكل آمن، دعنا نجرب الاتصال بتلك النقطة النهائية. تأكد من أنك تجري الاختبارات التالية على الخوادم التي تتصل فعليًا بـ SparkPost.
nmap --script ssl-enum-ciphers -p 443 api.sparkpost.com
تم ذلك على خادم التطوير الخاص بي، ويمكنك بسهولة رؤية أن تكوينتي تدعم TLS 1.1 و1.2 ولكن ليس 1.3. من المهم الإشارة في هذه المرحلة إلى أن AWS ALBs، وبالتالي اتصالات SparkPost، لا تدعم حتى الآن TLS 1.3، ولكنها موجودة في خارطة طريق 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
في هذه المرحلة، يمكنك التوقف إذا أردت لأن الهدف هو التأكد من أنك قادر على الاتصال بـ SparkPost باستخدام TLS 1.2. إذا كانت اتصالاتك تدعم TLS 1.2، فهذا هو ما نحتاجه في هذه المرحلة، لذا نحن بخير هنا. اذهب واشتري لهذا المسؤول شارة وقل له شكراً.
أرسل لنا بريدًا إلكترونيًا ليخبرنا أنك نجحت في الأمر.
أولاً، دعنا نتحقق مما إذا كان مدير النظام الودود في منطقتك قد اعتنى بذلك بالفعل نيابةً عنك. في الواقع، هذه جزء من تكوين SSL بحيث يمكن إدارتها في تكوين نظامك. بافتراض أنك تستخدم نظام Linux، فإن الطريقة الأكثر وصفية هي استخدام nmap ولكن يمكنك استخدام openssl أيضاً. يمكنك استخدام nmap مع نظامي Linux وWindows وMac، ولكننا سوف نستكشف طرقاً أخرى لنظامي Windows وMac أيضاً إذا لم ترغب في تثبيت برامج جديدة.
للقيام بذلك باستخدام nmap، اختبر التشفيرات ضد مضيف HTTPS المعروف. حيث أن الهدف هو التأكد من أننا نتصل بـ SparkPost بشكل آمن، دعنا نجرب الاتصال بتلك النقطة النهائية. تأكد من أنك تجري الاختبارات التالية على الخوادم التي تتصل فعليًا بـ SparkPost.
nmap --script ssl-enum-ciphers -p 443 api.sparkpost.com
تم ذلك على خادم التطوير الخاص بي، ويمكنك بسهولة رؤية أن تكوينتي تدعم TLS 1.1 و1.2 ولكن ليس 1.3. من المهم الإشارة في هذه المرحلة إلى أن AWS ALBs، وبالتالي اتصالات SparkPost، لا تدعم حتى الآن TLS 1.3، ولكنها موجودة في خارطة طريق 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
في هذه المرحلة، يمكنك التوقف إذا أردت لأن الهدف هو التأكد من أنك قادر على الاتصال بـ SparkPost باستخدام TLS 1.2. إذا كانت اتصالاتك تدعم TLS 1.2، فهذا هو ما نحتاجه في هذه المرحلة، لذا نحن بخير هنا. اذهب واشتري لهذا المسؤول شارة وقل له شكراً.
أرسل لنا بريدًا إلكترونيًا ليخبرنا أنك نجحت في الأمر.
أولاً، دعنا نتحقق مما إذا كان مدير النظام الودود في منطقتك قد اعتنى بذلك بالفعل نيابةً عنك. في الواقع، هذه جزء من تكوين SSL بحيث يمكن إدارتها في تكوين نظامك. بافتراض أنك تستخدم نظام Linux، فإن الطريقة الأكثر وصفية هي استخدام nmap ولكن يمكنك استخدام openssl أيضاً. يمكنك استخدام nmap مع نظامي Linux وWindows وMac، ولكننا سوف نستكشف طرقاً أخرى لنظامي Windows وMac أيضاً إذا لم ترغب في تثبيت برامج جديدة.
للقيام بذلك باستخدام nmap، اختبر التشفيرات ضد مضيف HTTPS المعروف. حيث أن الهدف هو التأكد من أننا نتصل بـ SparkPost بشكل آمن، دعنا نجرب الاتصال بتلك النقطة النهائية. تأكد من أنك تجري الاختبارات التالية على الخوادم التي تتصل فعليًا بـ SparkPost.
nmap --script ssl-enum-ciphers -p 443 api.sparkpost.com
تم ذلك على خادم التطوير الخاص بي، ويمكنك بسهولة رؤية أن تكوينتي تدعم TLS 1.1 و1.2 ولكن ليس 1.3. من المهم الإشارة في هذه المرحلة إلى أن AWS ALBs، وبالتالي اتصالات SparkPost، لا تدعم حتى الآن TLS 1.3، ولكنها موجودة في خارطة طريق 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
في هذه المرحلة، يمكنك التوقف إذا أردت لأن الهدف هو التأكد من أنك قادر على الاتصال بـ SparkPost باستخدام TLS 1.2. إذا كانت اتصالاتك تدعم TLS 1.2، فهذا هو ما نحتاجه في هذه المرحلة، لذا نحن بخير هنا. اذهب واشتري لهذا المسؤول شارة وقل له شكراً.
أرسل لنا بريدًا إلكترونيًا ليخبرنا أنك نجحت في الأمر.
التحقق من الدعم على جهاز Mac الخاص بك
السبب الأكثر شيوعًا الذي قد يجعلك بحاجة إلى التحقق من الدعم على جهاز Mac الخاص بك هو أنك تستخدمه للتطوير المحلي، لذا لنفترض ذلك ونتحقق من دعمك.
أقل الطرق تدخلاً هي استخدام curl والتي يجب أن تكون مدمجة في كل جهاز Mac. قم بتشغيل تطبيق Terminal واستخدم علامة البروتوكول للاختبار بشكل محدد لـ 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
إذا كنت ترغب في الاختبار باستخدام اتصال SMTP، يمكنك أيضًا القيام بذلك باستخدام هذا الأمر:
openssl s_client -crlf -starttls smtp -tls1_2 -connect smtp.sparkpostmail.com:587
يعيد كمية كبيرة من البيانات بما في ذلك:
SSL-Session: Protocol : TLSv1.2 Cipher : ECDHE-RSA-AES256-GCM-SHA384
السبب الأكثر شيوعًا الذي قد يجعلك بحاجة إلى التحقق من الدعم على جهاز Mac الخاص بك هو أنك تستخدمه للتطوير المحلي، لذا لنفترض ذلك ونتحقق من دعمك.
أقل الطرق تدخلاً هي استخدام curl والتي يجب أن تكون مدمجة في كل جهاز Mac. قم بتشغيل تطبيق Terminal واستخدم علامة البروتوكول للاختبار بشكل محدد لـ 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
إذا كنت ترغب في الاختبار باستخدام اتصال SMTP، يمكنك أيضًا القيام بذلك باستخدام هذا الأمر:
openssl s_client -crlf -starttls smtp -tls1_2 -connect smtp.sparkpostmail.com:587
يعيد كمية كبيرة من البيانات بما في ذلك:
SSL-Session: Protocol : TLSv1.2 Cipher : ECDHE-RSA-AES256-GCM-SHA384
السبب الأكثر شيوعًا الذي قد يجعلك بحاجة إلى التحقق من الدعم على جهاز Mac الخاص بك هو أنك تستخدمه للتطوير المحلي، لذا لنفترض ذلك ونتحقق من دعمك.
أقل الطرق تدخلاً هي استخدام curl والتي يجب أن تكون مدمجة في كل جهاز Mac. قم بتشغيل تطبيق Terminal واستخدم علامة البروتوكول للاختبار بشكل محدد لـ 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
إذا كنت ترغب في الاختبار باستخدام اتصال SMTP، يمكنك أيضًا القيام بذلك باستخدام هذا الأمر:
openssl s_client -crlf -starttls smtp -tls1_2 -connect smtp.sparkpostmail.com:587
يعيد كمية كبيرة من البيانات بما في ذلك:
SSL-Session: Protocol : TLSv1.2 Cipher : ECDHE-RSA-AES256-GCM-SHA384
الذهاب خطوة إلى الأمام
لماذا نتوقف عند TLS 1.2 عندما تعرف – أنك تعرف فقط – أننا جميعًا سنحتاج إلى الترقية إلى TLS 1.3 في السنة القادمة أو نحو ذلك. لماذا لا نترقى مباشرة إلى TLSv1.3 بينما نحن في الأمر؟
للأسف، لا تدعم AWS ALBs حتى الآن TLS1.3، لذا إذا قمت بترقية الإعدادات الخاصة بك، ستبقى اتصالك بـ SparkPost وأي خدمة AWS أخرى تستخدم طبقة ALB محدودًا بـ TLS1.2. شخصيًا، لا زلت أعتقد أنه فكرة جيدة أن نتقدم على المنحنى ونترقى إلى 1.3 بينما تقوم بإجراء التغييرات على أي حال.
إذا كنت ترغب في إضافة دعم TLS 1.3، فربما يتعين عليك تحديث مكتبة OpenSSL الخاصة بك أولاً إلى V1.1.1 أو لاحقًا ومن ثم إضافة +TLSv1.3 إلى خط البروتوكول المذكور أعلاه. يمكن العثور على تعليمات مشابهة هنا لـ Nginx و Cloudflare أيضًا.
لماذا نتوقف عند TLS 1.2 عندما تعرف – أنك تعرف فقط – أننا جميعًا سنحتاج إلى الترقية إلى TLS 1.3 في السنة القادمة أو نحو ذلك. لماذا لا نترقى مباشرة إلى TLSv1.3 بينما نحن في الأمر؟
للأسف، لا تدعم AWS ALBs حتى الآن TLS1.3، لذا إذا قمت بترقية الإعدادات الخاصة بك، ستبقى اتصالك بـ SparkPost وأي خدمة AWS أخرى تستخدم طبقة ALB محدودًا بـ TLS1.2. شخصيًا، لا زلت أعتقد أنه فكرة جيدة أن نتقدم على المنحنى ونترقى إلى 1.3 بينما تقوم بإجراء التغييرات على أي حال.
إذا كنت ترغب في إضافة دعم TLS 1.3، فربما يتعين عليك تحديث مكتبة OpenSSL الخاصة بك أولاً إلى V1.1.1 أو لاحقًا ومن ثم إضافة +TLSv1.3 إلى خط البروتوكول المذكور أعلاه. يمكن العثور على تعليمات مشابهة هنا لـ Nginx و Cloudflare أيضًا.
لماذا نتوقف عند TLS 1.2 عندما تعرف – أنك تعرف فقط – أننا جميعًا سنحتاج إلى الترقية إلى TLS 1.3 في السنة القادمة أو نحو ذلك. لماذا لا نترقى مباشرة إلى TLSv1.3 بينما نحن في الأمر؟
للأسف، لا تدعم AWS ALBs حتى الآن TLS1.3، لذا إذا قمت بترقية الإعدادات الخاصة بك، ستبقى اتصالك بـ SparkPost وأي خدمة AWS أخرى تستخدم طبقة ALB محدودًا بـ TLS1.2. شخصيًا، لا زلت أعتقد أنه فكرة جيدة أن نتقدم على المنحنى ونترقى إلى 1.3 بينما تقوم بإجراء التغييرات على أي حال.
إذا كنت ترغب في إضافة دعم TLS 1.3، فربما يتعين عليك تحديث مكتبة OpenSSL الخاصة بك أولاً إلى V1.1.1 أو لاحقًا ومن ثم إضافة +TLSv1.3 إلى خط البروتوكول المذكور أعلاه. يمكن العثور على تعليمات مشابهة هنا لـ Nginx و Cloudflare أيضًا.
ابق آمناً هناك
أخيرًا، سيكون من الرائع إذا كان بإمكانك إرسال بريد إلكتروني سريع لنا لإعلامنا أنك قد تحققت من أنك قادر على TLS 1.2. لا نريد فعلاً قطع أي شخص، وتاريخ الإنهاء هو سبتمبر 2020. إذا كنا نعلم أنك في المنطقة الآمنة، سنشعر بشكل أفضل بكثير بشأن إيقاف الدعم القديم.
أخيرًا، سيكون من الرائع إذا كان بإمكانك إرسال بريد إلكتروني سريع لنا لإعلامنا أنك قد تحققت من أنك قادر على TLS 1.2. لا نريد فعلاً قطع أي شخص، وتاريخ الإنهاء هو سبتمبر 2020. إذا كنا نعلم أنك في المنطقة الآمنة، سنشعر بشكل أفضل بكثير بشأن إيقاف الدعم القديم.
أخيرًا، سيكون من الرائع إذا كان بإمكانك إرسال بريد إلكتروني سريع لنا لإعلامنا أنك قد تحققت من أنك قادر على TLS 1.2. لا نريد فعلاً قطع أي شخص، وتاريخ الإنهاء هو سبتمبر 2020. إذا كنا نعلم أنك في المنطقة الآمنة، سنشعر بشكل أفضل بكثير بشأن إيقاف الدعم القديم.



