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

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

http://ms_IP:8080

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

https://ms_IP:8443

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

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

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

पक्का करें कि आपका TLS पोर्ट खुला हुआ है

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

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

TLS कॉन्फ़िगर करें

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

Management API में TLS के ऐक्सेस को कॉन्फ़िगर करने के लिए:

  1. कीस्टोर JKS फ़ाइल जनरेट करें, जिसमें आपका TLS सर्टिफ़िकेशन और निजी कुंजी हो. ज़्यादा जानकारी के लिए, Edge On Premises के लिए TLS/एसएसएल को कॉन्फ़िगर करना देखें.
  2. कीस्टोर JKS फ़ाइल को मैनेजमेंट सर्वर नोड जैसी किसी डायरेक्ट्री में कॉपी करें. जैसे, /opt/apigee/customer/application.
  3. JKS फ़ाइल का मालिकाना हक, "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 के लिए TLS/एसएसएल को कॉन्फ़िगर करना देखें.

  5. निर्देश देकर एज मैनेजमेंट सर्वर को रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

मैनेजमेंट एपीआई अब TLS पर ऐक्सेस देता है.

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

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

सिर्फ़ एचटीटीपीएस पर ये कॉल करने के लिए, Edge यूज़र इंटरफ़ेस (यूआई) को कॉन्फ़िगर करने के लिए नीचे दी गई प्रक्रिया का इस्तेमाल करें:

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

    मैनेजमेंट सर्वर के आपके सर्टिफ़िकेट पते के मुताबिक, जहां FQ_domain_name पूरा डोमेन नेम है और port वह पोर्ट है जिसके बारे में conf_webserver_ssl.port ने ऊपर बताया है.

    अगर ui.properties मौजूद न होने पर, बनाएं.

  5. अगर आपने ऊपर दिए गए मैनेजमेंट एपीआई के लिए TLS का ऐक्सेस कॉन्फ़िगर करते समय, खुद से हस्ताक्षर किए गए सर्टिफ़िकेट का इस्तेमाल नहीं किया है (इसका सुझाव नहीं दिया जाता), तो ui.properties में इस प्रॉपर्टी को जोड़ें:
    conf/application.conf+play.ws.ssl.loose.acceptAnyCertificate=true

    ऐसा न करने पर, Edge का यूज़र इंटरफ़ेस (यूआई) खुद ही हस्ताक्षर किए गए सर्टिफ़िकेट को अस्वीकार कर देगा.

  6. इस निर्देश को चलाकर, Edge यूज़र इंटरफ़ेस (यूआई) को रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

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

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

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

conf_webserver_http.port=8080

डिफ़ॉल्ट संख्या 8080 है.

conf_webserver_ssl.enabled=false

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

conf_webserver_http.turn.off=true

http के साथ-साथ http को चालू/बंद करने के लिए. अगर आपको सिर्फ़ एचटीटीपीएस का इस्तेमाल करना है, तो डिफ़ॉल्ट वैल्यू को 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

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

OBF:xxxxxxxxxx

conf_webserver_exclude.cipher.suites=CIPHER_SUITE_1 CIPHER_SUITE_2

conf_webserver_include.cipher.suites=

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

साइफ़र सुइट और क्रिप्टोग्राफ़ी आर्किटेक्चर के बारे में जानकारी पाने के लिए, JDK 8 के लिए Java क्रिप्टोग्राफ़ी आर्किटेक्चर ऑरकल प्रोवाइडर डॉक्यूमेंटेशन देखें.

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

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

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