मैनेजमेंट एपीआई के लिए TLS कॉन्फ़िगर करना

डिफ़ॉल्ट रूप से, मैनेजमेंट एपीआई के लिए टीएलएस बंद होता है. साथ ही, मैनेजमेंट सर्वर नोड के आईपी पते और पोर्ट 8080 का इस्तेमाल करके, एचटीटीपी पर Edge मैनेजमेंट एपीआई को ऐक्सेस किया जाता है. उदाहरण के लिए:

http://ms_IP:8080

इसके अलावा, मैनेजमेंट एपीआई के लिए टीएलएस ऐक्सेस कॉन्फ़िगर किया जा सकता है, ताकि इसे इस फ़ॉर्म में ऐक्सेस किया जा सके:

https://ms_IP:8443

इस उदाहरण में, पोर्ट 8443 का इस्तेमाल करने के लिए टीएलएस ऐक्सेस को कॉन्फ़िगर किया गया है. हालांकि, Edge के लिए उस पोर्ट नंबर की ज़रूरत नहीं होती. मैनेजमेंट सर्वर को अन्य पोर्ट वैल्यू इस्तेमाल करने के लिए कॉन्फ़िगर किया जा सकता है. इसके लिए, सिर्फ़ यह ज़रूरी है कि आपका फ़ायरवॉल, तय किए गए पोर्ट पर ट्रैफ़िक की अनुमति देता हो.

यह पक्का करने के लिए कि मैनेजमेंट एपीआई से आने और जाने वाले ट्रैफ़िक को एन्क्रिप्ट (सुरक्षित) किया गया हो, /opt/apigee/customer/application/management-server.properties फ़ाइल में सेटिंग कॉन्फ़िगर करें.

TLS कॉन्फ़िगरेशन के अलावा, management-server.properties फ़ाइल में बदलाव करके, पासवर्ड की पुष्टि करने की सुविधा को भी कंट्रोल किया जा सकता है. जैसे, पासवर्ड की लंबाई और उसकी मज़बूती.

पक्का करें कि आपका टीएलएस पोर्ट खुला हो

इस सेक्शन में दी गई प्रोसेस, मैनेजमेंट सर्वर पर पोर्ट 8443 का इस्तेमाल करने के लिए टीएलएस को कॉन्फ़िगर करती है. आपने जिस भी पोर्ट का इस्तेमाल किया है, आपको यह पक्का करना होगा कि मैनेजमेंट सर्वर पर वह पोर्ट खुला हो. उदाहरण के लिए, इसे खोलने के लिए इस निर्देश का इस्तेमाल किया जा सकता है:

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8443 -j ACCEPT --verbose

टीएलएस को कॉन्फ़िगर करना

मैनेजमेंट एपीआई से आने और जाने वाले ट्रैफ़िक पर टीएलएस के इस्तेमाल को कंट्रोल करने के लिए, /opt/apigee/customer/application/management-server.properties फ़ाइल में बदलाव करें. अगर यह फ़ाइल मौजूद नहीं है, तो इसे बनाएं.

Management API के लिए टीएलएस ऐक्सेस कॉन्फ़िगर करने के लिए:

  1. कीस्टोर जेकेएस फ़ाइल जनरेट करें. इसमें आपका टीएलएस सर्टिफ़िकेट और निजी पासकोड शामिल होना चाहिए. ज़्यादा जानकारी के लिए, Edge On Premises के लिए टीएलएस/एसएसएल कॉन्फ़िगर करना देखें.
  2. कीस्टोर जेकेएस फ़ाइल को मैनेजमेंट सर्वर नोड की किसी डायरेक्ट्री में कॉपी करें, जैसे कि /opt/apigee/customer/application.
  3. जेकेएस फ़ाइल का मालिकाना हक "apigee" उपयोगकर्ता को दें:
    chown apigee:apigee keystore.jks

    जहां keystore.jks आपकी कीस्टोर फ़ाइल का नाम है.

  4. इन प्रॉपर्टी को सेट करने के लिए, /opt/apigee/customer/application/management-server.properties में बदलाव करें. अगर वह फ़ाइल मौजूद नहीं है, तो उसे बनाएं:
    conf_webserver_ssl.enabled=true
    # Leave conf_webserver_http.turn.off set to false
    # because many Edge internal calls use HTTP.
    conf_webserver_http.turn.off=false
    conf_webserver_ssl.port=8443
    conf_webserver_keystore.path=/opt/apigee/customer/application/keystore.jks
    # Enter the obfuscated keystore password below.
    conf_webserver_keystore.password=OBF:obfuscatedPassword

    यहां keyStore.jks आपकी कीस्टोर फ़ाइल है और obfuscatedPassword, कीस्टोर का छिपाया गया पासवर्ड है. छिपाए गए पासवर्ड को जनरेट करने के बारे में जानकारी पाने के लिए, Edge On Premises के लिए टीएलएस/एसएसएल कॉन्फ़िगर करना लेख पढ़ें.

  5. इस निर्देश का इस्तेमाल करके, Edge Management Server को रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

