दक्षिण की ओर जाने वाले ट्रैफ़िक के लिए TLS 1.3 को कॉन्फ़िगर करना

इस पेज पर, Apigee मैसेज प्रोसेसर में टीएलएस 1.3 को कॉन्फ़िगर करने का तरीका बताया गया है. इससे, साउथबाउंड ट्रैफ़िक (मैसेज प्रोसेसर और बैकएंड सर्वर के बीच का ट्रैफ़िक) को मैनेज किया जा सकता है.

Java में टीएलएस 1.3 सुविधा के बारे में ज़्यादा जानने के लिए, जेडीके 8u261 अपडेट के रिलीज़ नोट देखें.

TLS 1.3 को चालू करने का तरीका, Java के उस वर्शन पर निर्भर करता है जिसका इस्तेमाल किया जा रहा है. मैसेज प्रोसेसर में इंस्टॉल किए गए Java का वर्शन देखने के लिए, नीचे दिए गए मैसेज प्रोसेसर में Java का वर्शन देखना सेक्शन पर जाएं.

TLS v1.3 और Java के वर्शन

TLS 1.3 की सुविधा, Java के इन वर्शन में उपलब्ध है:

  • Oracle JDK 8u261
  • OpenJDK 8u272

Java के इन वर्शन में, टीएलएस v1.3 की सुविधा मौजूद है. हालांकि, क्लाइंट की भूमिकाओं में यह सुविधा डिफ़ॉल्ट रूप से चालू नहीं होती:

  • Oracle JDK 8u261 या इसके बाद का वर्शन, लेकिन Oracle JDK 8u341 से पहले का वर्शन
  • OpenJDK 8u272 या इसके बाद का वर्शन, लेकिन OpenJDK 8u352 से पहले का वर्शन

अगर इनमें से किसी वर्शन का इस्तेमाल किया जा रहा है, तो आपको TLS v1.3 को चालू करना होगा. इसके लिए, डिफ़ॉल्ट रूप से चालू न होने पर, TLS v1.3 को चालू करने का तरीका लेख में बताया गया तरीका अपनाएं.

अगर इनमें से किसी वर्शन का इस्तेमाल किया जा रहा है, तो क्लाइंट की भूमिकाओं में टीएलएस वर्शन 1.3 पहले से ही डिफ़ॉल्ट रूप से चालू होना चाहिए. मैसेज प्रोसेसर, साउथबाउंड टीएलएस कनेक्शन के लिए क्लाइंट के तौर पर काम करता है. इसलिए, आपको कुछ करने की ज़रूरत नहीं है:

  • Oracle JDK 8u341 या इसके बाद का वर्शन
  • OpenJDK 8u352 या इसके बाद का वर्शन

टीएलएस v1.3 के काम करने के लिए, ये सभी शर्तें पूरी होनी चाहिए:

  • मैसेज प्रोसेसर पर मौजूद Java, टीएलएस v1.3 के साथ काम करना चाहिए.
  • मैसेज प्रोसेसर पर Java में TLS v1.3 चालू होना चाहिए.
  • मैसेज प्रोसेसर ऐप्लिकेशन में TLS v1.3 चालू होना चाहिए.

अगर Java में TLS v1.3 डिफ़ॉल्ट रूप से चालू नहीं है, तो इसे चालू करने का तरीका.

इस सेक्शन में, TLS v1.3 को चालू करने का तरीका बताया गया है. ऐसा तब किया जा सकता है, जब 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 चालू हो जाते हैं.

Edge कॉम्पोनेंट में जेवीएम प्रॉपर्टी सेट करने का तरीका जानने के लिए, अन्य जेवीएम प्रॉपर्टी बदलना देखें.

TLS v1, v1.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. मैसेज प्रोसेसर को रीस्टार्ट करें.
>

डिफ़ॉल्ट रूप से चालू होने पर, TLS v1.3 को बंद करने का तरीका

अगर Oracle JDK 8u341 या इसके बाद के वर्शन या OpenJDK 8u352 या इसके बाद के वर्शन का इस्तेमाल किया जा रहा है, तो क्लाइंट के लिए TLSv1.3 डिफ़ॉल्ट रूप से चालू होता है. अगर आपको ऐसे मामलों में टीएलएस v1.3 को बंद करना है, तो आपके पास दो विकल्प हैं:

  • अपने टारगेट सर्वर की SSLInfo को कॉन्फ़िगर करें और पक्का करें कि प्रोटोकॉल की सूची में TLSv1.3 का ज़िक्र न हो. TLS/SSL TargetEndpoint कॉन्फ़िगरेशन एलिमेंट देखें. ध्यान दें: अगर टारगेट सर्वर कॉन्फ़िगरेशन में कोई प्रोटोकॉल तय नहीं किया गया है, तो Java के साथ काम करने वाले सभी प्रोटोकॉल, क्लाइंट हैंडशेक में विकल्पों के तौर पर भेजे जाएंगे.
  • प्रोटोकॉल को पूरी तरह से बंद करके, मैसेज प्रोसेसर में TLS v1.3 को बंद करें. मैसेज प्रोसेसर पर टीएलएस प्रोटोकॉल सेट करना देखें.

मैसेज प्रोसेसर में 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 का इस्तेमाल करके, यह पता लगाया जा सकता है कि आपका टारगेट सर्वर, टीएलएस v1.3 और ऊपर दिए गए सिफ़र में से कम से कम एक के साथ काम करता है या नहीं. इसके लिए, नीचे दिया गया तरीका अपनाएं. ध्यान दें कि इस उदाहरण में openssl11 यूटिलिटी का इस्तेमाल किया गया है. इसमें टीएलएस v1.3 चालू है.

$ openssl11 s_client -ciphersuites "TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256" -connect target_host:target_port -tls1_3