تهيئة الإصدار 1.3 من بروتوكول أمان طبقة النقل (TLS) لحركة المرور المتجهة جنوبًا

تشرح هذه الصفحة كيفية تكوين TLS 1.3 في معالِجات رسائل Apigee لحركة المرور المتجهة جنوبًا (حركة المرور بين معالج الرسائل وخادم الخلفية).

للتعرّف على مزيد من المعلومات عن ميزة TLS 1.3 في Java، يمكنك الاطّلاع على ملاحظات الإصدار الخاصة بتحديث JDK 8u261.

يعتمد إجراء تفعيل الإصدار 1.3 من بروتوكول أمان طبقة النقل (TLS) على إصدار جافا الذي تستخدمه. راجع تحقق من إصدار Java في معالج الرسائل أدناه لمعرفة إصدار Java المثبّت في معالج الرسائل.

الإصدار 1.3 من بروتوكول أمان طبقة النقل (TLS) وإصدارات جافا

تم تقديم ميزة TLS 1.3 في الإصدارات التالية من Java:

  • Oracle JDK 8u261
  • OpenJDK 8u272

في إصدارات JavaScript التالية، تتوفّر ميزة TLS v1.3 ولكن لا يتم تفعيلها تلقائيًا في أدوار العميل:

  • Oracle JDK 8u261 أو إصدار أحدث ولكن أقل من Oracle JDK 8u341
  • OpenJDK 8u272 أو إصدار أحدث ولكن أقل من OpenJDK 8u352

إذا كنت تستخدم أحد هذه الإصدارات، عليك تفعيل الإصدار 1.3 من بروتوكول أمان طبقة النقل (TLS)، كما هو موضّح في كيفية تفعيل الإصدار 1.3 من بروتوكول أمان طبقة النقل عند عدم تفعيله تلقائيًا.

إذا كنت تستخدم أحد الإصدارات التالية، من المفترض أن يتم تفعيل الإصدار 1.3 من بروتوكول أمان طبقة النقل بشكل تلقائي في أدوار العميل (يعمل "معالج الرسائل" كعميل لاتصالات بروتوكول أمان طبقة النقل (TLS) ذات الاتجاه الجنوبي)، لذا لن تحتاج إلى اتخاذ أي إجراء:

  • Oracle JDK 8u341 أو إصدار أحدث
  • OpenJDK 8u352 أو إصدار أحدث

لكي يعمل الإصدار 1.3 من بروتوكول أمان طبقة النقل (TLS)، يجب استيفاء جميع الشروط التالية:

  • يجب أن تتوافق لغة Java الأساسية على "معالج الرسائل" مع الإصدار 1.3 من بروتوكول أمان طبقة النقل (TLS).
  • يجب تفعيل الإصدار 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 الأخرى للتعرّف على كيفية ضبط خصائص JVM في مكوّن Edge.

لتفعيل بروتوكول TLS، مثل v1 و1.1 وv1.2 وv1.3:

  1. اضبط الإعدادات التالية في ملف إعداد معالج الرسائل (/opt/apigee/customer/application/message-processor.properties):
       bin_setenv_ext_jvm_opts=-Djdk.tls.client.protocols=TLSv1,TLSv1.1,TLSv1.2,TLSv1.3
    .
  2. أعِد تشغيل معالج الرسائل.
>

كيفية إيقاف الإصدار 1.3 من بروتوكول أمان طبقة النقل (TLS) عند تفعيله تلقائيًا

إذا كنت تستخدم Oracle JDK 8u341 أو إصدارًا أحدث، أو OpenJDK 8u352 أو إصدارًا أحدث، سيتم تفعيل TLSv1.3 تلقائيًا للبرامج. إذا كنت ترغب في إيقاف الإصدار 1.3 من بروتوكول أمان طبقة النقل (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 رمزين من تشفير TLS v1.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