मैनेजमेंट एपीआई अब टीएलएस के ज़रिए ऐक्सेस किया जा सकता है.

Edge API को ऐक्सेस करने के लिए, TLS का इस्तेमाल करने के लिए New Edge यूज़र इंटरफ़ेस (यूआई) को कॉन्फ़िगर करें

ऊपर दी गई प्रोसेस में, Apigee ने conf_webserver_http.turn.off=false को छोड़ने का सुझाव दिया है, ताकि नया Edge यूज़र इंटरफ़ेस (यूआई), एचटीटीपी पर Edge एपीआई कॉल करना जारी रख सके.

सिर्फ़ एचटीटीपीएस पर ये कॉल करने के लिए, New Edge UI को कॉन्फ़िगर करने के लिए यह तरीका अपनाएं:

  1. ऊपर बताए गए तरीके से, मैनेजमेंट एपीआई के लिए टीएलएस ऐक्सेस कॉन्फ़िगर करें.
  2. मैनेजमेंट एपीआई के लिए टीएलएस के काम करने की पुष्टि करने के बाद, /opt/apigee/customer/application/management-server.properties में बदलाव करें, ताकि यह प्रॉपर्टी सेट की जा सके:
    conf_webserver_http.turn.off=true
  3. यह कमांड देकर, Edge Management Server को रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart 
  4. मैनेजमेंट सर्वर से एचटीटीपीएस के ज़रिए कनेक्ट करने के लिए, New Edge यूज़र इंटरफ़ेस (यूआई) कॉन्फ़िगरेशन को अपडेट करें. New Edge UI कॉन्फ़िगरेशन फ़ाइल में, यहां दी गई प्रॉपर्टी सेट करें:
    APIGEE_PORT_HTTP_MS=port
    MS_SCHEME=https

    यहां port वह पोर्ट है जिसे conf_webserver_ssl.port ने पहले तय किया था. उदाहरण के लिए, 8443.

  5. अपडेट किए गए कॉन्फ़िगरेशन को नए Edge यूज़र इंटरफ़ेस (यूआई) पर लागू करें:
    /opt/apigee/apigee-setup/bin/setup.sh -p ue -f configFile

    New Edge यूज़र इंटरफ़ेस (यूआई) की कॉन्फ़िगरेशन फ़ाइल के बारे में ज़्यादा जानकारी के लिए, New Edge यूज़र इंटरफ़ेस (यूआई) को कॉन्फ़िगर करना लेख पढ़ें. New Edge यूज़र इंटरफ़ेस (यूआई) के लिए एचटीटीपीएस ऐक्सेस कॉन्फ़िगर करने के लिए, New Edge यूज़र इंटरफ़ेस (यूआई) के लिए टीएलएस कॉन्फ़िगर करें लेख पढ़ें.

मैनेजमेंट सर्वर के लिए टीएलएस प्रॉपर्टी

नीचे दी गई टेबल में, TLS/SSL की उन सभी प्रॉपर्टी की सूची दी गई है जिन्हें management-server.properties में सेट किया जा सकता है:

प्रॉपर्टी ब्यौरा

conf_webserver_http.port=8080

डिफ़ॉल्ट रूप से, यह 8080 पर सेट होता है.

conf_webserver_ssl.enabled=false

टीएलएस/एसएसएल को चालू/बंद करने के लिए. टीएलएस/एसएसएल चालू होने पर (सही), आपको ssl.port और keystore.path प्रॉपर्टी भी सेट करनी होंगी.

