توضّح هذه الصفحة كيفية ضبط بروتوكول أمان طبقة النقل (TLS) 1.3 في معالِجات الرسائل في Apigee للزيارات الواردة في اتجاه الجنوب. (الزيارات بين معالج الرسائل وخادم الخلفية).
للتعرّف على مزيد من المعلومات حول ميزة TLS 1.3 في Java، يمكنك الاطّلاع على ملاحظات إصدار تحديث JDK 8u261:
يعتمد إجراء تفعيل TLS 1.3 على إصدار Java الذي تستخدمه. عرض تحقَّق من إصدار Java في معالج الرسائل أدناه للعثور على إصدار Java المثبَّت في معالج الرسائل.
إصدارات TLS v1.3 وJava
تم تقديم ميزة TLS 1.3 في الإصدارات التالية من Java:
- Oracle JDK 8u261
- برنامج OpenJDK 8u272
تتوفّر ميزة TLS v1.3 في إصدارات Java التالية، ولكن لا يتم تفعيلها تلقائيًا في أدوار العملاء:
- Oracle JDK 8u261 أو أحدث ولكن أقل من Oracle JDK 8u341
- OpenJDK 8u272 أو إصدار أحدث ولكن أقل من OpenJDK 8u352
إذا كنت تستخدم أحد هذه الإصدارات، يجب تفعيل الإصدار 1.3 من بروتوكول أمان طبقة النقل (TLS) على النحو الموضَّح. في مقالة كيفية تفعيل الإصدار 1.3 من بروتوكول أمان طبقة النقل (TLS) عند عدم تفعيله تلقائيًا.
إذا كنت تستخدم أحد الإصدارات التالية، من المفترض أن يكون الإصدار 1.3 من بروتوكول أمان طبقة النقل (TLS) قد سبق تفعيله تلقائيًا. في أدوار العملاء (يعمل معالج الرسائل كعميل بالنسبة إلى اتصالات بروتوكول أمان طبقة النقل (TLS) الواقعة في اتجاه الجنوب)، لذلك لن تحتاج إلى اتخاذ أي إجراء:
- Oracle JDK 8u341 أو إصدار أحدث
- OpenJDK 8u352 أو إصدار أحدث
لكي يعمل الإصدار 1.3 من بروتوكول أمان طبقة النقل (TLS)، يجب استيفاء جميع الشروط التالية:
- يجب أن تتوافق لغة Java المضمّنة في معالج الرسائل مع بروتوكول أمان طبقة النقل (TLS) الإصدار 1.3.
- يجب تفعيل الإصدار 1.3 من بروتوكول أمان طبقة النقل (TLS) في Java في معالج الرسائل.
- يجب تفعيل الإصدار 1.3 من بروتوكول أمان طبقة النقل (TLS) في تطبيق "معالج الرسائل".
كيفية تفعيل الإصدار 1.3 من بروتوكول أمان طبقة النقل (TLS) في Java إذا لم يكن مفعّلاً بشكل تلقائي
يوضح هذا القسم كيفية تمكين الإصدار 1.3 من بروتوكول أمان طبقة النقل (TLS) إذا كنت تستخدم أيًا مما يلي: لإصدارات Java:
- Oracle JDK 8u261 أو أحدث ولكن أقل من Oracle JDK 8u341
- OpenJDK 8u272 أو إصدار أحدث ولكن أقل من OpenJDK 8u352
في معالج الرسائل، اضبط خاصية Java على jdk.tls.client.protocols
.
يتم فصل القيم بفواصل، ويمكن أن تحتوي على واحد أو أكثر من
TLSv1
وTLSv1.1
وTLSv1.2
وTLSv1.3
و
SSLv3
على سبيل المثال، يؤدي إعداد -Djdk.tls.client.protocols=TLSv1.2,TLSv1.3
إلى تفعيل البرنامج.
البروتوكولين TLSv1.2
وTLSv1.3
.
راجع تغيير مصادر أخرى خصائص آلة متجه الدعم ستتعلم كيفية تعيين خصائص JVM في مكون Edge.
لتفعيل بروتوكولات طبقة النقل الآمنة (TLS) الإصدارات 1 و1.1 و1.2 و1.3، يمكنك اتّباع الخطوات التالية:
- ضبط الإعدادات التالية في
ملف إعداد معالج الرسائل
(
/opt/apigee/customer/application/message-processor.properties
):bin_setenv_ext_jvm_opts=-Djdk.tls.client.protocols=TLSv1,TLSv1.1,TLSv1.2,TLSv1.3
- أعِد تشغيل معالج الرسائل.
طريقة إيقاف الإصدار 1.3 من بروتوكول أمان طبقة النقل (TLS) عند تفعيله تلقائيًا
إذا كنت تستخدم Oracle JDK 8u341 أو إصدارًا أحدث، أو OpenJDK 8u352 أو إصدارًا أحدث، يتم تفعيل TLSv1.3 من خلال كخيار افتراضي للعملاء. إذا أردت إيقاف الإصدار 1.3 من بروتوكول أمان طبقة النقل (TLS) في مثل هذه الحالات، لديك خياران:
- تهيئة SSLInfo لخادمك المستهدف والتأكد من عدم ذكر TLSv1.3 في قائمة البروتوكولات. عرض عناصر ضبط نقطة نهاية هدف بروتوكول أمان طبقة النقل (TLS)/طبقة المقابس الآمنة (SSL) ملاحظة: إذا لم يتم تحديد أي بروتوكولات في إعداد الخادم الهدف، أيًا كان التي تعتمدها Java سيتم إرسالها كخيارات في تأكيد اتصال العميل.
- يمكنك إيقاف الإصدار 1.3 من بروتوكول أمان طبقة النقل (TLS) في معالج الرسائل من خلال إيقاف البروتوكول تمامًا. عرض إعداد بروتوكول أمان طبقة النقل (TLS) في "معالج الرسائل"
التحقق من إصدار Java في معالج الرسائل
للتحقق من إصدار Java المثبت في معالج الرسائل، سجّل الدخول إلى معالج الرسائل العقدة وتنفيذ الأمر التالي:
java -version
يوضح النتيجة النموذجية أدناه أنه تم تثبيت OpenJDK 8u312.
$ java -version openjdk version "1.8.0_312" OpenJDK Runtime Environment (build 1.8.0_312-b07) OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)
الرموز المتوافقة
في الوقت الحالي، تتيح Java 8 استخدام تشفير 2 TLS من الإصدار 1.3:
- TLS_AES_256_GCM_SHA384
- TLS_AES_128_GCM_SHA256
يمكنك استخدام openssl
للتحقق مما إذا كان خادمك المستهدف متوافقًا مع الإصدار 1.3 من بروتوكول أمان طبقة النقل (TLS) وأحد
التشفير أعلاه باستخدام أدناه. لاحظ أن هذا المثال يستخدم الأداة المساعدة openssl11
التي لها
تم تفعيل الإصدار 1.3 من بروتوكول أمان طبقة النقل (TLS).
$ openssl11 s_client -ciphersuites "TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256" -connect target_host:target_port -tls1_3