conf_webserver_http.turn.off=true

एचटीटीपीएस के साथ-साथ एचटीटीपी को चालू या बंद करने के लिए. अगर आपको सिर्फ़ एचटीटीपीएस का इस्तेमाल करना है, तो डिफ़ॉल्ट वैल्यू को true पर सेट रहने दें.

conf_webserver_ssl.port=8443

TLS/एसएसएल पोर्ट.

TLS/एसएसएल चालू होने पर ज़रूरी है (conf_webserver_ssl.enabled=true).

conf_webserver_keystore.path=path

आपकी कीस्टोर फ़ाइल का पाथ.

TLS/एसएसएल चालू होने पर ज़रूरी है (conf_webserver_ssl.enabled=true).

conf_webserver_keystore.password=password

इस फ़ॉर्मैट में, अस्पष्ट किया गया पासवर्ड इस्तेमाल करें: OBF:xxxxxxxxxx

conf_webserver_cert.alias=alias

कीस्टोर सर्टिफ़िकेट का वैकल्पिक उपनाम

conf_webserver_keymanager.password=password

अगर आपके पास कुंजी मैनेजर का पासवर्ड है, तो पासवर्ड का छिपा हुआ वर्शन इस फ़ॉर्मैट में डालें:

OBF:xxxxxxxxxx

conf_webserver_trust.all=[false | true]

conf_webserver_trust.store.path=path

conf_webserver_trust.store.password=password

अपने ट्रस्ट स्टोर के लिए सेटिंग कॉन्फ़िगर करें. तय करें कि आपको सभी टीएलएस/एसएसएल सर्टिफ़िकेट स्वीकार करने हैं या नहीं. उदाहरण के लिए, नॉन-स्टैंडर्ड टाइप स्वीकार करने के लिए. डिफ़ॉल्ट रूप से, यह कार्रवाई false पर सेट रहती है. अपने ट्रस्ट स्टोर का पाथ दें. साथ ही, इस फ़ॉर्मैट में ट्रस्ट स्टोर का पासवर्ड डालें:

OBF:xxxxxxxxxx

conf_http_HTTPTransport.ssl.cipher.suites.blacklist=CIPHER_SUITE_1, CIPHER_SUITE_2

conf_http_HTTPTransport.ssl.cipher.suites.whitelist=

उन सिफ़र सुइट के बारे में बताएं जिन्हें आपको शामिल या बाहर करना है. उदाहरण के लिए, अगर आपको किसी साइफ़र में कोई जोखिम मिलता है, तो उसे यहां से हटाया जा सकता है. एक से ज़्यादा सिफ़र को कॉमा लगाकर अलग करें.

ब्लैकलिस्ट का इस्तेमाल करके हटाए गए किसी भी सिफ़र को, व्हाइटलिस्ट में शामिल किए गए किसी भी सिफ़र पर प्राथमिकता दी जाती है.

ध्यान दें: डिफ़ॉल्ट रूप से, अगर कोई ब्लैकलिस्ट या व्हाइटलिस्ट नहीं दी गई है, तो Java के इस रेगुलर एक्सप्रेशन से मेल खाने वाले सिफ़र डिफ़ॉल्ट रूप से बाहर रखे जाते हैं.

^.*_(MD5|SHA|SHA1)$
^TLS_RSA_.*$
^SSL_.*$
^.*_NULL_.*$
^.*_anon_.*$

हालांकि, अगर आपने ब्लैकलिस्ट तय की है, तो यह फ़िल्टर बदल जाता है. साथ ही, आपको सभी साइफ़र को अलग-अलग ब्लैकलिस्ट करना होगा.

साइफ़र सुइट और क्रिप्टोग्राफ़ी आर्किटेक्चर के बारे में जानकारी के लिए, JDK 8 के लिए Java Cryptography Architecture Oracle Providers Documentation देखें.

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

ऐसे पूर्णांक जो यह तय करते हैं:

  • कई क्लाइंट के लिए सेशन की जानकारी सेव करने के लिए, टीएलएस/एसएसएल सेशन की कैश मेमोरी का साइज़ (बाइट में).
  • यह कुकी, टीएलएस/एसएसएल सेशन के टाइम आउट होने से पहले, उनके चलने की अवधि तय करती है. यह अवधि मिलीसेकंड में होती है.